第 11 章 调优 Red Hat OpenStack Platform 环境
11.1. 固定仿真程序线程 复制链接链接已复制到粘贴板!
仿真程序线程处理虚拟机硬件模拟的中断请求和非阻塞进程。这些线程在客户机用来处理的 CPU 间的浮点点。如果用于轮询模式驱动程序(PMD)或这些客户机 CPU 上运行的实时处理线程,您可能会遇到数据包丢失或丢失期限。
您可以通过将线程固定到自己的客户机 CPU,从而将仿真程序线程与虚拟机处理任务分开,从而提高性能。
要提高性能,请为托管仿真程序线程保留主机 CPU 子集。
流程
使用为给定角色定义的
NovaComputeCpuSharedSet部署 overcloud。NovaComputeCpuSharedSet的值应用到该角色内主机的nova.conf文件中的cpu_shared_set参数。parameter_defaults: ComputeOvsDpdkParameters: NovaComputeCpuSharedSet: "0-1,16-17" NovaComputeCpuDedicatedSet: "2-15,18-31"parameter_defaults: ComputeOvsDpdkParameters: NovaComputeCpuSharedSet: "0-1,16-17" NovaComputeCpuDedicatedSet: "2-15,18-31"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个类别,以构建将仿真程序线程分隔到共享池中的实例。
openstack flavor create --ram <size_mb> --disk <size_gb> --vcpus <vcpus> <flavor>
openstack flavor create --ram <size_mb> --disk <size_gb> --vcpus <vcpus> <flavor>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加
hw:emulator_threads_policy额外规格,并将值设置为共享。使用此类别创建的实例将使用 nova.conf 文件中的cpu_share_set参数中定义的实例 CPU。openstack flavor set <flavor> --property hw:emulator_threads_policy=share
openstack flavor set <flavor> --property hw:emulator_threads_policy=shareCopy to Clipboard Copied! Toggle word wrap Toggle overflow
您必须在 nova.conf 文件中设置 cpu_share_set 参数,以便为这个额外规格启用共享策略。最好使用 heat,因为手动编辑 nova.conf 可能无法在重新部署后保留。
验证
识别给定实例的主机和名称。
openstack server show <instance_id>
openstack server show <instance_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 SSH 以 tripleo-admin 用户身份登录标识的主机。
ssh tripleo-admin@compute-1 [compute-1]$ sudo virsh dumpxml instance-00001 | grep `'emulatorpin cpuset'`
ssh tripleo-admin@compute-1 [compute-1]$ sudo virsh dumpxml instance-00001 | grep `'emulatorpin cpuset'`Copy to Clipboard Copied! Toggle word wrap Toggle overflow