Declaração de direitos autorais: Você pode reimprimir à vontade Ao reimprimir, certifique-se de indicar a fonte original e as informações do autor do artigo e esta declaração de direitos autorais na forma de um hiperlink.
http://www.chedong.com/blog/archives/001431.html
Tente:
A opção de compactação MEMCACHE_COMPRESSED na função PHPmemcache_set() está habilitada e memcache_get() pode descompactar automaticamente o objeto de cache compactado durante leituras subsequentes.
Efeito:
Após testes, para o aplicativo atual do Blog Bus, após habilitar a compactação, o número de objetos armazenados na mesma capacidade (2G) dobrou aproximadamente e a taxa de acertos do cache aumentou de cerca de 50% para cerca de 60%.
do
cache foi finalmente aumentada para 90%;
Se vale a pena aumentar o desempenho de 60% para 90% ou de 90% para 95% depende se a melhoria de desempenho após o acerto vale a pena;
Premissa 1: MemCached está cheio para verificar as estatísticas de capacidade; memcached para ver se o memcached está cheio. Não é que já esteja cheio. Se o espaço do MemCached não estiver cheio quando ele estiver em execução total, não faz sentido ativar a compactação. Além disso: se você descobrir que o MemCached não está cheio, é melhor reduzir a capacidade do MemCached correspondente para liberar mais memória para outros; serviços para cache;
Premissa 2: Taxa de compactação Os dados armazenados em cache podem realmente ser maiores que algumas centenas de bytes. Se todos forem pares de valores-chave menores que 100 bytes, a compactação poderá realmente causar expansão. Como o tamanho dos objetos de cache é armazenado em blocos de tamanho fixo no Memcached, o tamanho mínimo é 88 B. Portanto, a compactação e a expansão causadas por dados muito pequenos não são um grande problema para
a perda de CPU do aplicativo front-end:
A perda de CPU da compactação adicional de dados é muito menor do que a melhoria de desempenho trazida pelo aumento na taxa de acertos do cache e pela redução do acesso ao banco de dados em segundo plano. É semelhante à compactação gzip/deflate do http. Os dados compactados são geralmente cerca de 30% da compactação gzip/deflate do http. o tamanho original dos dados, economizando 70% do consumo de desempenho de transmissão, será maior do que a perda de desempenho causada pela compactação de arquivos.
O seguinte é a distribuição do bloco de dados de um MemCached após a compactação ser habilitada:
# Item_Size Max_age 1MB_pages Contagem completa?
1 104 B 342694 s 60 604918 sim<==A distribuição majoritária mínima original parece estar um pouco inflada em 88 B
2 136 B 344213 s 39 300690 sim
3 176 B 324647 s 145 863765 sim
4 224 B 347049 s 52 243412 sim
5 280 B 332911 s 47 175968 sim
6 352 B 257080 s 114 339491 sim
7 440 B 330976 s 39 92934 sim
8 552 B 310225 s 51 96849 sim
9 696 B 305251 s 68 102407 sim
10 872 B 298607 s 74 88947 sim
11 1,1 kB 276463 s 70 66919 sim
12 1,3 kB 279819 s 79 60198 sim
13 1,7 kB 293690 s 97 59073 sim
14 2,1 kB 304436 s 116 56492 sim
15 2,6 kB 298020 s 102 39576 sim
16 3,3 kB 324546 s 100 31000 sim
17 4,1 kB 321757 s 97 24056 sim
18 5,2 kB 320132 s 91 18018 sim
19 6,4 kB 332232 s 89 14062 sim
20 8,1 kB 330696 s 81 10287 sim
21 10,1 kB 329582 s 76 7676 sim
22 12,6 kB 337278 s 72 5832 sim
23 15,8 kB 348626 s 66 4224 sim
24 19,7 kB 345881 s 56 2856 sim
25 24,6 kB 345825 s 44 1804 sim
26 30,8 kB 333460 s 31 1023 sim
27 38,5 kB 335782 s 22 572 sim
28 48,1 kB 302109 s 17 357 sim
29 60,2 kB 358674 s 18 306 sim
30 75,2 kB 396573 s 17 221 sim
31 94,0 kB 431605 s 11 110 sim
32 117,5 kB 418652 s 7 56 sim
33 146,9 kB 408422 s 3 17 não
34 183,6 kB 277529 s 2 7 não
35 229,5 kB 139156 s 1 3 não
36 286,9 kB 232221 s 1 1 não
37 358,6 kB 1059 s 3 6 sim