总结:鉴于硬件相同,Ubuntu在IOPS方面胜过Win2k3约50%。 Win2008R2最初的performance与Win2k3相同,但是它的性能逐渐提升,直到与Ubuntu相提并论(需要大约20-30秒的连续活动)。
问题:任何人都可以解释Win2008R2的行为?
详情:我只会提供我认为相关的细节,但是如果我错过了某些东西,可以打我更多。 我们有一个11x600GB SAS RAID5组的SAN。 一切都通过4Gbps光纤连接。 我创build了一个500GB的LUN,并与运行Win2k3Entx64的物理服务器共享。 我创build了另一个500GB LUN,并与运行ESXi的服务器共享。 我在ESXi中创build了一个Win2k3Entx64虚拟机,一个Ubuntu 10.04 x64和一个Win2008R2x64虚拟机。 物理Win2k3服务器性能比Win2k3虚拟机less了一些。 Ubuntu VM同时吸入了Win2k3服务器。 Win2008虚拟机的作用像Win2k3大约5-10秒,然后开始性能提升,直到它与Ubuntu服务器大致相同。
IOmeter设置和结果:32k 50%读取0%随机1在1.5GBtesting文件上工作。
Win2k3x64(物理):平均I / O响应(毫秒) – 1.0789每秒I / O总数 – 926.28
Win2k3x64(VM):平均I / O响应(毫秒) – 1.1786每秒总I / O – 847.81
Ubuntu(VM):平均I / O响应(毫秒) – .7849每秒总I / O – 1273.00
Win2008R2(VM)Intial:平均I / O响应(ms) – 1.0959每秒I / O总数 – 910.00
Win2008R2(VM)30秒:平均I / O响应(毫秒) – .8810每秒总I / O数 – 1133.66
你可能会说,切换到Linux! 我们一半的应用程序依赖于MS-SQL和Win2k3,所以它不是一个选项。 切换到2008年服务器可能是一个select,但不知道为什么我得到这些结果。
第2部分
一致是肯定的问题。 事实certificate,2008年和Ubuntu是自动alignment。 现在对于问题2.对于一个IOmeter工作进程,这是好的。 但是,虚拟机的性能比我添加的每个工人的物理性能都要差一些。 我已经添加了8个(每个CPU 1个),而且与物理服务器相比我又下降了50%。
我已经在Win2k3上尝试了4k,16k和64k的磁盘分配。 SCSI驱动程序是LSI Logic PCI-X Ultra 320 SCSI主机适配器(版本5.2.3790.3959)。 CPU使用率与物理服务器大致相同,所以它不是CPU资源问题。
你们解决了第一个问题,希望你也有一些build议。 谢谢
在我看来,你还没有alignmentWin2K3上的testing音量。 默认情况下,Win2K3不会alignment分区,所以MBR会导致偏移,从而导致跨越条带边界的写入操作受到惩罚。 Win2K8自动alignment1Meg,通常与大多数RAID条带边界相匹配。 最近的Ubuntu版本也自动alignment从1Meg偏移量开始的分区。
随着你的32K IO尺寸,你很可能会遇到很多RAID条带边界。 你看到的50%的惩罚比我见过的任何东西都高,但是确切的惩罚取决于你的RAID控制器的条带大小。
对于W2K8的加速行为我没有很好的解释。
我同意Helvick,2003年可能有alignment问题。 我怀疑2008年的盒子会随着时间的推移而使用更多的caching。 我会尽可能设置与VMware类似的IOPtesting:
每秒100,000个I / O操作,一个ESX主机