操作系统调优
通过对物理机和虚拟机操作系统的调优,可以有效提升服务器性能。
物理机
在物理机操作系统上的调优,需要修改GRUB参数。
- 打开“/etc/grub2-efi.cfg”文件。
vi /etc/grub2-efi.cfg
- 按“i”进入编辑模式,在内核参数后增加以下IOMMU(Input/Output Memory Management Unit)相关配置。
iommu.passthrough=1 pci=realloc kvm-arm.vgic_v4_enable=1
kvm-arm.vgic_v4_enable=1只针对鲲鹏920新型号处理器。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重启物理机的操作系统,使配置生效。
虚拟机
在虚拟机操作系统上的调优,包括内存大页设置、使能cluster调度优化特性、网络性能和内存管理优化以及网卡队列数与中断绑核的优化。
- 在虚拟机配置内存大页。
- 打开“/etc/grub2-efi.cfg”文件。
vi /etc/grub2-efi.cfg
- 按“i”进入编辑模式,在内核参数后增加以下大页配置。
default_hugepagesz=2M hugepagesz=2M hugepages=12500
- 上述配置中,hugepages=12500是以内存为32GB的虚拟机规格为例。
- “hugepages”的值建议至少设置为虚拟机实际内存的75%。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重启虚拟机的操作系统,使配置生效。
- 打开“/etc/grub2-efi.cfg”文件。
- 使能cluster调度优化特性。
- 优化虚拟机操作系统的网络性能和内存管理,以及启用调度优化特性。
echo 8192 >/proc/sys/net/ipv4/tcp_max_syn_backlog echo 1024 >/proc/sys/net/core/somaxconn echo 16777216 >/proc/sys/net/core/rmem_max echo 16777216 >/proc/sys/net/core/wmem_max echo "4096 87380 16777216" >/proc/sys/net/ipv4/tcp_rmem echo "4096 65536 16777216" >/proc/sys/net/ipv4/tcp_wmem echo 360000 >/proc/sys/net/ipv4/tcp_max_syn_backlog echo 5 >/proc/sys/vm/dirty_ratio echo STEAL > /sys/kernel/debug/sched_features
- 网卡队列数与中断绑核优化。
将网卡队列数设置为1,并关闭irqbalance服务以避免中断在不同CPU核间的不均衡分配。
systemctl stop irqbalance systemctl disable irqbalance ethtool -L ens6 combined 1
队列数设置为1后,中断将默认使用1个核,因此无需执行额外的中断绑核操作。
父主题: MySQL性能调优