测试VPP的性能和性能调优时,我查阅了VPP官网的相关资料,其中有一条让我有点意外。
对于虚拟化扩展功能,前面讲必须启用“英特尔虚拟化扩展”(用于VT-x)和VT-d(用于直接IO)以及DMA重新映射(DMAR)。VT-d启用PCIe直通所需的IOMMU虚拟化功能。此外,应启用中断重新映射,以便可以将硬件中断重新映射到VM以进行PCIe传递。
但是后面又说“建议禁用VT-d一致性支持以获得更高的性能”。
至于最后提到的Intel Sandy Bridge架构的CPU,如果需要高性能,则不建议使用Sandy Bridge(及更早版本)CPU。这里主要指英特尔32nm生产工艺的CPU,我们就不用管了。
先回顾一下,我前面测试虚拟机性能和CPU数量的文章(Win7任务管理器CPU性能引发的思考),结论是虚拟机性能和CPU数量成正比,但还没到线性的关系。上次测试VPP性能和配置的关系(奇葩的性能测试:VPP转发性能和主机配置的关系),我们发现随着配置的增长,转发性能并没有线性增长,就连增长这一趋势也不是很明显。但是经过配置调优之后(谁说2C4G的VPP性能差,IPsec性能5 Gbps也叫差?),转发性能才有轻微的增长。
那虚拟化扩展会不会影响VPP性能呢?我们今天来看一下。
首先服务器如果要调整虚拟化选项,要在服务器的BIOS中进行操作,也就是在服务器启动到下个页面时,按“F9”进入到“System Utilities”系统实用程序配置页面。
然后选择“系统配置”。
再选择“BIOS/平台配置(RBSU)”。
在“系统选项”下面,有两个可以配置的地方。
一个地方是“处理器选项”。
可以配置是否启用“Intel超线程”、禁用内核和x2APIC支持。x2APIC模式中,采用了MSR(Model-specific register)方式来读取APIC的寄存器,取消了内存映射方式,这样就不用担心内存地址的冲突问题了,建议启用。
另一个地方是“虚拟化选项”。
可以配置是否启用“虚拟化技术”、“Intel VT-d”和“SR-IOV”。
当然,还有一个地方就是“性能选项”的配置。
可以配置是否启用Intel睿频加速技术和ACPI SLIT,Intel睿频加速技术可以自动超频,建议启用;ACPI SLIT技术可以通过更有效地分配资源和工作负载来提高性能,建议启用。高级性能调节选项有点复杂了,我就不搞了,保持默认。
所以今天主要测试两个项目,一个是Intel超线程的启用对性能的影响,配置项位于“BIOS/平台配置(RBSU)→系统选项→处理器选项”;另一个是Intel VT-d的启用对性能的影响,配置项位于“BIOS/平台配置(RBSU)→系统选项→虚拟化选项”。
测试组网如下:
VPP主机的配置为4核vCPU@2.50 GHz(Intel(R) Xeon(R) CPU E5-2678 v3)、4 GB内存(DIMM DDR4@2133 MHz),主机网络适配器类型为VMXNET3。
开机后的资源使用情况如下所示:
先用PCA作为服务器,使用iperf3进行打流测试。
测得带宽为4.73 Gbps。然后用PCB作为服务器,再次进行测试。
测得带宽为4.77 Gbps。
开机后的资源使用情况如下所示:
先用PCA作为服务器,使用iperf3进行打流测试。
测得带宽为4.79 Gbps。然后用PCB作为服务器,再次进行测试。
测得带宽为4.83 Gbps。
开机后的资源使用情况如下所示:
先用PCA作为服务器,使用iperf3进行打流测试。
测得带宽为4.65 Gbps。然后用PCB作为服务器,再次进行测试。
测得带宽为4.78 Gbps。
开机后的资源使用情况如下所示:
先用PCA作为服务器,使用iperf3进行打流测试。
测得带宽为4.76 Gbps。然后用PCB作为服务器,再次进行测试。
测得带宽为4.80 Gbps。
简单汇总一下,8次测试的平均值为4.76 Gbps,最高的4.83 Gbps,仅高出平均值1.5 %;最低的4.65 Gbps,仅低于平均值2.3 %。最高值和最低值的差别也只有0.18 Gbps,差距只有3.9 %。
但是如果硬要比一下,可以看到最高的两个值都是禁用了VT-d的;而是否开启超线程,对性能影响不大。所以,VPP官网说的“建议禁用VT-d一致性支持以获得更高的性能”,基本上可以忽略吧。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/9913.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~