码迷,mamicode.com
首页 > 其他好文 > 详细

KVM 性能调优

时间:2014-12-17 12:46:25      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:style   http   ar   io   color   os   sp   for   on   

CPU Tuning

Cache share tuning

      对于物理 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 中。

<vcpu placement=‘static‘ cpuset=‘0-5‘>1</vcpu>       # cpuset 限定 vcpu

NUMA tuning

    网易运维团队测试得出:2 个 vcpu 分别绑定到不同 numa 节点的非超线程核上和分配到一对相邻的超线程核上的性能相差有 30%~40%(通过 SPEC CPU2006 工具测试)。可见,同一个虚拟机的 vcpu 需限定在同一个 NUMA 节点,并且分配该 NUMA 节点下的内存给虚拟机,保证虚拟机尽可能访问 local memory 而非 remote memory。

 <domain>
  ...
  <numatune>
    <memory mode="strict" placement="static"/>   # placement 为auto 时,只能分配 numad 查询得出的内存
    ...
  </numatune>
  ...
</domain>

IRQ tuning

    CPU0 常用于处理中断请求,本身负荷较重。多数物理机默认 CPU0 完全处理 eth0 的 IRQ,eth1 的 IRQ 完全由另一个 CPU 处理,同时 CPU0 处理着大量的 CAL 类型中断。预留 2 个或者 4 个物理 CPU,这些 CPU 和对应网卡中断做绑定,使得其它 CPU 更好更完整的为云主机所用。  

Disk IO Tuning

Disk IO cache Tuning

    kvm 支持多种虚拟机多种 IO Cache 方式:writeback, none, writethrough 等。性能上:writeback > none > writethrough,安全上 writeback < none < writethrough。

<disk type=‘file‘ device=‘disk‘>
  <driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>  # cache 可为 writeback, none, writethrough,directsync,unsafe 等
  ...
</disk>

bubuko.com,布布扣                  bubuko.com,布布扣

Disk IO scheduler

cfq 参数调优。

Memory Tuning

关于 zone_reclaim_mode, disable 掉。

/etc/sysctl.conf 
vm.zone_reclaim_mode=0
sysctl -p

关于 swappiness 参数,若 CPU 为 Intel Nehalem 架构,需要配置为 0 ,否则不做修改。

关闭 KVM 内存共享,打开透明大页,能带来 7% 左右性能提升。 

echo 0 > /sys/kernel/mm/ksm/pages_shared
echo 0 > /sys/kernel/mm/ksm/pages_sharing
echo always > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag

Network IO Tuning

开启 vhost_net 模式。  


参考资料
Tuning KVM for performance
libvirt CPU Tuning
Virtualization Tuning and Optimization Guide
网易 openstack 运维

KVM 性能调优

标签:style   http   ar   io   color   os   sp   for   on   

原文地址:http://blog.csdn.net/wsfdl/article/details/41980055

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!