• 1
提升vSphere性能的11项技术

提升vSphere性能可能和移除不必要的虚拟机限制一样简单,也可能和重构存储LUN序列一样复杂。

VMware的高级系统工程师以及性能专家Niran Even Chen在VMUG 2013大会的演讲中分享了有关vSphere性能的一些最佳实践。当vSphere性能没有达到预期或者想通过升级获得最佳效益时,可以参考这些最佳实践。

1. 不要设置关联规则

VMware vSphere将在可用的服务器上为虚拟机部署选择最佳的路径。在测试或者对服务器故障进行诊断时,关联规则能够发挥用武之地。

2. 不要设置资源限制

和资源预留或者资源共享相反,即使需要使用而且资源是可用的,资源限制都将阻止虚拟机使用更多的资源。即使你不是有意设置资源限制,但在模板克隆中存在的bug可能会导致这类问题出现。如果性能低下和人为因素有关,那么请检查资源限制并移除该限制。

3. 升级硬件

比较新的硬件能够感知虚拟化,反之亦然。例如,使用Intel的处理器,你可以打开Intel的超级线程同步多线程芯片技术。VMware vSphere能够使用Hyper-V超线程在相同的时间内调度更多的进程。

4. 了解vSphere的CPU调度器

使用松散的共同调度机制,CPU调度器同时只调度虚拟机的部分CPU。和之前的CPU调度技术相比,CPU调度器对延迟有明显的影响。

5. 减少虚拟机

即使是空闲的vCPU也会使用物理CPU资源,这浪费了CPU的指令周期。使用vCenter Operations Manager(vCOps)报表,esxtop并查看vCOps的CPU就绪值以及CO-STOP值。如果vCPU在等待使用物理CPU,那么就绪时间参数将会体现出来,如果应用不知道如何消耗所有已分配的虚拟资源,那么CO-STOP参数将会体现出来。

6. 不要过度分配活动内存

这将会导致大量的内存数据交换到磁盘中。这是vSphere最不想使用的内存管理技术。

7. 尽可能在非一致性内存访问(NUMA)模型中设置应用程序

某些应用程序能够感知NUMA;其他不能。例如SQL能够自动感知NUMA,但是Oracle默认关闭了NUMA感知。因此使用Oracle时在NUMA模型内设置虚拟机更为重要。VMware vMUMA允许客户操作系统洞察NUMA架构并将CPU的性能提升5%到10%,在特定条件下能够达到30%。vCPU数量超过8颗时将自动开启内存管理特性。

8. 使用VMXNET3

该高性能虚拟网卡能够节省高网络负载虚拟机的CPU功耗,并减少网络延迟。建议你广泛采用这一最佳实践。

9. 如果虚拟机负载对网络敏感,那么要在主机的网卡上关闭增强中断结合

增强中断结合也称为中断调节,是为了保护主机CPU遇到太多的中断并简化包处理过程。但是在特定条件下可能会增加延迟,因为有新的数据包时才会通知主机。

10. 检查应用延迟;应用延迟应该为0

如果网络延迟没有导致性能问题,那么通过检查数据包传输可以判断延迟是否来自于应用。

11. 与存储管理员协作整合存储LUN的序列

当多个虚拟机试图同时向hypervisor发送I/O时性能可能会遇到问题,产生I/O搅拌机效应。

来源:51cto.com