【发布时间】:2022-08-07 22:07:48
【问题描述】:
我目前正在阅读 Brendan Gregg 的第二版系统性能,并且对第 2 章中关于缓存的部分有疑问。这部分将缓存命中率定义为
hit ratio = hits / (hits + misses)
它继续说缓存命中率和“性能”(对于系统性能的一些假设度量)之间的关系是非线性的。具体来说,
98% 和 99% 之间的性能差异远大于 10% 和 11% 之间的性能差异。这是一个非线性配置文件,因为缓存命中和未命中之间的速度差异 - 两个存储层在起作用。差异越大,斜率变得越陡。
我不太明白这种关系中的非线性从何而来。为了向自己解释这一点,我编造了以下示例。考虑以下情况,我们通过某个函数
f对性能进行建模,其中f的值越低表示性能越好。f(hit) = 10 f(miss) = 100即未命中比命中要贵 10 倍。假设命中率为 0,该系统的“预期”性能将为
(0*10) + (1*100) = 100。 0.01 的命中率(1% 的命中)产生(.01*10)+(.99*100) = 99.1。最后,0.02 的命中率(2% 的命中率)产生(.02*10) + (.98*100) = 98.2。 AFAICT,这是一个线性关系。我错过了什么?谢谢
标签: performance math caching system