13.4. 启动和调优实时实例
部署和配置 Real-time Compute 节点后,您可以在这些节点上启动实时实例。您可以使用 CPU 固定、NUMA 拓扑过滤器和巨页进一步配置这些实时实例。
先决条件
-
overcloud 上存在
compute-realtime
类别,如部署 Real-time Compute 角色 中所述。
流程
启动实时实例:
# openstack server create --image <rhel> \ --flavor r1.small --nic net-id=<dpdk_net> test-rt
可选:验证实例是否使用分配的仿真程序线程:
# virsh dumpxml <instance_id> | grep vcpu -A1 <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='2' cpuset='5'/> <vcpupin vcpu='3' cpuset='7'/> <emulatorpin cpuset='0-1'/> <vcpusched vcpus='2-3' scheduler='fifo' priority='1'/> </cputune>
固定 CPU 并设置仿真程序线程策略
为确保每个 Real-time Compute 节点上有足够的 CPU 以用于实时工作负载,您需要将一个虚拟 CPU (vCPU)固定到主机上的物理 CPU (pCPU)。然后,该 vCPU 的仿真程序线程保持专用于该 pCPU。
将您的类别配置为使用专用的 CPU 策略。为此,请将 hw:cpu_policy
参数设置为 dedicated
on 类别。例如:
# openstack flavor set --property hw:cpu_policy=dedicated 99
确保您的资源配额有足够的 pCPU,供 Real-time Compute 节点使用。
优化网络配置
根据部署的需求,您可能需要在 network-environment.yaml
文件中设置参数,以便为某些实时工作负载调整网络。
若要查看为 OVS-DPDK 优化的示例配置,请参阅 网络功能虚拟化计划和配置指南中的配置 OVS-DPDK 参数部分。
配置巨页
建议将默认巨页大小设置为 1GB。否则,TLP 刷新可能会在 vCPU 执行中创建 jitter。有关使用巨页的常规信息,请参阅正在运行的 DPDK 应用程序 网页。
禁用性能监控单元(PMU)模拟
实例可以通过指定镜像或带有 vPMU 的类别来提供 PMU 指标。提供 PMU 指标引入了延迟。
当 NovaLibvirtCPUMode
设置为 host-passthrough
时,vPMU 默认为 enabled。
如果您不需要 PMU 指标,请在用于创建实例的镜像或类别中将 PMU 属性设置为"False"来禁用 vPMU 以减少延迟:
-
Image:
hw_pmu=False
-
类型:
hw:pmu=False