Publikimi i Memcached 1.6.0 me mbështetje për ruajtje të jashtme

U shpall lëshim të rëndësishëm të sistemit të ruajtjes së të dhënave në memorien e përkohshme Memcached 1.6.0, i cili operon me të dhëna në formatin çelës/vlerë dhe shquhet për lehtësinë e përdorimit. Memcached zakonisht përdoret si një zgjidhje e lehtë për të përshpejtuar punën e faqeve të ngarkuara, duke cachesuar qasjen në DBMS dhe të dhënat përkohësore. Kodi ofrohet nën licencën BSD.

Në versionin e ri është stabilizuar realizimi i depozitës "extstore" që tani ndërtohet si standard (për ta çaktivizuar në skenarin configure është parashikuar opsioni "--disable-extstore"), por kërkon aktivizim të qartë gjatë nisjes (installimet e vjetra pas azhurnimit do të vazhdojnë të punojnë pa ndryshimin e ndonjë gjëje). Megjithëse në përgjithësi depozita "extstore" është njohur si e stabilizuar, rekomandohet të kihet kujdes gjatë futurit në sisteme shumë të mëdha.

Extstore lejon përdorimin e SSD/Flash-kujtesës për zgjerimin e madhësisë së cache-it. Ashtu siç ndodh me përdorimin e memorjes së përkohshme, depozita në Flash nuk është e përhershme dhe fshihet gjatë ripërgatitjes. Si zonë përdorimi për këtë mod është përmendur siguria e ruajtjes efektive të të dhënave të mëdha. Kur përdoret "extstore", çelësat dhe metadatët, ashtu si më parë, ruhen vetëm në memorjen e përkohshme, por të dhënat e mëdha të lidhura me çelësat, të cilat e kalojnë pragun e vendosur, ruhen në depo 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 punon si zakonisht, mbajti të dhënat në memorien e përkohshme dhe nuk i qaset depozitës së jashtme. Nëse ka mjaft memorie të lirë, të dhënat më të kërkuara mund të jenë plotësisht në cache në memorjen e përkohshme (për shembull, mund të vendoset që në Flash të ruhen vetëm objektet më të mëdha se 1024 byte, të cilat nuk janë aksesuar për 3600 sekonda).

Implementimi është optimizuar për të siguruar performancë maksimale dhe ngarkesë minimale në CPU, në dëm të efikasitetit të ruajtjes (nivel i lartë i fragmentimit). Për të zgjatur burimin e Flash-kujtesave, të dhënat buferizohen dhe fshihen në depotë në mënyrë radhës. Për të ruajtur gjendjen e cache-it ndërmjet ripërgatitjeve, mund të përdoret mundësia e sapo shfaqur në versionin 1.5.18 për të regjistruar dump-in me cache në një skedar. Në nisjen e ardhshme, mund të rikuperohet cache nga ky skedar për të evituar pikët e ngarkesës në përpunuesit e përmbajtjes për shkak të mungesës së plotësimit të cache-it (cache menjëherë bëhet "të ngrohtë").

Një nga ndryshimet e rëndësishme në Memcached 1.6 ishte ripërpunimi i kodit për ndërveprimin rrjet, i cili është adaptuar për procesimin automatik të kërkesave grupore në lidhje me një thirrje sistemike. Më parë, kur dërgonin disa komanda "GET" në një TCP paketë, memcached dërgonte rezultatet duke kryer thirrje të veçanta sistemike. Në Memcached 1.6, përgjigjet agregohen dhe kthehen me dërgimin e një thirrjeje sistemike. Si rezultat, tani, mesatarisht kemi 1.5 çelësa për thirrje sistemike, e cila tregon në testime një ulje të ngarkesës në CPU deri në 25% dhe një reduktim të vonesave me disa përqindje.

Ripërpunimi i nënstrukturës rrjet gjithashtu lejoj kalimin në ndarjen dinamike të bufferëve sipas nevojës, në vend të caktimit static të bufferëve. Kjo optimizim e ul konsumimin e memories gjatë pritjes për komanda të reja përmes një lidhjeje të vendosur nga klienti nga 4.5 KB në 400-500 byte, si dhe ofron mundësinë për të eliminuar shumë thirrje malloc, realloc dhe free, që çojnë në fragmentim të panevojshëm të memories në sisteme me një numër të madh lidhjesh. Secila thread punuese tani trajton pishinën e saj të bufferëve për lexim dhe shkruarje për lidhjet aktive të klientëve. Për të vendosur madhësinë e këtyre bufferëve,
janë parashikuar opsionet «-o resp_obj_mem_limit=N» dhe «-o read_buf_mem_limt=N».

Në degën 1.6 gjithashtu u shpall kalimi në statusin e mbetur, protokollin binar të ndërveprimit me serverin. Mbështetje për protokollin binar dhe rregullimi i gabimeve do të vazhdojnë, por mundësitë e reja dhe përmirësimet e funksioneve ekzistuese nuk do të transferohen. Protokolli tekstual do të vazhdojë zhvillimin pa ndryshime. Në vend të protokollit binar erdhi një protokoll i ri meta (varianti tekstual i protokollit me komandat meta të kompozuara), i cili tregon kombinimin optimal të performancës dhe besueshmërisë. Protokolli i ri mbulon të gjitha operacionet, të cilat ishin përpara të disponueshme përmes protokolleve tekstual dhe binar.

Burimi: opennet.ru

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