Aktualisiert, siehe unter der längsten (sorry) Frage.
Wenn ich mir unsere gespeicherten Statistiken ansehe, denke ich, dass ich ein Problem gefunden habe, von dem ich vorher nichts wusste. Es scheint, dass wir eine seltsam hohe Menge an verschwendetem Platz haben. Ich habe mich zur Abwechslung bei phpmemcacheadmin erkundigt und festgestellt, dass dieses Bild mich anstarrt:
Jetzt hatte ich den Eindruck, dass im schlimmsten Fall 50% Abfall anfallen, obwohl ich als Erster zugebe, nicht alle Details zu kennen. Ich habe unter anderem diese Seite gelesen, die zwar etwas alt ist, aber auch unsere Version von memcached. Ich glaube, ich verstehe, wie das System funktioniert ( z. B. ), aber es fällt mir schwer, zu verstehen, wie wir 76% verschwendeten Speicherplatz erreichen können.
Die Räumungsrate, die phpmemcacheadmin anzeigt, ist 2 ev/s
, daher gibt es hier ein Problem.
Die primäre Frage ist: Was kann ich dieses Problem beheben tun . Ich könnte mehr Speicher darauf werfen (ich denke, es ist einiges mehr verfügbar), vielleicht sollte ich mit der Plattenkonfiguration experimentieren (ist das mit dieser Version überhaupt möglich?), Vielleicht gibt es noch andere Optionen? Das Aktualisieren der zwischengespeicherten Version ist keine schnell verfügbare Option.
Aus Neugier stellt sich natürlich die Frage, ob und warum eine Verschwendung von 75% (und mehr) Platz zu erwarten ist.
System: Gegen dieses Problem kann ich derzeit nichts unternehmen. Ich weiß, dass die zwischengespeicherte Version nicht die neueste ist, aber das sind die Karten, die mir ausgeteilt wurden.
- Memcached 1.4.5
- Apache 2.2.17
- PHP 5.3.5
Als Antwort auf die Antwort von @DavidSchwartz: Hier sind die Plattenstatistiken, die phpmemcacheadmin erstellt: (es gibt übrigens mehr Platten als diese)
( Ich habe hier auch Statistiken von etwas später im Textformat eingefügt. )
AKTUALISIEREN
Ich habe den Daemon mit -f 1.5 neu gestartet und es sah wirklich gut aus. Nach einigem Aufwärmen hatten wir einen von 50/50 verbraucht / verschwendet. Aber je länger wir an dem Tag waren (es wird tagsüber geschäftiger), umso mehr fiel es auf das zurück, was es aktuell ist: 30/70, und die Verschwendung steigt immer noch. Abgesehen davon weiß ich immer noch nicht, woher die "Verschwendeten" kommen. Ich sehe diese Platte:
**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
Es ist nicht voll, es wurde nicht geräumt, aber es verschwendet 117,3 MByte. Die schnelle Berechnung, die ich gemacht habe (korrigiere mich, wenn ich falsch liege), war:
- Die vorherige Platte hat eine Blockgröße von 328, daher ist diese Platte im schlimmsten Fall mit 329-Byte-Blöcken gefüllt.
- Dies bedeutet, dass pro verwendetem Block 167 Byte = 12942834 Byte = 12,3 MB verschwendet werden
Woher kamen dann die anderen verschwendeten 105 MB ? Es ist größerer Bruder direkt daneben sieht so aus:
**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