Mis à jour, voir en bas de la longue question (désolé).
En regardant nos statistiques memcached, je pense avoir trouvé un problème dont je n'étais pas au courant auparavant. Il semble que nous ayons étrangement beaucoup d'espace perdu. J'ai vérifié avec phpmemcacheadmin pour un changement et j'ai trouvé cette image me fixant:
Maintenant, j'avais l'impression que le pire des cas serait qu'il y ait 50% de déchets, bien que je sois le premier à admettre ne pas connaître tous les détails. J'ai lu - entre autres - cette page qui est en effet un peu ancienne, mais notre version de memcached aussi. Je pense que je comprends le fonctionnement du système ( par exemple ), je crois, mais j'ai du mal à comprendre comment nous pourrions atteindre 76% d'espace perdu.
Le taux d'expulsion que phpmemcacheadmin montre est 2 ev/s
donc il y a un problème ici.
La question principale est: que puis-je faire pour résoudre ce problème . Je pourrais y ajouter plus de mémoire (il y en a de plus, je pense), peut-être que je devrais jouer avec la configuration de la dalle (est-ce même possible avec cette version?), Peut-être qu'il y a d'autres options? La mise à niveau de la version memcached n'est pas une option rapidement disponible.
La question secondaire, par curiosité, est bien sûr de savoir si le taux de gaspillage de 75% (et en augmentation) est attendu, et si oui, pourquoi.
Système: Je ne peux rien faire pour le moment, je sais que la version memcached n'est pas la plus récente, mais ce sont les cartes qui m'ont été distribuées.
- Memcached 1.4.5
- Apache 2.2.17
- PHP 5.3.5
En réponse à la réponse de @DavidSchwartz: voici les statistiques des dalles produites par phpmemcacheadmin: (il y a plus de dalles que celles-ci)
( J'ai également collé des statistiques un peu plus tard au format texte ici )
MISE À JOUR
J'ai redémarré le démon avec -f 1.5, et ça avait l'air vraiment bien. Après un peu de réchauffement, nous avons eu une utilisation / gaspillage de 50/50. Mais, comme avant, plus nous avions de temps dans la journée (cela devient plus occupé pendant la journée), il a commencé à retomber à ce qu'il est actuellement: 30/70, et le gaspillage continue d'augmenter. En dehors de cela, je ne sais toujours pas d'où vient le «gaspillage». Je vois cette dalle:
**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
Il n'est pas plein, il n'a pas été expulsé, mais il gaspille 117,3 Mo. Le calcul rapide que j'ai fait (corrigez-moi si je me trompe) était:
- la dalle précédente a une taille de bloc de 328, dans le pire des cas, cette dalle est remplie de blocs de 329 octets.
- cela signifie qu'il gaspille 167 octets par bloc utilisé = 12942834 octets = 12,3 Mo
Alors d'où viennent les autres 105 Mo gaspillés ? C'est un grand frère juste à côté, il ressemble à ceci:
**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