Mediovski Technology

Sesje PHP i Memcached

Data: 6 Listopad 2009 17:02 Autor: Mariusz Miłejko | Kategoria: Bez kategorii

Częstym manewrem optymalizującym zużycie zasobów na serwerze jest przeniesienie sesji do memcache, wymaga to jedynie zainstalowania serwera memcached, modułu memcache do PHP i zmian w konfiguracji:

session.save_handler = "memcache"
session.save_path = "udp://127.0.0.1:11211?persistent=1"

przy tak skonfigurowanym php, wszystkie sesje będą znajdowały się w pamięci memcached.

Kolejny sukces optymalizacyjny za nami, niepokoi jedynie pytanie: “Co się dzieje w przypadku przepełnienia bufora memcached?”. Bufor taki nie będzie miał 500GB tak jak partycja dysku na którym trzymaliśmy sesje, tylko powiedzmy 128MB, a to znaczna różnica…

Zachowanie w przypadku przepełnienia bufora jest inne niż zachowanie w przypadku przepełnienia partycji na której przechowywaliśmy sesje w postaci plikowej. Teoretyczne scenariusze po wypełnieniu bufora to:

1). nowe dane nie będą zapisywane, aż nie zwolni się miejsce (z danych które zostaną skasowane po wygaśnięciu ich ważności, podobnie jak przy sesjach na dysku)

2). dane będą zapisywane w miejsce utworzonych najdawniej (dawne dane są oczywiście usuwane)

3). dane są zapisywane w miejsce danych najdawniej pobieranych (najstarszy dostęp)

Prawdziwym scenariuszem jest scenariusz “3″! Nowe dane nadpiszą te do których próbowaliśmy sie dostać najdawniej.

RSS
Get Adobe Flash player