我正在通过一些testing来运行它,以了解期望的性能。 在I / O端(使用RAID 10中的4个1TB磁盘),我得到:
write-cache disabled 200 MB/s read throughput 30 MB/s write throughput
我认为这是相当于我的桌面HD获得150-150左右真的很低。 所以我和他们聊天,他们build议启用写caching。 新的结果:
write-cache enabled 280 MB/s read 260 MB/s write
这是伟大的,但意味着我不得不增加一个BBU额外的每月费用。
如果您没有写入caching,写入吞吐量是RAID10上常规驱动器的四分之一是正常的吗? 它几乎感觉像是故意强迫你去BBU玩。 我会很高兴正常的150/150的非突袭性能。
更新:他们现在看看它是否有什么错误。 当这个8x下降会影响服务器的工作负载时,我会给他一个被接受的答案。 如果我有更多的数据将再次更新。 +1为其他答案。 谢谢。
更新2:看起来硬件有问题。 移动到具有相同规格的新机器,并获得80MB / s的写入而无需写回caching。 caching打开时为250MB /秒。 所以没有它的3倍下降和合理的吞吐量。
由于应用程序的性质,实际应用程序中的性能会有所不同。
asynchronous写入将进入RAM,而您有任何可用于写入缓冲。 很明显,写入RAM将比磁盘快得多。 这是大多数(所有)现代操作系统的默认设置。 如果你有足够的RAM写入,直到它们被刷新到磁盘上,那么所有的写入操作都会显得非常快。 虽然有一个时间段会导致数据丢失。 电池支持磁盘写入缓冲减less(但不完全消除)这段时间。
在写入返回之前,必须将同步写入提交到磁盘,并且速度要慢得多。 这是NFS和其他一些应用程序的默认模式。 对于同步写入,电池支持的磁盘写入缓冲大大增加了明显的写入性能,并消除了由于电源故障导致数据丢失的风险。 请注意,虽然写入仍然是易失性的内存,它只是被移动到磁盘PCB的内存而不是主内存。 ZFS已经通过使用SSD ZIL解决了这种不同的方式,SSD将提交给SSD并返回写入操作,然后将其移动到旋转磁盘。
所以你真的需要看看你的应用程序。 大部分写入是同步的还是asynchronous的? 对于asynchronous,你可以摆脱只有内存的gobs。 对于同步,您需要电池供电的写caching(但是ZFS可能会提供更便宜的解决scheme)。
无论如何,你需要写caching。
是的,你需要一个电池支持的caching单元。 写入速度通常很差,没有它 。 如果你的应用程序需要这种types的性能,你需要支付…
在RAID10情况下,即使没有写回caching,速度也很慢。
您尝试使用哪种工具来衡量? 我为此推荐Phoronix。
在RAID10 1TB SATA磁盘上,顺序写入应该至less为80-100MB /秒,随机写入不应低于50(当然也取决于并发性)