我有一台运行 Ubuntu 12.04 LTS 的 KVM 主机服务器,基本安装仅安装了 KVM。该服务器有一个 8 核 Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz CPU,32GB RAM 和 SATA 控制器:Intel Corporation 6 系列/C200 系列芯片组系列 SATA AHCI 控制器(修订版 05)。mdraid 1 中安装了两个物理磁盘。我使用 LVM 分区作为 /、/var、swap。
我正在寻求有关在此主机配置上优化 KVM 客户机磁盘性能的建议。我的客户机正在运行 Ubuntu 12.04 LTS。一个客户机运行 CrashPlan PROe Master(不是存储)服务器(http://www.crashplan.com/enterprise/)。CrashPlan PROe Server 使用一个数据库,该数据库在我们的 CrashPlan 拓扑和负载下被非常密集地读取/写入。因此,日志审查表明事务正在等待,从而导致性能下降。
我当前的访客参数包括:
- 存储格式:RAW
- 磁盘总线:SATA
- 缓存模式:无
- IO 模式:默认
- 内存分配:8192 MB
- CPU 分配:4
有人可以建议主机或客户机配置的最佳实践,以优化 KVM 客户机磁盘 IO 性能,特别是随机读/写(数据库)的性能吗?
答案1
我强烈建议你尝试缓存=写回
使用最近的操作系统作为客户机时它将同样安全(如果不是更好的话)但通常比 cache=none 快得多。
我过去做过一些测试,你可以在这里阅读更多内容:http://www.ilsistemista.net/index.php/virtualization/43-kvm-scalability-and-consolidation-ratio-cache-none-vs-cache-writeback.html
附注:请务必使用 VirtIO 驱动程序来充分利用您的 HDD。
答案2
除非您已经在使用 SSD,否则您的双磁盘 RAID1 配置将极大地限制随机 IO。您需要在 RAID10 或某些 SSD 等配置中使用更多磁盘主轴,以获得更高的性能。
您还应该使用 VIRTIO 作为所有客户机上的存储接口。