Ich sehe Räumungen, wenn das Memcached nur zu 40% voll ist. Wie ist das möglich?Memcached Räumung, wenn der Cache zu 40% voll ist
Antwort
Überprüfen Sie die Plattengrößen, indem Sie die Memcached-Statistik ausführen. Es sieht so aus, als wären Ihre Platten nicht gleichmäßig bestückt, und das führt zu Vertreibungen, selbst wenn der Cache nicht voll ist.
Dies ist genau der Fall, den wir hatten. Eine der Platten im Standardbehälter war voll und verursachte die Zwangsräumungen. Wir haben einen neuen Bucket nur für fast gleich große Objekte erstellt und dieses Problem ist nicht mehr vorhanden. Vielen Dank für Ihre Antworten. – apatel
Memcached speichert Daten nach Blöcken verschiedener Speicherabschnitte. Wenn die verschiedenen Speicherblöcke bereits zugewiesen sind, dann läuft der zuletzt verwendete Algorithmus auf der Platte und räumt die Daten aus, selbst wenn in anderen Speicherbereichen keine Daten vorhanden sind.
Daher kann eine große Verteilung von Datengrößen für dieses Problem verantwortlich sein. Wenn mehrere Instanzen von memcached ausgeführt werden und es als verteiltes System verwendet wird, kann das Problem reduziert werden.
Ich schrieb eine lange Erklärung zu this question, die gleichermaßen für diese gelten würde.
- 1. Cache-Räumung aus L1-Cache auf L2-Räumung
- 2. PHP APC: Was passiert, wenn der APC-Cache voll ist?
- 3. Kann der Browser das Cache-Objekt ungültig machen (gültig), wenn der Festplatten-Cache voll ist?
- 4. Verteilte Cache mit Hibernate 2rd Level Räumung
- 5. Kann Memcached Multi-Core voll nutzen?
- 6. Memcached vs SQL Server-Cache
- 7. Ist es wünschenswert, "memcached" für "Page Cache" in W3 Total Cache zu setzen?
- 8. Verwenden von Flask-Cache mit Memcached (AWS Elastic-Cache)
- 9. CodeCahe ist voll Java7
- 10. Eliminierung der 30-Tage-Grenze von Memcached
- 11. Cache für Berechtigungsnachweis verweigert, wenn der Cache sehr groß ist
- 12. ThreadPoolExecutor blockieren, wenn die Warteschlange voll ist?
- 13. IOException wird ausgelöst, wenn SDCard voll ist
- 14. Android - Warum verwendet meine App etwa 40 MB Cache-Hintergrundprozess?
- 15. mod_rewrite ist nicht voll funktionsfähiges
- 16. Ist es möglich, memcached in Apache iBatis zu injizieren?
- 17. Was ist der Serverschlüssel in php memcached?
- 18. Erkennen, dass der Stapel voll ist
- 19. Die Ereignisprotokolldatei ist voll
- 20. Mehrere Caches in Memcached
- 21. Wann ist $ .cache zu groß?
- 22. Auswirkungen der Änderung MemCached maximale Blockgröße
- 23. Symfony app/console cache: löschen - env = prod und cache (APC, Memcached, etc)?
- 24. Racksitzungsschlüssel zu lang für Memcached
- 25. Wie erkennt man, wenn Mathjax voll geladen ist?
- 26. Magento Remove Block funktioniert nur, wenn der Cache deaktiviert ist
- 27. Was passiert, wenn die Warteschlange des ExecutorService voll ist
- 28. Video zu voll modal
- 29. Kanalspeicher ist beim Start voll
- 30. Spring-Threads und TaskRejectException, wenn die Warteschlange voll ist
Hmmm Welches System verwenden Sie Memcached auf? Hat Memcached eine Direct-Mapped-Speicherimplementierung? Ich verstehe nicht, warum es ... aber wer weiß. – PinkElephantsOnParade
Wir haben einen Cluster von 4 Knoten auf Redhat Linux. Nicht sicher, was Sie mit Direct-Mapped-Speicherimplementierung meinen. Aber wir verwenden Membase, die Memcached als Paket gibt. – apatel
http://stackoverflow.com/questions/6868256/memcached-eviction-prior-to-key-expiry/10456364#10456364 –