Atualizado, consulte o final da pergunta longa (desculpe).
Analisando nossas estatísticas armazenadas em cache, acho que encontrei um problema do qual não tinha conhecimento antes. Parece que temos uma quantidade estranhamente alta de espaço desperdiçado. Verifiquei com o phpmemcacheadmin uma alteração e encontrei esta imagem olhando para mim:
Agora, eu tinha a impressão de que o pior cenário seria que haja 50% de desperdício, embora eu seja o primeiro a admitir que não conhecia todos os detalhes. Eu li - entre outros - esta página que é realmente um pouco antiga, mas também é a nossa versão do memcached. Eu acho que entendo como o sistema funciona ( por exemplo ) eu acredito, mas tenho dificuldade em entender como poderíamos obter 76% de espaço desperdiçado.
A taxa de despejo que o phpmemcacheadmin mostra é 2 ev/s
, então há algum problema aqui.
A questão principal é: o que posso fazer para corrigir isso . Eu poderia jogar mais memória nele (acho que há algum extra disponível), talvez eu deva mexer na configuração da laje (isso é possível com esta versão?), Talvez haja outras opções? Atualizar a versão do memcached não é uma opção disponível rapidamente.
A questão da segunda questão, por curiosidade, é obviamente se se espera uma taxa de 75% (e aumento) de espaço desperdiçado e, em caso afirmativo, por quê.
Sistema: No momento, não é algo que eu possa fazer, sei que a versão em cache do memcached não é a mais recente, mas essas são as cartas que recebi.
- Memcached 1.4.5
- Apache 2.2.17
- PHP 5.3.5
Como resposta à resposta de @DavidSchwartz: aqui estão as estatísticas de laje que phpmemcacheadmin produz: (existem mais lajes entre elas do que estas)
( Também colei as estatísticas um pouco mais tarde, em formato de texto aqui )
ATUALIZAR
Reiniciei o daemon com -f 1.5 e ele parecia muito bom. Após um certo aquecimento, tivemos um gasto / desperdício de 50/50. Mas, da mesma forma que antes, quanto mais tempo tínhamos no dia (fica mais movimentado durante o dia), ele começa a voltar ao que é atualmente: 30/70 e desperdiçado ainda está aumentando. Além disso, ainda não sei de onde vem o 'desperdício'. Eu vejo esta laje:
**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
Não está cheio, não foi despejado, mas está desperdiçando 117,3 MBytes. O cálculo rápido que fiz (corrija-me se estiver errado) foi:
- a laje anterior tem um tamanho de pedaço de 328, portanto, na pior das hipóteses, essa laje é preenchida com pedaços de 329 bytes.
- isso significa que está desperdiçando 167 bytes por pedaço usado = 12942834 bytes = 12,3 MB
Então, de onde vieram os outros 105 MB desperdiçados ? É o irmão maior bem ao lado, fica assim:
**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