标签:style http ar io color os sp for on
对于物理 CPU,同一个 core 的 threads 共享 L2 Cache,同一个 socket 的 cores 共享 L3 cache,所以虚拟机的 vcpu 应当尽可能在同一个 core 和 同一个 socket 中,增加 cache 的命中率,从而提高性能。IBM 测试过,合理绑定 vcpu 能给 JVM 来的 16% 的性能提升。
实现策略:虚拟机 vcpu 尽可能限定在一个 core 或者一个 socket 中。例如:当 vcpu 为 2 时,2 个 vcpu 应限定在同一个 core 中,当 vcpu 大于 2 小于 12 时,应限定在同一个 socket 中。
网易运维团队测试得出:2 个 vcpu 分别绑定到不同 numa 节点的非超线程核上和分配到一对相邻的超线程核上的性能相差有 30%~40%(通过 SPEC CPU2006 工具测试)。可见,同一个虚拟机的 vcpu 需限定在同一个 NUMA 节点,并且分配该 NUMA 节点下的内存给虚拟机,保证虚拟机尽可能访问 local memory 而非 remote memory。
CPU0 常用于处理中断请求,本身负荷较重。多数物理机默认 CPU0 完全处理 eth0 的 IRQ,eth1 的 IRQ 完全由另一个 CPU 处理,同时 CPU0 处理着大量的 CAL 类型中断。预留 2 个或者 4 个物理 CPU,这些 CPU 和对应网卡中断做绑定,使得其它 CPU 更好更完整的为云主机所用。
kvm 支持多种虚拟机多种 IO Cache 方式:writeback, none, writethrough 等。性能上:writeback > none > writethrough,安全上 writeback < none < writethrough。
cfq 参数调优。
关于 zone_reclaim_mode, disable 掉。
关于 swappiness 参数,若 CPU 为 Intel Nehalem 架构,需要配置为 0 ,否则不做修改。
关闭 KVM 内存共享,打开透明大页,能带来 7% 左右性能提升。
开启 vhost_net 模式。
参考资料
Tuning
KVM for performance
libvirt CPU Tuning
Virtualization
Tuning and Optimization Guide
网易 openstack 运维
标签:style http ar io color os sp for on
原文地址:http://blog.csdn.net/wsfdl/article/details/41980055