操作系统调优
通过对物理机和虚拟机操作系统的调优,可以有效提升服务器性能。
物理机
通过修改GRUB参数进行物理机操作系统调优。
- 打开“/etc/grub2-efi.cfg”文件。
vi /etc/grub2-efi.cfg
- 按“i”进入编辑模式,在内核参数后增加以下IOMMU相关配置。
iommu.passthrough=1 pci=realloc kvm-arm.vgic_v4_enable=1 audit=0
kvm-arm.vgic_v4_enable=1只针对鲲鹏920新型号处理器。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重启物理机的操作系统,使配置生效。
虚拟机
在虚拟机操作系统上的调优,包括配置文件描述符限制、关闭Audit并配置大页以及网卡中断绑核优化。
- 配置扩展文件描述符。
- 打开“/etc/security/limits.conf”文件。
vi /etc/security/limits.conf
- 按“i”进入编辑模式,在文件中添加以下两行,建议将每个用户的软限制和硬限制文件描述符数量设置为102400,以避免在测试过程中可能出现软件最大打开文件数被限制在1024的情况,影响服务器性能。
* soft nofile 102400 * hard nofile 102400
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重启虚拟机的操作系统,使配置生效。
- 打开“/etc/security/limits.conf”文件。
- 关闭Audit并配置大页。
- 打开“/etc/grub2-efi.cfg”文件。
vi /etc/grub2-efi.cfg
- 按“i”进入编辑模式,在内核参数后增加如下大页配置。
audit=0
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重启虚拟机的操作系统,使配置生效。
- 打开“/etc/grub2-efi.cfg”文件。
- 网卡中断绑核优化。
- 创建一个名为irq.sh的Bash脚本文件,在脚本文件中写入以下内容,用于将网卡中断绑定到指定的CPU核上。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#!/bin/bash iface=$1 start_core=$2 end_core=$3 irq_list=(`cat /proc/interrupts |grep ${iface} | awk -F: '{print $1}'`) ncpu=$start_core for irq in ${irq_list[@]} do echo ${ncpu} > /proc/irq/${irq}/smp_affinity_list echo `cat /proc/irq/${irq}/smp_affinity_list` (( ncpu+=1 )) if (( ${ncpu} > $end_core )); then ncpu=$start_core fi done
中断绑核传入参数说明:
- iface:网卡中断名称,示例为virtio*-input和virtio*-output,其中*表示实际的网口队列名称序号,需根据实际环境修改。
网口队列名称序号可以通过如下命令查看:
cat /proc/interrupts
- start_core:中断绑定的开始CPU核编号,例如“0”,请根据实际需求修改。
- end_core:中断绑定的结束CPU核编号,例如“1”(当只有一个核心时),请根据实际环境修改。
- iface:网卡中断名称,示例为virtio*-input和virtio*-output,其中*表示实际的网口队列名称序号,需根据实际环境修改。
- 停止并禁用irqbalance服务。
systemctl stop irqbalance systemctl disable irqbalance
- 执行脚本。
- 创建一个名为irq.sh的Bash脚本文件,在脚本文件中写入以下内容,用于将网卡中断绑定到指定的CPU核上。
父主题: Nginx性能调优