我已经设置了一个预生产的 ESXi 服务器,我想对我拥有的客户操作系统进行一些负载测试。
具体我感兴趣的是
- 磁盘访问,来宾操作系统是否会争夺磁盘访问,读写
- 来宾操作系统之间的处理器使用和共享
- 来宾操作系统之间的内存使用和共享
- 在来宾操作系统内的 SQL 服务器上加载
- 在来宾操作系统内的 Exchange 服务器上加载
我对这样的负载测试很陌生,所以我真的不知道该问什么?
我希望能够改变选项,因此我可以向 1000 个交换用户展示我们需要另一个 Exchange VM 创建的东西。
它们是标准基准吗?
从 linux 的角度来看,bonnie++ 用于磁盘基准测试/负载生成,而 cpuburn 用于 CPU 浪费。
不知道有什么好的内存抖动器,但是对于 VMware 来说,这无论如何都不是一个好主意,因为 vmware 假设虚拟机之间存在一定数量的内存重叠,并且故意打破该假设只会导致性能下降。
试试 VMWare 自己的 VMMark -从这里开始:它可能不像您要寻找的那样具体,但它是对底层硬件设置性能的一个很好的广泛衡量标准,以及它在负载增加的情况下如何扩展,这正是您正在寻找的为了。
如果您使用基于 *nix 的访客,请查看 unix bench。
http://www.hermit.org/Linux/Benchmarking/
理想情况下,您不会将客人放在需要大量磁盘 IO 的系统上。它们不是虚拟化的良好候选者。
内存和 CPU 使用可以通过资源组或每个 VM 级别轻松限制。
我发现对 mhz 和 ram 有限制,即使是高限制也可以阻止失控进程对其他虚拟机的影响很大。
“我希望能够改变选项,因此我可以向 1000 个交换用户展示我们需要另一个由 Exchange VM 创建的东西。”
将一个虚拟机加载到主机苦苦挣扎的程度并不能证明是蹲着的,因为底层硬件已经用尽了。你只是给自己一个上限,你可以在现有硬件上提供服务。
在 VMware 中,您应该注意磁盘读/写延迟。一旦您开始看到 500ms-1000ms+ 范围内的延迟数据,您就知道您开始大量使用磁盘。
您将使用直接附加存储或 NFS/iSCSI 盒吗?
将大量低负载服务器虚拟化到一个更大的机器中很有意义,尝试虚拟化负载较重的系统通常会导致性能比仅仅购买一个体面的专用机器更差。