Vydanie Memcached 1.6.0 s podporou externého úložiska

Sa uskutočnilo významná verzia systému vyrovnávacej pamäte v pamäti Memcached 1.6.0, ktorý operuje s údajmi vo formáte kľúč/hodnota a vyniká jednoduchým používaním. Memcached sa zvyčajne používa ako ľahké riešenie na zrýchlenie prevádzky vysoko zaťažených webových stránok cez cacheovanie prístupu k DBMS a medziúložným údajom. Kód dodáva sa pod licenciou BSD.

V novej verzii je stabilizovaná implementácia úložiska „extstore“, ktoré sa teraz kompiluje predvolene (pre jeho vypnutie v skripte configure je k dispozícii možnosť „—disable-extstore“), ale vyžaduje si explicitné zapnutie pri štarte (staršie inštalácie po aktualizácii budú pokračovať v prevádzke bez zmien). Aj keď je v celku úložisko „extstore“ považované za stabilné, odporúča sa byť opatrný pri jeho implementácii v veľmi veľkých systémoch.

Extstore umožňuje používať SSD/Flash pamäte na rozšírenie veľkosti vyrovnávacej pamäte. Rovnako ako pri používaní pamäte RAM, úložisko na Flashi nie je trvalé a vymazáva sa pri reštarte. Ako oblasť použitia nového režimu je uvádzané zabezpečenie efektívneho ukladania veľkých objemov dát. Pri používaní „extstore“ kľúče a metadáta, ako predtým, zostávajú uložené len v pamäti RAM, ale súvisiace veľké dáta, ktorých veľkosť prevyšuje nastavený prah, sa ukladajú do externého úložiska, pričom v RAM zostáva len ukazovateľ.

Ak je s kľúčom spojené malé množstvo dát, Memcached funguje ako obvykle, uchováva dáta v pamäti a neoslovuje externé úložisko. Ak je voľnej pamäte veľa, najžiadanejšie dáta môžu byť navyše celkom uložené v pamäti (napríklad môže byť uvedené, aby sa na Flash ukladali len objekty väčšie ako 1024 bajtov, ku ktorým nebolo pristúpené 3600 sekúnd).

Implementácia je optimalizovaná na zabezpečenie maximálneho výkonu a minimálneho zaťaženia CPU, na úkor efektivity ukladania (vysoká miera fragmentácie). Pre predĺženie životnosti Flash pamätí sú dáta vyrovnávané a do úložiska sa ukladajú postupne. Na zachovanie stavu vyrovnávacej pamäte medzi reštartami môže byť použitá funkcia, ktorá sa objavila vo verzii 1.5.18 na uloženie dumpu s vyrovnávacou pamäťou do súboru. Pri nasledujúcom štarte je možné obnoviť vyrovnávaciu pamäť z tohto súboru, aby sa eliminovali vrcholy zaťaženia na spracovateľov obsahu z dôvodu neúplnosti vyrovnávacej pamäte (vyrovnávacia pamäť sa okamžite stáva „teplou“).

Druhá dôležitá zmena v Memcached 1.6 sa týkala prepracovania kódu pre sieťovú komunikáciu, ktorý bol prispôsobený pre automatické spracovanie dávkových požiadaviek v rámci jedného systémového volania. Predtým pri prenose viacerých príkazov „GET“ v jednom TCP pakete memcached odosielal výsledky vykonaním samostatných systémových volaní. V Memcached 1.6 sú odpovede agregované a vrátené prostredníctvom odoslania jedného systémového volania. V dôsledku toho teraz priemerne pripadá 1,5 kľúča na systémové volanie, čo v testoch preukazuje zníženie záťaže CPU až o 25% a skrátenie latencií o niekoľko percent.

Prepracovanie sieťovej subsystémovej architektúry tiež umožnilo prejsť na dynamické prideľovanie bufferov podľa potreby, namiesto statického priradenia bufferov. Táto optimalizácia znížila spotrebu pamäte v režime čakania na nové príkazy cez stanovené klientom pripojenie z 4,5 KB na 400-500 bajtov a tiež umožnila zbaviť sa mnohých volaní malloc, realloc a free, ktoré spôsobujú zbytočnú fragmentáciu pamäte na systémoch s veľkým počtom pripojení. Každý pracovný vlákno teraz spracováva svoj vlastný bazén bufferov na čítanie a zápis pre aktívne klientské pripojenia. Na nastavenie veľkosti týchto bufferov
sú predpokladané možnosti „-o resp_obj_mem_limit=N“ a „-o read_buf_mem_limit=N“.

V verzii 1.6 bolo taktiež oznámené, že sa prechádza do kategórie zastaraného binárneho protokolu komunikácie so serverom. Údržba binárneho protokolu a odstraňovanie chýb budú pokračovať, ale nové funkcie a aktualizácie existujúcich funkcií sa nebudú prenášať. Textový protokol pokračuje vo vývoji bez zmien. Namiesto binárneho protokolu prišiel nový protokol meta (textová verzia protokolu s kompaktnými meta-príkazmi), ktorá ukazuje optimálnu kombináciu výkonu a spoľahlivosti. Nový protokol pokrýva všetky operácie, ktoré boli predtým dostupné prostredníctvom textového a binárneho protokolu.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster