Verëffentlechung vu Memcached 1.6.0 mat Ënnerstëtzung fir extern Späichere aktivéiert

stattfonnt huet bedeitend Verëffentlechung vum In-Memory Data Caching System Memcached 1.6.0, déi op Daten am Schlëssel-/Wäertformat funktionnéiert an einfach ze benotzen ass. Memcached gëtt normalerweis als liicht Léisung benotzt fir High-load Sites ze beschleunegen andeems se Zougang zum DBMS an Zwëschendaten cachen. Code geliwwert ënner der BSD Lizenz.

Déi nei Versioun stabiliséiert d'Ëmsetzung vun der Späichere "extstore", deen elo als Standard gebaut ass (fir am Konfiguratiounsskript auszeschalten, ass d'Optioun "-disable-extstore" zur Verfügung gestallt), awer erfuerdert explizit Aktivéierung beim Start (al Installatioune funktionnéiere weider ouni Ännerungen nom Update). Och wann extstore allgemeng als stabil ugesi gëtt, gëtt virsiichteg ugeroden wann Dir et op ganz grousse Systemer implementéiert.

Extstore erlaabt Iech SSD / Flash Drive ze benotzen fir d'Cachegréisst auszebauen. Wéi mat RAM ass Flash-Späichere net permanent a gëtt beim Neistart zréckgesat. Den Ëmfang vum neie Modus ass fir effizient Caching vu groussen Daten ze garantéieren. Wann Dir "extstore" benotzt, ginn d'Schlëssel a Metadaten, wéi virdrun, nëmmen am RAM gespäichert, awer grouss Donnéeën, déi mat Schlësselen assoziéiert sinn, déi d'Gréisst méi wéi e festgeluegte Schwell iwwerschreiden, ginn an der externer Späichere gespäichert, an nëmmen de Pointer bleift am RAM.

Wann de Schlëssel mat klengen Donnéeën assoziéiert ass, da funktionnéiert Memcached wéi gewinnt, hält d'Donnéeën an der Erënnerung an huet keen Zougang zu externen Späicheren. Wann et vill fräi Erënnerung ass, da kënnen déi am meeschte gebrauchten Donnéeën zousätzlech komplett am Cache am RAM lokaliséiert ginn (zum Beispill kënnt Dir spezifizéieren datt nëmmen Objekter méi grouss wéi 1024 Bytes, déi fir 3600 Sekonnen net zougänglech sinn, op Flash zréckgesat ginn ).

D'Implementatioun ass optimiséiert fir maximal Leeschtung a minimal CPU-Laascht ze garantéieren, op Käschte vun der Späichereffizienz (héigen Niveau vun der Fragmentatioun). Fir d'Liewensdauer vu Flash-Laufwerke ze verlängeren, ginn d'Donnéeën gebuffert a sequentiell op d'Späichere gespullt. Fir de Cache-Staat tëscht dem Restart ze späicheren, kënnt Dir d'Fäegkeet benotzen, déi an der Verëffentlechung 1.5.18 erschien ass, fir e Cache-Dump op eng Datei ze dumpen. Beim nächste Startup kënnt Dir de Cache vun dëser Datei restauréieren fir Peaks an der Laascht op Inhaltsveraarbechter ze eliminéieren wéinst dem Cache eidel (de Cache gëtt direkt "waarm").

Déi zweet wichteg Ännerung am Memcached 1.6 war d'Wiederaarbecht vum Netzwierkkommunikatiounscode, deen ugepasst ass fir automatesch Batch-Ufroen an engem eenzege Systemruff ze veraarbecht. Virdrun, wann Dir verschidde GET Kommandoen an engem eenzegen TCP Paket schéckt, géif memcached d'Resultater mat getrennten Systemruffen schécken. Am Memcached 1.6 ginn d'Äntwerten aggregéiert an zréckginn andeems een en eenzege Systemruff schéckt. Als Resultat gëtt et elo en Duerchschnëtt vun 1.5 Schlësselen pro Systemruff, wat an Tester eng Reduktioun vun der CPU-Laascht bis zu 25% an enger Reduktioun vun der Latenz ëm e puer Prozent weist.

D'Neigestaltung vum Netz-Subsystem huet et och méiglech gemaach fir op déi dynamesch Allokatioun vu Pufferen ze plënneren wéi néideg, anstatt statesch Pufferen ze ginn. Dës Optimiséierung reduzéiert Erënnerungsverbrauch wärend Dir op nei Kommandoen duerch eng Client-etabléiert Verbindung vu 4.5 KB op 400-500 Bytes gewaart huet, an huet et och méiglech gemaach vill Uriff op malloc, realloc a gratis ze läschen, wat zu onnéideger Erënnerungsfragmentéierung op Systemer mat enger grousser Zuel vu Verbindungen. All Aarbechter thread handhabt elo säin eegene Pool vu Lies- a Schreifbuffer fir aktive Clientverbindungen. Fir d'Gréisst vun dëse Puffer ajustéieren
d'Optiounen "-o resp_obj_mem_limit=N" an "-o read_buf_mem_limt=N" ginn ugebueden.

Branch 1.6 huet och d'Deprecatioun vum binäre Protokoll Interaktioun mam Server. Binäre Protokoll Ënnerhalt a Bugfixes wäerte weidergoen, awer nei Features an Updates fir existent Features ginn net portéiert. Textprotokoll wäert weider ouni Ännerungen entwéckelen. De binäre Protokoll gouf duerch en neie Protokoll ersat meta (eng Textversioun vum Protokoll mat kompakten Meta-Kommandanten), déi déi optimal Kombinatioun vu Leeschtung an Zouverlässegkeet beweist. Den neie Protokoll deckt all Operatiounen déi virdru verfügbar sinn duerch Text a binäre Protokoller.

Source: opennet.ru

Setzt e Commentaire