Обновлено, смотрите в нижней части длинного (извините) вопроса.
Глядя на нашу статистику memcached, я думаю, что нашел проблему, о которой раньше не знал. Кажется, что у нас странно много пустого места. Я проверил phpmemcacheadmin на предмет изменений и обнаружил, что это изображение смотрит на меня:
Теперь у меня сложилось впечатление, что в худшем случае будет 50% отходов, хотя я первый, кто признает, что не знает всех деталей. Я прочел, среди прочего, эту страницу, которая действительно несколько устарела, но также и наша версия memcached. Я думаю, что я понимаю, как работает система ( например ), я верю, но мне трудно понять, как мы можем получить до 76% потраченного впустую пространства.
Показатель выселения, который показывает phpmemcacheadmin 2 ev/s
, так что здесь есть некоторая проблема.
Основной вопрос: что я могу сделать, чтобы это исправить . Я мог бы бросить больше памяти (есть некоторые дополнительные доступные, я думаю), возможно, я должен возиться с конфигом slab (это вообще возможно в этой версии?), Может быть есть другие варианты? Обновление версии memcached не является доступной опцией.
Второй любопытный вопрос, из любопытства, это, конечно, если ожидается, что будет потрачено 75% (и все больше) потерянного пространства, и если да, то почему.
Система: В настоящее время я ничего не могу с этим поделать, я знаю, что версия memcached не самая новая, но это карты, которые мне сдали.
- Memcached 1.4.5
- Apache 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 МБ. Быстрый расчет, который я сделал (поправьте меня, если я ошибаюсь) был:
- предыдущий кусок имеет размер фрагмента 328, поэтому в худшем случае этот фрагмент заполнен фрагментами 329 байт.
- это означает, что он тратит 167 байт на использованный блок = 12942834 байт = 12,3 МБ
Так откуда же взялись остальные потраченные 105 МБ ? Рядом со старшим братом это выглядит так:
**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