Memcached 1.6.0 slÀpps med stöd för extern lagring

HÀndelse genomförd en betydande version av systemet för datacachning i RAM Memcached 1.6.0, som arbetar med data i nyckel/vÀrde-format och kÀnnetecknas av anvÀndarvÀnlighet. Memcached anvÀnds vanligtvis som en lÀttviktslösning för att snabba upp högbelastade webbplatser genom att cacha Ätkomst till databaser och mellanlagrad data. Koden levereras under BSD-licensen.

I den nya versionen har implementationen av lagret "extstore" stabiliserats och samlas nu in som standard (för att stÀnga av det i skriptet configure finns en alternativ "--disable-extstore"), men krÀver explicit aktivering vid körning (gamla installationer fortsÀtter att fungera utan förÀndringar efter uppdateringen). Trots att lagret "extstore" överlag anses stabilt, rekommenderas försiktighet vid implementering i mycket stora system.

Extstore möjliggör anvÀndning av SSD/Flash-lagring för att utöka cacheminnets storlek. Liksom vid anvÀndning av RAM Àr lagring pÄ Flash inte permanent och raderas vid omstart. Ett anvÀndningsomrÄde för det nya lÀget anges vara effektiv caching av stora datamÀngder. Vid anvÀndning av "extstore" lagras nycklar och metadata som tidigare endast i RAM, men stora data associerade med nycklar som överskrider en viss grÀns lagras i extern lagring, medan endast en pekare finns kvar i RAM.

Om smÄ datamÀngder kopplas till nyckeln fungerar Memcached som vanligt, hÄller data i minnet och gör inga anrop till extern lagring. Om det finns gott om ledigt minne kan de mest efterfrÄgade data dessutom hÄllas helt i cache i RAM (till exempel kan man ange att endast objekt större Àn 1024 byte som inte har tillgÄngsats under 3600 sekunder ska lagras pÄ Flash).

Implementeringen Àr optimerad för att sÀkerstÀlla maximal prestanda och minimal CPU-belastning, pÄ bekostnad av lagringseffektivitet (stor fragmenteringsnivÄ). För att förlÀnga livslÀngden pÄ Flash-enheterna buffras data och skrivs till lagret sekventiellt. För att bevara cachetillstÄndet mellan omstarter kan den funktion som introducerades i version 1.5.18 anvÀndas, vilket lÄter cachedumpen sparas till en fil. Vid nÀsta start kan cachen ÄterstÀllas frÄn denna fil för att undvika toppar i belastningen pÄ innehÄllshanterarna pÄ grund av att cachen Àr ofylld (cachen blir omedelbart "varm").

Den andra viktiga förÀndringen i Memcached 1.6 var en omarbetning av koden för nÀtverkskommunikation, som anpassats för automatisk hantering av batch-anrop inom ett enda systemanrop. Tidigare, nÀr flera "GET"-kommandon skickades i en TCP-paket, skickade memcached resultaten med att utföra separata systemanrop. I Memcached 1.6 sammanstÀlls svaren och returneras genom att skicka ett enda systemanrop. Som ett resultat Àr det i genomsnitt nu 1.5 nycklar per systemanrop, vilket i tester visar en minskning av CPU-belastningen med upp till 25% och en förkortning av fördröjningarna med nÄgra procent.

Omarbetningen av det nÀtverksbaserade systemet gjorde det ocksÄ möjligt att gÄ över till dynamisk allokering av buffertar efter behov, istÀllet för statisk tilldelning av buffertar. Denna optimering minskade minnesanvÀndningen i vÀntan pÄ nya kommandon via den anslutning som klienten har etablerat frÄn 4.5 KB till 400-500 byte, och gjorde det ocksÄ möjligt att eliminera mÄnga anrop av malloc, realloc och free, som resulterade i onödig fragmentering av minnet pÄ system med ett stort antal anslutningar. Varje arbetstrÄd hanterar nu sin egen buffertpool för lÀsning och skrivning för aktiva klientanslutningar. För att stÀlla in storleken pÄ dessa buffertar
finns alternativen "-o resp_obj_mem_limit=N" och "-o read_buf_mem_limit=N".

I version 1.6 tillkÀnnagavs ocksÄ övergÄngen till en utgÄende status för den binÀra protokollet för serverinteraktion. UnderhÄll av det binÀra protokollet och felrÀttning kommer att fortsÀtta, men nya funktioner och uppdateringar av befintliga funktioner kommer inte att överföras. Textprotokollet kommer att fortsÀtta utvecklingen utan förÀndringar. Den binÀra protokollet har ersatts av ett nytt protokoll meta (textversionen av protokollet med kompakta meta-kommandon), som visar en optimal kombination av prestanda och tillförlitlighet. Det nya protokollet omfattar alla operationer som tidigare var tillgÀngliga via text- och binÀra protokoll.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster