Memcached 1.6.0 — system pamięci podręcznej danych w RAM z możliwością zapisywania na nośniku zewnętrznym


Memcached 1.6.0 - system pamięci podręcznej danych w RAM z możliwością zapisu na zewnętrznym nośniku

8 marca zaktualizowano system pamięci podręcznej danych w pamięci operacyjnej Memcached do wersji 1.6.0. Główna różnica w stosunku do poprzednich wydań polega na tym, że teraz dla przechowywania pamięci podręcznej możliwe jest użycie zewnętrznego urządzenia.

Memcached jest używana do przyspieszania działania wysoko obciążonych stron internetowych lub aplikacji internetowych poprzez cachowanie dostępu do baz danych i danych pośrednich.

W nowej wersji w domyślnej kompilacji włączony jest parametr extstore, który odpowiada za użycie zewnętrznego nośnika. Aby wyłączyć funkcję, należy w .\/configure wpisać parametr —disable-extstore. Jednak mimo włączenia opcji domyślnej, przy uruchamianiu należy bezpośrednio wskazać korzystanie z tej funkcji.

Extstore pozwala na użycie zewnętrznych Flash lub SSD nośników, aby zwiększyć rozmiar pamięci podręcznej. Pozwoli to na cachowanie znacznie większych ilości danych niż bez korzystania z tej funkcji.

Kolejnym ważnym nowym elementem była przeróbka interakcji sieciowej, która została dostosowana do automatycznego przetwarzania pakietowych żądań w ramach jednego wywołania systemowego. W poprzednich wersjach przetwarzanie każdego zapytania GET było realizowane w osobnym pakiecie, podczas gdy w nowej wersji odpowiedzi na kilka zapytań są zbierane w jeden metapakiet i przesyłane równocześnie. W rezultacie tego nowego rozwiązania obciążenie CPU zmniejszyło się o 25%.

Dzięki tej modernizacji zmniejszyło się również zużycie pamięci na buforowanie — z 4.5 Kb do 400-500 bajtów na wywołanie, oraz zmniejszyło się użycie funkcji malloc, realloc i free, co doprowadziło do mniejszej fragmentacji pamięci. Każdy wątek teraz obsługuje swój pul bufory do odczytu i zapisu dla aktywnych połączeń. Aby skonfigurować rozmiar tych buforów, przewidziano opcje -o resp_obj_mem_limit=N oraz -o read_buf_mem_limit=N.

Została również ogłoszona zmiana w klasyfikacji protokołu binarnego wymiany z serwerem na „przestarzały”. Zastąpił go protokół meta — tekstowa wersja protokołu z kompaktowymi komendami meta. W nowym protokole uwzględniono wszystkie dostępne wcześniej operacje, które korzystały ze starych wersji binarnego protokołu.

>>> Oficjalna strona


>>> Kod źródłowy (licencja BSD)


>>> Opis Extstore


>>> Opis komend meta

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster