我们的SAN有问题,我们一直在监测它的性能。引起我们极大恐慌的一个指标是主写缓存命中率。具体而言,什么比例会被认为是有问题的?
我们聘请了两名顾问,并与供应商进行了交谈,他们都给出了不同的数字。
发布于 2014-08-18 13:46:20
你的问题很难回答,因为你缺少一些细节。
但是,我通常会说-写缓存命中率应该是100%,或者尽可能接近它。如果你考虑一下,旋转磁盘要比处理器和内存慢。特别是当您包含RAID时,您可能需要计算奇偶校验和多次写入。
我们称之为“写惩罚”-为了编写RAID 5,您需要:
因此,每写一次就需要4次写惩罚。(RAID 6必须做类似的操作,但因为存在双重奇偶,所以写入惩罚为6)。
这将您糟糕的性能SATA驱动器变成了非常糟糕的性能。但有几个技巧你可以用。通过合并写入,您可以减少从磁盘中读取的需要--如果您可以组装一个完整的条带,则根本不需要费心阅读,因为您拥有计算奇偶校验所需的一切。所以你的书写惩罚大大降低了。
在4+1 RAID 5上,每4次写5次IO,给出1.25的写惩罚--这实际上比RAID 1好,前提是你可以“完全条形写”每一个IO。这对于诸如日记账或事务日志之类的连续写入特别好,但是对于“一般用途”的使用,您并不总是有这种理想的场景。
同样-写IOs也可以推迟。大多数IO模式都是“突发”的--我们现在想要快速响应,但我们的平均水平很低。例如,当您保存一个文件时,您希望将所有文件写入磁盘,而不希望等待太久。但是一旦你完成了储蓄,你就不需要再写一段时间了。
因此,我们使用写缓存-平衡‘突发’,给出真正快速的初始响应,为相同的吞吐量,并消除我们的RAID低效率。考虑到这一点,写缓存的命中率应该很高。100%是理想的目标。
任何更少的意味着您的传入写入太快--平均来说--对于您的磁盘。一旦写缓存满了,传入的IOs就必须被“持有”,这意味着延迟和系统性能都很差,因为您失去了从全条写入中提高效率的能力,并且您必须立即在传入的写时支付写代价。
(在某些IOs绕过写缓存的情况下,可能会有有限的例外情况,但通常是这样的)。
https://stackoverflow.com/questions/25313752
复制相似问题