首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAN上有问题的主要写缓存命中率是多少?

SAN上有问题的主要写缓存命中率是多少?
EN

Stack Overflow用户
提问于 2014-08-14 17:12:07
回答 1查看 1.4K关注 0票数 0

我们的SAN有问题,我们一直在监测它的性能。引起我们极大恐慌的一个指标是主写缓存命中率。具体而言,什么比例会被认为是有问题的?

我们聘请了两名顾问,并与供应商进行了交谈,他们都给出了不同的数字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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绕过写缓存的情况下,可能会有有限的例外情况,但通常是这样的)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25313752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档