Kuburitswa kweMemcached 1.6.0 nerutsigiro rwekuchengetera kwekunze kunogoneswa

zvakaitika kuburitswa kwakakosha kwe-in-memory data caching system Memcached 1.6.0, iyo inoshanda pane data mune kiyi / kukosha fomati uye iri nyore kushandisa. Memcached inowanzo shandiswa seyakareruka mhinduro yekumhanyisa basa renzvimbo dzakaremerwa nekuita caching kupinda kuDBMS uye data yepakati. Code zvakapihwa pasi peBSD rezinesi.

Iyo vhezheni nyowani inodzikamisa kushandiswa kwekuchengetedza "extstore", iyo ikozvino yakavakirwa nekusarudzika (kudzima mune yekumisikidza script, iyo sarudzo" -disable-extstore "inopihwa), asi inoda kujekeswa activation pakutanga (kuisirwa kwekare kucharamba kuchishanda pasina shanduko mushure mekuvandudzwa). Kunyangwe extstore ichiwanzoonekwa seyakagadzikana, kungwarira kunorairwa kana uchiishandisa pane yakakura kwazvo masisitimu.

Extstore inobvumidza iwe kushandisa SSD/Flash madhiraivha kuwedzera saizi yecache. Sezvakaita RAM, Flash chengetedzo haisi yekusingaperi uye inogadzwa patsva panotangazve. Chiyero cheiyo modhi nyowani ndeyekuona inobudirira caching yedata hombe. Paunenge uchishandisa "extstore", makiyi uye metadata, sezvakamboita, zvakachengetwa chete mu RAM, asi yakakura data yakabatana nemakiyi, saizi yaro inodarika chikumbaridzo chakaiswa, inochengeterwa kunze kwekuchengetedza, uye chete pointer inoramba iri mu RAM.

Kana kiyi yakabatana nediki data, ipapo Memcached inoshanda semazuva ese, inochengeta iyo data mundangariro uye haigone kuwana kunze kwekuchengetedza. Kana paine yakawanda yemahara ndangariro, saka iyo inonyanya kudiwa data inogona zvakare kuwanikwa yakazara mucache mu RAM (semuenzaniso, unogona kutsanangura kuti chete zvinhu zvakakura kupfuura 1024 bytes zvisina kuwanikwa kwe3600 masekonzi zvinoiswa patsva kuFlash. )

Kuitwa kwacho kwakagadziridzwa kuti ive nechokwadi chekushanda kwakanyanya uye kushoma kweCPU mutoro, pamutengo wekuchengetedza kunyatsoshanda (yepamusoro mwero wekutsemuka). Kuti uwedzere hupenyu hweFlash drive, data inobhurwa uye inonyungudutswa mukuchengetedza zvakatevedzana. Kuchengetedza cache mamiriro pakati restarts, unogona kushandisa kugona kwakaonekwa mukuburitswa 1.5.18 kurasa cache dump kufaira. Pakutanga kunotevera, unogona kudzoreredza cache kubva mufaira iyi kubvisa peaks mumutoro pane zvemukati processors nekuda kwekuti cache isisina chinhu (cache inova "inodziya").

Shanduko yechipiri yakakosha muMemcached 1.6 yaive yekugadzirisa zvakare network network kodhi, iyo inogadziridzwa kuti igadzirise otomatiki zvikumbiro zvebatch mukati meimwe system yekufona. Pakutanga, kana uchitumira akawanda GET mirairo mune imwechete TCP packet, memcached yaitumira mibairo neyakasiyana nharembozha. MuMemcached 1.6, mhinduro dzinounganidzwa uye dzinodzoserwa nekutumira imwe chete system call. Nekuda kweizvozvo, pave neavhareji yemakiyi e1.5 pane kufona system, iyo mumiyedzo inoratidza kudzikiswa kweCPU mutoro kusvika ku25% uye kudzikiswa kwekunonoka ne akati wandei muzana.

Kugadziridzwa patsva kweiyo network subsystem zvakare kwakaita kuti zvikwanise kutamira kune ine simba yekugovera mabuffers sezvinodiwa, panzvimbo yekupa statically mabuffers. Iyi optimization yakaderedza kushandiswa kwendangariro uchimirira mirairo mitsva kuburikidza nemutengi-yakagadziriswa yekubatanidza kubva 4.5 KB kusvika 400-500 bytes, uye zvakare yakaita kuti ikwanise kubvisa akawanda mafoni ku malloc, realloc uye yemahara, izvo zvinotungamira kune zvisina kufanira ndangariro kupatsanurwa pa. masisitimu ane nhamba huru yekubatanidza. Imwe neimwe tambo yevashandi ikozvino inobata dziva rayo rekuverenga nekunyora mabuffers ekushanda kwevatengi kubatana. Kugadzirisa saizi yemabhafa aya
sarudzo "-o resp_obj_mem_limit=N" uye "-o read_buf_mem_limt=N" dzakapihwa.

Bazi 1.6 rakazivisawo kubviswa kwe binary protocol kusangana ne server. Binary protocol gadziriso uye gadziriso yebug ichaenderera mberi, asi zvitsva zvimiro uye zvigadziriso kune zviripo hazvisi kutakurwa. Text protocol icharamba ichikura pasina shanduko. Iyo binary protocol yakatsiviwa neprotocol itsva chinangwa (shanduro yezvinyorwa zveprotocol ine compact meta-commands), ichiratidza musanganiswa wakakwana wekuita uye kuvimbika. Iyo protocol nyowani inovhara mashandiro ese aimbowanikwa kuburikidza nemavara uye mabhinari protocol.

Source: opennet.ru

Voeg