A Memcached 1.6.0 kiadása külső tároló támogatásának bekapcsolásával

Megvalósult jelentős kiadása az adatokat memóriában cachelő rendszernek Memcached 1.6.0, kulcs/érték formátumban kezelt adatokkal, amely a használat egyszerűségéről ismert. A Memcached általában könnyű megoldásként szolgál a nagy forgalmú webhelyek teljesítményének növelésére az adatbázis és a közbenső adatok elérésének cache-elésével. Kód szállítva van BSD licenc alatt.

Az új verzióban stabilizálták a „extstore„ tároló megvalósítását, amely most alapértelmezés szerint be van kapcsolva (a konfiguráló scriptben a „—disable-extstore” opcióval lehet kikapcsolni), de explicit aktiválást igényel a futtatás során (a régi telepítések frissítés után változtatás nélkül folytatják működésüket). Annak ellenére, hogy az „extstore” tároló egészében stabilnak bizonyult, javasolt óvatosan bevezetni nagyon nagy rendszerekben.

Az Extstore SSD/Flash tárolók használatát teszi lehetővé a cache méretének bővítésére. Mint a memóriánál, a Flash tároló nem állandó, és újraindításkor törlődik. Az új üzemmód alkalmazási területe a nagy méretű adatok hatékony cache-elésének biztosítása. Az „extstore” használatakor a kulcsok és metadaták továbbra is csak a memóriában kerülnek tárolásra, de a kulcsokhoz kapcsolódó, a megadott küszöböt meghaladó nagyméretű adatok külső tárolóban kerülnek elhelyezésre, míg az OZR-ban csak egy hivatkozás marad.

Ha a kulcsra kis méretű adatok kerülnek, akkor a Memcached a megszokott módon működik, az adatokat a memóriában tartja, és nem kérdezi le a külső tárolót. Ha sok szabad memória áll rendelkezésre, a legkeresettebb adatok teljes mértékben a memóriában elérhetők lehetnek (például megadható, hogy a Flash-re csak az 1024 bájtnál nagyobb objektumok kerüljenek, amelyekhez 3600 másodperce nem nyúltak).

A rendszeroptimalizálás a maximális teljesítmény és a CPU minimális terhelése érdekében készült, a tárolás hatékonyságának rovására (nagyfokú fragmentáció). A Flash-meghajtók élettartamának meghosszabbítása érdekében az adatokat pufferezzük és fokozatosan kiírjuk a tárolóra. A gyorsítótár állapotának fenntartására a 1.5.18-as kiadásban megjelent lehetőség szerint a gyorsítótár dumpját fájlba lehet írni. A következő indításnál a gyorsítótár visszaállítható ebből a fájlból, elkerülve ezzel a tartalomkezelők terhelési csúcsait a gyorsítótár kitöltetlensége miatt (a gyorsítótár azonnal "meleg" lesz).

A Memcached 1.6 második fontos módosítása a hálózati interakciós kód átdolgozása volt, amely automatikusan kezeli a csomagolt hívásokat egyetlen rendszerhíváson belül. Korábban, amikor több "GET" parancsot küldtek egy TCP-csomagban, a memcached az egyes rendszerhívások végrehajtásával küldte el az eredményeket. A Memcached 1.6-ban a válaszokat aggregálják, és egyetlen rendszerhívás keretében küldik vissza. Ennek eredményeként átlagosan 1,5 kulcs jut egy rendszerhívásra, ami a tesztek szerint akár 25%-os CPU-terheléscsökkenést és néhány százalékos késlekedéscsökkenést mutat.

A hálózati alrendszer átdolgozása lehetővé tette a dinamikus pufferelésre való áttérést, nem pedig statikus pufferallokálásra. Ez az optimalizálás a memóriafelhasználást az új parancsok várakozási idejében 4,5 KB-ról 400-500 byte-ra csökkentette, valamint lehetővé tette számos malloc, realloc és free hívás eltávolítását, amely felesleges memóriafragmentációt okozott a sok kapcsolattal rendelkező rendszerekben. Minden munkafolyamat most a saját pufferpoolját kezeli az aktív klienskapcsolatok olvasásához és írásához. Ezeknek a puffernek a méretének a beállítására
az "-o resp_obj_mem_limit=N" és "-o read_buf_mem_limit=N" opciók állnak rendelkezésre.

A 1.6-os ágon a bináris protokoll elavultságának bejelentésére is sor került. a szerverrel való interakcióhoz. A bináris protokoll karbantartása és a hibák javítása folytatódik, de új funkciók és a meglévő funkciók frissítése nem lesz támogatva. Textuális protokoll szöveges protokoll a folytatás a fejlődés változatlan marad. A bináris protokoll helyett egy új protokoll lépett életbe meta (a protokoll szöveges változata kompakt meta-parancsokkal), amely az optimális teljesítmény és megbízhatóság kombinációját mutatja be. Az új protokoll lefedi az összes műveletet, amelyek korábban elérhetők voltak szöveges és bináris protokollokon keresztül.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster