已更新,请参阅冗长(抱歉)问题的底部。
查看我们的内存缓存统计信息,我认为我发现了一个以前未曾意识到的问题。看来我们有一个奇怪的大量浪费空间。我检查了phpmemcacheadmin的更改,发现该图像盯着我:
现在我给人的印象是,最糟糕的情况是浪费了50%,尽管我是第一个承认不知道所有细节的人。我已经阅读(除其他外)此页面确实有些旧,但是我们的memcached版本也是如此。我想我确实了解系统的工作原理(例如),但是我很难理解如何才能达到76%的浪费空间。
phpmemcacheadmin显示的逐出率为2 ev/s
,因此这里存在一些问题。
主要问题是:我该怎么做才能解决此问题。我可以为此增加更多的内存(我认为还有一些额外的可用空间),也许我应该摆弄平板配置(这个版本甚至可以吗?),也许还有其他选择吗?升级内存缓存版本不是一个快速可用的选项。
第二个问题是出于好奇,当然是,是否期望75%(并且还在不断增加)的浪费空间的比率是预期的,如果是这样,为什么。
系统:目前,这是我无能为力的事情,我知道内存缓存版本不是最新的,但是这些都是我所处理的。
- 内存缓存1.4.5
- 阿帕奇2.2.17
- PHP 5.3.5
作为对@DavidSchwartz答案的回应:这是phpmemcacheadmin生成的平板统计信息:(比这些更多的平板)
更新
我用-f 1.5重新启动了守护程序,它看起来真的很好。经过一番变暖,我们浪费了50/50。但是,与以前一样,我们一天的时间越长(一天中变得越来越忙),它开始回落到当前的水平:30/70,而浪费仍然在增加。除此之外,我仍然不知道“浪费”的来源。我看到这个平板:
**Slab 5 Stats**
Chunk Size 496.0 Bytes
Used Chunk 77502 [24.6 %]
Total Chunk 314986
Total Page 149
Wasted 117.3 MBytes
Hits 30.9 Request/sec
Evicted 0
它不完整,没有被逐出,但是浪费了117.3 MB。我所做的快速计算(如果我错了,请纠正我)是:
- 前一个平板的块大小为328,因此最坏的情况是此平板上装有329字节的块。
- 这意味着每个使用的块浪费167个字节= 12942834字节= 12.3 MB
那么,其他105 MB的浪费是从哪里来的呢?它旁边的一个大哥哥看起来像这样:
**Slab 6 Stats**
Chunk Size 744.0 Bytes
Used Chunk 17488 [31.0 %]
Total Chunk 56360
Total Page 40
Wasted 31.1 MBytes
Hits 107.7 Request/sec
Evicted 1109