我有一台ESXi 5.5服务器,在本地数据存储上遇到了很高的写入延迟。
此数据存储位于由RAID卡(RAID 1上的两个SATA磁盘)提供的虚拟磁盘上。
当我复制大文件时,完成传输需要很长时间,写入延迟平均为84ms! 这太多了。
我知道RAID 1并没有提高写入速度,顺便说一句。
所以我试图找出瓶颈在哪里。 难道是RAID卡吗? (PCI-e 8x,100%硬件)。 这可能是一个碎片问题? (在VMFS上不太可能)。
如果您已经在本地数据存储上遇到高延迟,我想获得您的反馈。 谢谢 :)
SImply说你的问题是:
(RAID 1上的两个SATA磁盘)。
把它变成你喜欢的样子,但是有两个可能非常慢的光盘是2个非常慢的光盘,除了重caching之外没有其他的东西可以解决它。 你有一个小的IOPS预算在那里,唯一可以解决的是有一个更大的瘦。
例如 – 使用8-10光盘的Raid 10会给你更多的IOPS。 使用能源RAID控制器(如Adaptec 71605Q),并将多个SSD作为透明使用的caching将解决写入问题。 我经常以500mb / s的速度将文件复制到Raid 6。
但是,你的问题是,2个不是很快(即最大7200转)的SATA光盘就是这样,你似乎没有其他硬件来缓解这一点。
如果你的客户是一个Linux,你可以说他让很多agressiver写caching,这有助于很多处理这种写延迟。 写入caching刷新间隔的默认5或30秒来自文件系统/虚拟机开发者的梦想,他们从来不需要debugging源自某些硬件问题的神秘问题,而他们的代码是可以的。
下面的sysctl设置使你更好的平衡写操作:
vm.dirty_background_ratio = 20 vm.dirty_expire_centisecs = 360000 vm.dirty_writeback_centisecs = 360000
(其他操作系统(包括esxi)也有同样的问题,但是在那里你不能简单地改变vm写回参数。)