Pe 8 martie a avut loc actualizarea sistemului de cache a datelor în memoria operativă Memcached până la versiunea 1.6.0. Principala diferență față de versiunile anterioare este că acum pentru stocarea datelor cache este posibil să se folosească un dispozitiv extern.
Memcached este utilizat pentru a accelera funcționarea site-urilor sau aplicațiilor web cu încărcare mare prin cache-area accesului la SGBD și date intermediare.
În noua versiune, la compilare, este activată implicit opțiunea extstore, care răspunde pentru utilizarea suportului extern. Pentru a dezactiva funcția, trebuie specificat în ./configure parametrul —disable-extstore. Cu toate acestea, în ciuda activării implicite la compilare, la pornire trebuie indicată explicit utilizarea acestei funcții.
Extstore permite utilizarea unor Flash sau SSD suporturi externe pentru a crește dimensiunea cache-ului. Acest lucru va permite cache-are unor volume de date mult mai mari decât fără folosirea acestei funcții.
O altă noutate importantă a fost reproiectarea interacțiunii de rețea, care acum este adaptată pentru procesarea automată a apelurilor de tip batch într-un singur apel de sistem. În versiunile anterioare, fiecare solicitare GET era transmisă într-un pachet separat, în timp ce în noua versiune răspunsurile la mai multe solicitări sunt adunate într-un singur metapachet și trimise o dată. Ca rezultat al acestei inovații, sarcina pe CPU a fost redusă cu 25%.
De asemenea, ca urmare a acestei modernizări, consumul de memorie pentru bufere a fost redus — de la 4,5 KB la 400-500 de octeți pe apel, și utilizarea funcțiilor malloc, realloc și free a fost diminuată, ceea ce a dus la o fragmentare mai mică a memoriei. Fiecare fir de execuție acum își gestionează propriul pool de bufere pentru citire și scriere pentru conexiunile active. Pentru a seta dimensiunea acestor bufere, sunt prevăzute opțiunile -o resp_obj_mem_limit=N și -o read_buf_mem_limit=N.
De asemenea, a fost anunțată trecerea la categorie «învechite» a protocolului binar de comunicare cu serverul. Acesta a fost înlocuit cu protocolul meta — o variantă text a protocolului cu comenzi meta compacte. În noul protocol sunt incluse toate operațiile disponibile anterior, utilizând versiunile vechi ale protocolului binar.
>>> Site oficial
>>> Codul sursă (licență BSD)
>>> Descrierea meta-comenzilor
Sursa: linux.org.ru

