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

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster