Itusilẹ ti Memcached 1.6.0 pẹlu atilẹyin fun ibi ipamọ ita ṣiṣẹ

waye itusilẹ pataki ti eto fifipamọ data inu-iranti Memcached 1.6.0, eyiti o nṣiṣẹ lori data ni ọna kika bọtini / iye ati rọrun lati lo. Memcached ni a maa n lo bi ojutu iwuwo fẹẹrẹ lati yara si iṣẹ awọn aaye fifuye giga nipasẹ fifipamọ iwọle si DBMS ati data agbedemeji. Koodu pese labẹ iwe-aṣẹ BSD.

Ẹya tuntun jẹ iduro imuse ti ibi ipamọ naa "extstore", eyi ti a ti kọ ni bayi nipasẹ aiyipada (lati mu kuro ninu iwe afọwọkọ atunto, aṣayan "-disable-extstore" ti pese), ṣugbọn o nilo imuṣiṣẹ ti o han gbangba ni ibẹrẹ (awọn fifi sori ẹrọ atijọ yoo tẹsiwaju lati ṣiṣẹ laisi awọn ayipada lẹhin imudojuiwọn). Botilẹjẹpe a gba pe extstore ni gbogbogbo lati jẹ iduroṣinṣin, iṣọra ni imọran nigba imuse rẹ lori awọn eto nla pupọ.

Extstore faye gba o lati lo SSD/Flash drives lati faagun awọn kaṣe iwọn. Bi pẹlu Ramu, Filaṣi ipamọ kii ṣe yẹ ati pe o tun bẹrẹ ni atunbere. Iwọn ti ipo tuntun ni lati rii daju caching daradara ti data nla. Nigbati o ba nlo “extstore”, awọn bọtini ati awọn metadata jẹ, bi tẹlẹ, ti o fipamọ sinu Ramu nikan, ṣugbọn data nla ti o ni nkan ṣe pẹlu awọn bọtini, iwọn eyiti o kọja iloro ti a ṣeto, ti wa ni ipamọ ni ibi ipamọ ita, ati ijuboluwole nikan wa ni Ramu.

Ti bọtini ba ni nkan ṣe pẹlu data kekere, lẹhinna Memcached ṣiṣẹ bi igbagbogbo, tọju data naa ni iranti ati ko wọle si ibi ipamọ ita. Ti iranti ọfẹ ba wa, lẹhinna data ti o nilo julọ le tun wa ni kikun ninu kaṣe ni Ramu (fun apẹẹrẹ, o le pato pe awọn nkan nikan ti o tobi ju awọn baiti 1024 ti ko wọle fun awọn aaya 3600 ni a tunto si Flash). ).

Awọn imuse ti wa ni iṣapeye lati rii daju pe o pọju iṣẹ ati fifuye Sipiyu ti o kere ju, ni laibikita fun ṣiṣe ipamọ (ipele giga ti pipin). Lati fa igbesi aye awọn awakọ Flash gbooro sii, data ti wa ni ifipamọ ati ṣan silẹ si ibi ipamọ lẹsẹsẹ. Lati ṣafipamọ ipo kaṣe laarin awọn atunbẹrẹ, o le lo agbara ti o han ni itusilẹ 1.5.18 lati ju idalẹnu kaṣe kan si faili kan. Ni ibẹrẹ ti nbọ, o le mu kaṣe pada lati faili yii lati yọkuro awọn oke giga ninu fifuye lori awọn ilana akoonu nitori kaṣe ti ṣofo (kaṣe naa lẹsẹkẹsẹ di “gbona”).

Iyipada pataki keji ni Memcached 1.6 ni atunṣe koodu ibaraẹnisọrọ nẹtiwọọki, eyiti o ṣe deede lati ṣe ilana awọn ibeere ipele laifọwọyi laarin ipe eto kan. Ni iṣaaju, nigba fifiranṣẹ awọn aṣẹ GET pupọ ni apo TCP kan, memcached yoo firanṣẹ awọn abajade pẹlu awọn ipe eto lọtọ. Ni Memcached 1.6, awọn idahun jẹ akojọpọ ati pada nipasẹ fifiranṣẹ ipe eto ẹyọkan. Bi abajade, ni bayi ni aropin ti awọn bọtini 1.5 fun ipe eto, eyiti ninu awọn idanwo ṣe afihan idinku ninu fifuye Sipiyu nipasẹ to 25% ati idinku ninu lairi nipasẹ ọpọlọpọ ogorun.

Atunse ti awọn nẹtiwọki subsystem tun jẹ ki o ṣee ṣe lati gbe lọ si ìmúdàgba ipin ti buffers bi ti nilo, dipo ti statically sọtọ buffers. Imudara yii dinku agbara iranti lakoko ti o nduro fun awọn aṣẹ tuntun nipasẹ asopọ ti iṣeto ti alabara lati 4.5 KB si 400-500 awọn baiti, ati tun jẹ ki o ṣee ṣe lati yọkuro ọpọlọpọ awọn ipe si malloc, realloc ati ọfẹ, eyiti o yori si pipin iranti ti ko wulo lori awọn ọna šiše pẹlu kan ti o tobi nọmba ti awọn isopọ. Okun oṣiṣẹ kọọkan n ṣe ọwọ adagun kika tirẹ ati kikọ awọn buffers fun awọn asopọ alabara ti nṣiṣe lọwọ. Lati ṣatunṣe iwọn ti awọn buffers wọnyi
awọn aṣayan "-o resp_obj_mem_limit=N" ati "-o read_buf_mem_limt=N" ti pese.

Ẹka 1.6 tun kede idinku ti alakomeji Ilana ibaraenisepo pẹlu olupin. Itọju ilana ilana alakomeji ati awọn atunṣe kokoro yoo tẹsiwaju, ṣugbọn awọn ẹya tuntun ati awọn imudojuiwọn si awọn ẹya ti o wa tẹlẹ kii yoo gbejade. Ilana ọrọ yoo tesiwaju lati se agbekale lai ayipada. Ilana alakomeji ti rọpo nipasẹ ilana tuntun ìlépa (ẹya ọrọ ti ilana naa pẹlu awọn aṣẹ-meta-iwapọ), ti n ṣe afihan apapọ iṣẹ ṣiṣe ati igbẹkẹle to dara julọ. Ilana tuntun naa bo gbogbo awọn iṣẹ ṣiṣe ti o wa tẹlẹ nipasẹ ọrọ ati awọn ilana alakomeji.

orisun: opennet.ru

Fi ọrọìwòye kun