Ho lokolloa ha Memcached 1.6.0 ka ts'ehetso ea polokelo ea kantle e lumelletsoeng

etsahetse tokollo e kholo ea sistimi ea polokelo ea data ea memoring Memcached 1.6.0, e sebetsang ho data ka mokhoa oa bohlokoa / oa boleng 'me ho bonolo ho e sebelisa. Memcached e atisa ho sebelisoa e le tharollo e bobebe ho potlakisa mosebetsi oa libaka tse nang le thepa e ngata ka ho boloka caching ho DBMS le data e bohareng. Khoutu fuoa tlas'a laesense ea BSD.

Phetolelo e ncha e tsitsisa ts'ebetsong ea polokelo "extstore", e seng e hahiloe ka ho sa feleng (ho thibela script, khetho ea "-disable-extstore" e fanoe), empa e hloka ts'ebetso e hlakileng ha e qala (lits'ebetso tsa khale li tla tsoela pele ho sebetsa ntle le liphetoho ka mor'a ntlafatso). Leha extstore ka kakaretso e nkuoa e tsitsitse, tlhokomeliso e eletsoa ha e e kenya tšebetsong litsamaisong tse kholo haholo.

Extstore e u lumella ho sebelisa li-drive tsa SSD / Flash ho holisa boholo ba cache. Joalo ka RAM, polokelo ea Flash ha e tšoarelle 'me e tla hlophisoa bocha ha e qala bocha. Boemo ba mokhoa o mocha ke ho netefatsa hore "caching" ea data e kholo e sebetsa hantle. Ha u sebelisa "extstore", linotlolo le metadata, joalo ka pele, li bolokiloe feela ho RAM, empa lintlha tse kholo tse amanang le linotlolo, boholo ba tsona bo fetang moeli o behiloeng, li bolokiloe polokelong ea kantle, 'me pointer feela e sala ho RAM.

Haeba senotlolo se amahanngoa le data e nyenyane, joale Memcached e sebetsa ka mokhoa o tloaelehileng, e boloka boitsebiso ka mohopolong 'me ha e fihlelle polokelo ea ka ntle. Haeba ho na le mohopolo o mongata oa mahala, data e hlokahalang ka ho fetesisa e ka fumaneha ka ho felletseng ka har'a cache ho RAM (mohlala, o ka hlakisa hore ke lintho tse kholo ho feta 1024 bytes tse so fihlelletsoeng ka metsotsoana e 3600 li khutlisetsoa ho Flash. ).

Ts'ebetsong e ntlafalitsoe ho netefatsa ts'ebetso e phahameng le moroalo o fokolang oa CPU, ka litšenyehelo tsa ts'ebetso ea polokelo (boemo bo phahameng ba ho arohana). Ho lelefatsa bophelo ba li-flash drive, data e bolokoa ebe e fetisetsoa polokelong ka tatellano. Ho boloka boemo ba cache lipakeng tsa ho qala bocha, o ka sebelisa bokhoni bo hlahileng tokollong ea 1.5.18 ho lahlela cache e lahletsoeng faeleng. Qalong e latelang, o ka tsosolosa cache ho tloha faeleng ena ho tlosa litlhōrō tsa mojaro ho li-processor tsa dikahare ka lebaka la hore cache e se na letho (cache hang-hang e fetoha "mofuthu").

Phetoho ea bobeli ea bohlokoa ho Memcached 1.6 e ne e le ho tsosolosoa ha khoutu ea puisano ea marang-rang, e lokiselitsoeng ho sebetsa ka bo eona likopo tsa batch ka har'a mohala o le mong oa tsamaiso. Nakong e fetileng, ha u romela litaelo tse ngata tsa GET ka pakete e le 'ngoe ea TCP, memcached e ne e tla romela liphetho ka mehala e arohaneng ea tsamaiso. Ho Memcached 1.6, likarabo li kopantsoe 'me li khutlisetsoa ka ho romella mohala o le mong oa sistimi. Ka lebaka leo, hona joale ho na le karolelano ea linotlolo tsa 1.5 ka mohala oa tsamaiso, tseo litekong li bontšang ho fokotseha ha CPU ka 25% le ho fokotseha ha latency ka liphesente tse 'maloa.

Ho hlophisoa bocha ha sistimi e nyane ea marang-rang ho boetse ho entse hore ho khonehe ho fetela kabong e matla ea li-buffer kamoo ho hlokahalang, ho fapana le ho abela li-buffers ka mokhoa o tsitsitseng. Ntlafatso ena e fokolitse ts'ebeliso ea mohopolo ha o ntse o emetse litaelo tse ncha ka khokahano e thehiloeng ke moreki ho tloha ho 4.5 KB ho isa ho 400-500 byte, hape e entse hore ho khonehe ho tlosa mehala e mengata ho malloc, realloc le mahala, e lebisang karohanong e sa hlokahaleng ea memori. litsamaiso tse nang le palo e kholo ea likhokahano. Khoele e 'ngoe le e 'ngoe ea basebetsi e se e sebetsana le letamo la eona la ho bala le ho ngola li-buffers bakeng sa likhokahano tse sebetsang tsa bareki. Ho lokisa boholo ba li-buffers tsena
dikgetho "-o resp_obj_mem_limit=N" le "-o read_buf_mem_limt=N" li fanoe.

Lekala la 1.6 le lona le phatlalalitse ho theoloa ha binary protocol tšebelisano le seva. Tlhokomelo ea li-binary protocol le li-bug fix li tla tsoela pele, empa likarolo tse ncha le lintlafatso tsa likarolo tse teng li ke ke tsa kenngoa. Protocol ea mongolo e tla tsoela pele ho ntlafala ntle le liphetoho. Protocol ea binary e nkeloe sebaka ke protocol e ncha pakane ea bona (mofuta oa mongolo oa protocol o nang le compact meta-commands), e bonts'ang motsoako o nepahetseng oa ts'ebetso le ts'epahalo. Protocol e ncha e akaretsa lits'ebetso tsohle tse neng li fumaneha pele ka mongolo le li-protocol tsa binary.

Source: opennet.ru

Eketsa ka tlhaloso