Widzę eksmisje, gdy memcached jest tylko w 40% zapełnione. Jak to możliwe?Wyrzucanie z pamięci, gdy pamięć podręczna jest w 40% pełna
Odpowiedz
Sprawdź rozmiary płytek, uruchamiając statystyki memcached. Wygląda na to, że twoje płyty nie są równomiernie zaludnione, co powoduje eksmisje, nawet jeśli pamięć podręczna nie jest pełna.
Dokładnie tak było. Jedna z płyt w domyślnym wiadrze była pełna i powodowała eksmisje. Stworzyliśmy nową łyżkę tylko dla obiektów prawie tej samej wielkości i nie mamy już tego problemu. Dziękuję wszystkim za odpowiedzi. – apatel
Memcached przechowuje dane zgodnie z płytami różnych porcji pamięci. Jeśli różne porcje pamięci są już przydzielone, wówczas najmniejszy ostatnio używany algorytm działa na płycie i eksmituje dane, nawet jeśli nie ma danych w innych płytach pamięci.
Dlatego duża dystrybucja wielkości danych może być odpowiedzialna za ten problem. Dzięki wielu instancjom memcached uruchomionym i używaniu go jako systemu rozproszonego problem może zostać zredukowany.
Napisałem długie wyjaśnienie do this question, które dotyczyłoby również tego również.
- 1. Co się dzieje, gdy pamięć podręczna varnish jest pełna?
- 2. PHP APC: Co się dzieje, gdy pamięć podręczna APC jest pełna?
- 3. Czym jest rozproszona pamięć podręczna?
- 4. Moja pamięć podręczna jest spłukiwana, dlaczego?
- 5. Wyłącz/Wyłącz Magento Pełna pamięć podręczna na jednej stronie
- 6. Pamięć podręczna obiektów Ruby
- 7. Pamięć podręczna obiektów Androida
- 8. Pamięć podręczna L2 w Kepler
- 9. Pamięć podręczna uwierzytelniania http
- 10. activerecord współużytkowana pamięć podręczna
- 11. Pamięć podręczna dla WKWebView
- 12. Pamięć podręczna railsów wygasa
- 13. Pamięć podręczna zapisu z pamięci podręcznej z systemu Windows CLI
- 14. Wyjściowa pamięć podręczna dla użytkownika
- 15. HTML5 Nowa pamięć podręczna nie jest stosowana
- 16. Jak działa pamięć podręczna Gmap.net?
- 17. Pamięć podręczna DOM w Angular.JS
- 18. Efektywna pamięć podręczna Ruby LRU
- 19. Pamięć podręczna Universal Image Loader
- 20. Pamięć podręczna: [GET /] miss
- 21. Enterprise Edition Zdarzenia kontrolera nie są uruchamiane, jeśli włączona jest pełna pamięć podręczna strony
- 22. Pamięć podręczna trzeciego poziomu dla NHibernate
- 23. Pamięć podręczna buforowania zapytań POST
- 24. Manipulacja hibernacji Pamięć podręczna drugiego poziomu
- 25. Pamięć podręczna kompilatora dla Scala?
- 26. 5-minutowa pamięć podręczna plików w PHP
- 27. Pamięć podręczna aplikacji Safari 7 nie działa
- 28. Pamięć podręczna plików w języku Python
- 29. Stała pamięć podręczna przeglądarki przy użyciu ServiceWorker
- 30. Pamięć podręczna trybu offline w magazynie Firestore
Hmmm jakiego systemu używasz memcached? Czy memcached ma implementację pamięci bezpośrednio odwzorowanej? Nie rozumiem, dlaczego ... ale kto wie. – PinkElephantsOnParade
Mamy klaster 4 węzłów działających na Linuksie Redhat. Nie wiesz, co masz na myśli przez implementację pamięci bezpośrednio odwzorowanej. Ale używamy kodu, który daje memcached jako pakiet. – apatel
http://stackoverflow.com/questions/6868256/memcached-eviction-prior-to-key-expiry/10456364#10456364 –