Uusi versio vakauttaa tallennustilan toteutusta "
Extstoren avulla voit käyttää SSD/Flash-asemia välimuistin koon laajentamiseen. Kuten RAM-muistin kanssa, Flash-tallennus ei ole pysyvää, ja se nollautuu uudelleenkäynnistyksen yhteydessä. Uuden tilan tarkoitus on varmistaa suurten tietojen tehokas välimuisti. Käytettäessä "extstorea" avaimet ja metatiedot tallennetaan entiseen tapaan vain RAM-muistiin, mutta avaimiin liittyvät suuret tiedot, joiden koko ylittää asetetun kynnyksen, tallennetaan ulkoiseen tallennustilaan ja vain osoitin jää RAM-muistiin.
Jos avain liittyy pieniin tietoihin, Memcached toimii normaalisti, säilyttää tiedot muistissa eikä käytä ulkoista tallennustilaa. Jos vapaata muistia on paljon, tarvittavat tiedot voidaan lisäksi sijoittaa kokonaan RAM-muistin välimuistiin (voit esimerkiksi määrittää, että vain yli 1024 tavua suuremmat objektit, joita ei ole käytetty 3600 sekuntiin, palautetaan Flashiksi ).
Toteutus on optimoitu maksimaalisen suorituskyvyn ja minimaalisen suorittimen kuormituksen varmistamiseksi tallennustehokkuuden kustannuksella (korkea pirstoutuneisuus). Flash-asemien käyttöiän pidentämiseksi tiedot puskuroidaan ja huuhdellaan tallennustilaan peräkkäin. Jos haluat tallentaa välimuistin tilan uudelleenkäynnistysten välillä, voit käyttää versiossa 1.5.18 esiintyvää kykyä siirtää välimuistin vedos tiedostoon. Seuraavalla käynnistyksellä voit palauttaa välimuistin tästä tiedostosta poistaaksesi sisällön prosessorien kuormitushuiput, koska välimuisti on tyhjä (välimuistista tulee heti ”lämmin”).
Toinen tärkeä muutos Memcached 1.6:ssa oli verkkoviestintäkoodin uusiminen, joka on mukautettu käsittelemään automaattisesti eräpyynnöt yhden järjestelmäkutsun sisällä. Aikaisemmin, kun lähetettiin useita GET-komentoja yhdessä TCP-paketissa, memcached lähetti tulokset erillisillä järjestelmäkutsuilla. Memcached 1.6:ssa vastaukset kootaan yhteen ja palautetaan lähettämällä yksi järjestelmäkutsu. Tämän seurauksena näppäintä on nyt keskimäärin 1.5 näppäintä per järjestelmäpuhelu, mikä testeissä osoittaa prosessorin kuormituksen vähenemisen jopa 25 % ja latenssin pienenemisen useilla prosenteilla.
Verkkoalijärjestelmän uudelleensuunnittelu mahdollisti myös siirtymisen dynaamiseen puskurien allokointiin tarpeen mukaan puskurien staattisen osoittamisen sijaan. Tämä optimointi vähensi muistin kulutusta odottaessaan uusia komentoja asiakkaan muodostaman yhteyden kautta 4.5 kt:sta 400-500 tavuun ja mahdollisti myös monien malloc-, realloc- ja free-kutsujen poistamisen, jotka johtavat tarpeettomaan muistin pirstoutumiseen järjestelmät, joissa on suuri määrä yhteyksiä. Jokainen työsäie käsittelee nyt omaa luku- ja kirjoituspuskurivalikoimaansa aktiivisille asiakasyhteyksille. Voit säätää näiden puskurien kokoa
Vaihtoehdot "-o resp_obj_mem_limit=N" ja "-o read_buf_mem_limt=N" tarjotaan.
Branch 1.6 ilmoitti myös käytöstä poistamisesta
Lähde: opennet.ru