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


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

8 marca zaktualizowano system buforowania danych w pamięci RAM Memcached do wersji 1.6.0. Główną różnicą w porównaniu z poprzednimi wersjami jest to, że teraz można używać urządzenia zewnętrznego do przechowywania danych w pamięci podręcznej.

Memcached służy do przyspieszania pracy mocno obciążonych witryn lub aplikacji internetowych poprzez buforowanie dostępu do DBMS i danych pośrednich.

W nowej wersji opcja jest domyślnie włączona podczas budowania exstore, który odpowiada za korzystanie z mediów zewnętrznych. Aby wyłączyć tę funkcję, określ parametr --disable-extstore w ./configure. Jednak nawet jeśli kompilacja jest domyślnie włączona, należy wyraźnie określić użycie tej funkcji podczas uruchamiania.

Sklep zewnętrzny pozwala na korzystanie z zewnętrznych Migać lub SSD dysk, aby zwiększyć rozmiar pamięci podręcznej. Umożliwi to buforowanie znacznie większych ilości danych niż bez korzystania z tej funkcji.

Kolejną ważną innowacją było przerobienie interakcji sieciowej, która jest teraz dostosowana do automatycznego przetwarzania żądań wsadowych w ramach jednego wywołania systemowego. W poprzednich wersjach przetwarzanie każdego żądania GET było przesyłane w oddzielnym pakiecie, natomiast w nowej wersji odpowiedzi na wiele żądań są gromadzone w jednym metapakietze i przesyłane jednocześnie. W wyniku tej innowacji obciążenie procesora zostało zmniejszone o 25%.

Ponadto w wyniku tej modernizacji zmniejszono zużycie pamięci na buforowanie - z 4.5 KB do 400-500 bajtów na połączenie, a także zmniejszono wykorzystanie funkcji malloc, realloc i free, co doprowadziło do mniejszej fragmentacji pamięci. Każdy wątek obsługuje teraz własną pulę buforów odczytu i zapisu dla aktywnych połączeń. Aby dostosować rozmiar tych buforów, dostępne są opcje -o resp_obj_mem_limit=N i -o read_buf_mem_limt=N.

Ogłoszono także, że binarny protokół wymiany z serwerem zostanie przeniesiony do kategorii „przestarzały”. Został on zastąpiony przez metaprotokół - tekstową wersję protokołu ze zwartymi metapoleceniami. Nowy protokół uwzględnia wszystkie dostępne wcześniej operacje z wykorzystaniem starszych wersji protokołu binarnego.

>>> Oficjalna strona internetowa


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


>>> Opis Extstore


>>> Opis metapoleceń

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

Dodaj komentarz