Lëshimi i Memcached 1.6.0 me përfshirjen e mbështetjes për magazinë të jashtme

U zhvillua një lëshim i rëndësishëm i sistemit të caching të të dhënave në memorie Memcached 1.6.0, që operon me të dhëna në formatin çelës/vlerë dhe karakterizohet nga thjeshtësia e përdorimit. Memcached zakonisht përdoret si një zgjidhje e lehtë për të përshpejtuar funksionimin e faqeve me ngarkesë të lartë përmes caching të aksesit në DBMS dhe të dhënat ndërmjetëse. Kodi ofrohet në bazë të licencës BSD.

Në versionin e ri është stabilizuar implementimi i magazinës “extstore“, e cila tani grumbullohet si parazgjedhje (për deaktivizim në skriptin configure është parashikuar opsioni “—disable-extstore”), por kërkon aktivizim të qartë gjatë funksionimit (instalimet e vjetra pas përditësimit do të vazhdojnë të funksionojnë pa ndryshime). Megjithëse në përgjithësi magazina “extstore” njihet si e qëndrueshme, rekomandohet të tregoni kujdes gjatë implementimit të saj në sisteme shumë të mëdha.

Extstore lejon përdorimin e SSD/Flash-diskëve për zgjerimin e madhësisë së caches. Ashtu si kur përdoret memoria, magazina në Flash nuk është e përhershme dhe përballet me fshirjen gjatë rinisjes. Një nga fushat e aplikimit të mënyrës së re përmendet si sigurimi i caching të të dhënave të mëdha. Kur përdoret “extstore”, çelësat dhe meta të dhënat, siç ishte më parë, ruhen vetëm në memorie, por të dhënat e mëdha të lidhura me çelësat, të cilat kalojnë pragun e përcaktuar, ruhen në magazinë të jashtme, ndërsa në RAM mbetet vetëm një tregues.

Nëse të dhënat e vogla lidhen me çelësin, atëherë Memcached funksionon si zakonisht, mban të dhënat në memorie dhe nuk kthen në magazinën e jashtme. Nëse ka mjaft memorie, atëherë të dhënat më të përdorura mund të qëndrojnë plotësisht në cache në memori (për shembull, mund të përcaktohet që në Flash të fshihen vetëm objektet më të mëdha se 1024 byte, të cilat nuk janë accesuar për 3600 sekonda).

Implementimi është optimizuar për të siguruar performancën maksimale dhe ngarkesën minimale në CPU, me kosto të efikasitetit të ruajtjes (në nivel të lartë të fraktimit). Për të zgjatur kohëzgjatjen e memoreve Flash, të dhënat kanë tendencën të përpunohen dhe të derdhen në ruajtje në mënyrë të renditur. Për ruajtjen e gjendjes së caches midis ripërkinjve, mund të përdoret funksionaliteti i ri i introduktuar në versionin 1.5.18, i cili lejon shkarkimin e dump-it me cache në një skedar. Në fillimin e ardhshëm, mund të rikuperohet cache nga ky skedar për të shmangur piket e ngarkesës në përpunuesit e përmbajtjes për shkak të boshllëkut të caches (cache menjëherë bëhet "e ngrohtë").

Ndryshimi i dytë i rëndësishëm në Memcached 1.6 ishte rishikimi i kodit për ndërveprimin në rrjet, i cili është adaptuar për të përpunuar automatikisht kërkesat e grupuara brenda një thirrjeje sistemike. Më parë, kur dërgoheshin disa komanda "GET" në një paketë TCP, memcached dërgonte rezultatet duke kryer thirrje të veçanta sistemike. Në Memcached 1.6, përgjigjet mblidhen dhe kthehen përmes dërgimit të një thirrje sistemike. Si rezultat, tani mesatarisht ka 1.5 çelësa për thirrje sistemike, që tregon në testet e bërë një ulje të ngarkesës në CPU deri në 25% dhe një ulje të vonesave për disa përqindje.

Riorganizimi i nënsistemit rrjetor gjithashtu lehtësoi kalimin në ndarjen dinamike të bufereve sipas nevojës, në vend të caktimit statik të bufereve. Kjo optimizim reduktoi konsumimin e memories në modalitetin e pritjes së komandave të reja përmes një lidhjeje të vendosur nga klienti nga 4.5 KB në 400-500 byte, si dhe dha mundësinë për të eliminuar shumë thirrje malloc, realloc dhe free, që çojnë në fraktim të panevojshëm të memories në sistemet me numër të madh lidhjesh. Çdo thread pune tani përpunon pultin e vet të bufereve për leximin dhe shkrimin për lidhjet aktive të klientëve. Për të rregulluar madhësinë e këtyre bufereve
ofrohen opsionet "-o resp_obj_mem_limit=N" dhe "-o read_buf_mem_limit=N".

Në degën 1.6 gjithashtu u shpall kalimi në kategorinë e vjetruar protokollit binar të bashkëpunimit me serverin. Mbështetja për protokollin binar dhe për korrigjimin e defekteve do të vazhdojë, por mundësi të reja dhe përditësime të funksioneve ekzistuese nuk do të transferohen. Protokolli tekstual do të vazhdojë zhvillimin pa ndryshime. Në vend të protokollit binar erdhi protokolli i ri meta (versioni tekstual i protokollit me komanda meta kompakte), që tregon kombinimin optimal të performancës dhe besueshmërisë. Protokolli i ri mbulon të gjitha operacionet, që më parë ishin të disponueshme përmes protokollit tekstual dhe atij binar.

Burimi: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster