Memcached 1.6.0 ankommer med extstore-stabilisering og kodebehandling til netværk

Udgivelsen af ​​den nye version af Memcached 1.6.0 blev annonceret, som er et almindeligt distribueret system til hukommelsesbaseret cache, og hvilket bruges til cache af data eller objekter i RAM, hvilket reducerer behovet for adgang til en ekstern datakilde (såsom en database eller en API).

Driften er baseret på en hash-tabel fordelt på flere computere. Når det fyldes op, slettes de data, der ikke har været brugt længst, for at give plads til nye.

Hvad er nyt i Memcached 1.6.0?

Den nye version af Memcached 1.6.0 stabiliserer implementeringen af ​​lageret "extstore", som nu er bygget som standard, men kræver eksplicit aktivering ved opstart (gamle installationer vil fortsætte med at arbejde uden opdatering efter opdatering).

Selvom ekstern butikslagring generelt betragtes som stabil, tilrådes det forsigtighed, når den installeres i meget store systemer.

Extstore tillader brug af SSD / Flash-drev til at udvide cache-størrelsen. Som med RAM er Flash-lagring ikke vedvarende og nulstilles ved genstart.

Når du bruger "extstore", nøgler og metadata, som før, kun gemmes i RAM, men store data tilknyttet nøgler, hvis størrelse overstiger den indstillede tærskel, se gemt i eksternt lager, og kun markøren forbliver i RAM.

Hvis der er tilknyttet små data til nøglen, fungerer Memcached som normalt, gemmer dataene i hukommelsen og har ikke adgang til eksternt lager.

For at bevare cache-tilstand mellem genstart kan evnen til at dumpe cache-dump til filen bruges.

Den anden store ændring i Memcached 1.6.0 var kodebehandlingen for netværk, som er tilpasset til automatisk at behandle batchopkald inden for et enkelt systemopkald.

Tidligere, når der sendes flere GET-kommandoer i en enkelt TCP-pakke, ville Memcached sende resultater med separate systemopkald.

I Memcached 1.6.0 tilføjes og returneres svar sende et opkald til systemet. Som et resultat nu der produceres i gennemsnit 1.5 nøgler pr. systemopkald, hvilket i test viser en reduktion i CPU-belastning på op til 25% og en reduktion i forsinkelser på flere procent.

Genbrug af netværksundersystemet gjorde det også muligt at skifte til dynamisk buffertildeling efter behov snarere end statisk buffertildeling.

Denne optimering reducerede hukommelsesforbruget i standbytilstand af de nye kommandoer over en klient-etableret forbindelse på 4.5 Kb ved 400-500 byte, og fik også lov til at slippe af med mange malloc, realloc og gratis opkald, hvilket førte til unødvendig hukommelsesfragmentering på systemer med stort antal forbindelser.

Hver arbejdertråd behandler nu sin egen pool læse / skrive buffere til aktive klientforbindelser. Valgmulighederne "-o resp_obj_mem_limit = N»Y«-o read_buf_mem_limt = N»Leveres til at indstille størrelsen på disse buffere.

Branch 1.6 annoncerede også overførslen til protokolkategorien forældet binær at interagere med serveren. Binær protokolvedligeholdelse og fejlrettelser fortsætter, men nye funktioner og opdateringer overføres ikke til eksisterende funktioner. Tekstprotokollen vil fortsætte med at udvikle sig uden ændringer.

Den binære protokol blev erstattet af den nye meta-protokol (en tekstversion af protokollen med kompakte metakommandoer), der demonstrerer den optimale kombination af ydeevne og pålidelighed. Den nye protokol dækker alle operationer, der tidligere var tilgængelige via tekst og binære protokoller.

Hvordan installeres Memcached 1.6.0 på Ubuntu og derivater?

For dem, der er interesseret i at kunne teste dette værktøj, skal du bare åbne en terminal og skrive den:

sudo apt-get update 
sudo apt-get install php-memcached memcached

Så snart for dem der foretrækker kompilering:

wget http://memcached.org/latest
tar -zxvf memcached-1.xxtar.gz
cd memcached-1.xx
./configure && make && make test && sudo make install

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.