Rhyddhad Memcached 1.6.0 gyda chefnogaeth storio allanol wedi'i alluogi

cymryd lle rhyddhau sylweddol o'r system storio data mewn cof Memcached 1.6.0, sy'n gweithredu ar ddata mewn fformat allwedd/gwerth ac sy'n hawdd ei ddefnyddio. Mae Memcached fel arfer yn cael ei ddefnyddio fel datrysiad ysgafn i gyflymu safleoedd llwyth uchel trwy gadw mynediad i'r DBMS a data canolraddol. CΓ΄d cyflenwi dan y drwydded BSD.

Mae'r fersiwn newydd yn sefydlogi gweithrediad y storfa "storfa allanol", sydd bellach wedi'i adeiladu yn ddiofyn (i analluogi yn y sgript ffurfweddu, darperir yr opsiwn "-disable-extstore"), ond mae angen actifadu penodol wrth gychwyn (bydd hen osodiadau yn parhau i weithio heb newidiadau ar Γ΄l y diweddariad). Er yr ystyrir yn gyffredinol bod storfa allanol yn sefydlog, fe'ch cynghorir i fod yn ofalus wrth ei weithredu ar systemau mawr iawn.

Mae Extstore yn caniatΓ‘u ichi ddefnyddio gyriannau SSD/Flash i ehangu maint y storfa. Fel gyda RAM, nid yw storfa Flash yn barhaol ac yn cael ei ailosod ar ailgychwyn. Cwmpas y modd newydd yw sicrhau bod data mawr yn cael ei storio'n effeithlon. Wrth ddefnyddio "extstore", mae allweddi a metadata, fel o'r blaen, yn cael eu storio yn RAM yn unig, ond mae data mawr sy'n gysylltiedig ag allweddi, y mae ei faint yn fwy na throthwy penodol, yn cael ei storio mewn storfa allanol, a dim ond y pwyntydd sy'n aros yn RAM.

Os yw'r allwedd yn gysylltiedig Γ’ data bach, yna mae Memcached yn gweithio fel arfer, yn cadw'r data yn y cof ac nid yw'n cyrchu storfa allanol. Os oes llawer o gof am ddim, yna gellir hefyd lleoli'r data sydd ei angen fwyaf yn gyfan gwbl yn y storfa yn RAM (er enghraifft, gallwch nodi mai dim ond gwrthrychau sy'n fwy na 1024 beit nad ydynt wedi'u cyrchu am 3600 eiliad sy'n cael eu hailosod i Flash ).

Mae'r gweithrediad wedi'i optimeiddio i sicrhau'r perfformiad mwyaf a'r llwyth CPU lleiaf posibl, ar draul effeithlonrwydd storio (lefel uchel o ddarnio). Er mwyn ymestyn oes gyriannau Flash, caiff data ei glustogi a'i fflysio i'w storio yn ddilyniannol. Er mwyn arbed y cyflwr cache rhwng ailgychwyniadau, gallwch ddefnyddio'r gallu a ymddangosodd yn natganiad 1.5.18 i ddympio storfa storfa i ffeil. Yn y cychwyn nesaf, gallwch chi adfer y storfa o'r ffeil hon i gael gwared ar uchafbwyntiau yn y llwyth ar broseswyr cynnwys oherwydd bod y storfa'n wag (mae'r storfa'n dod yn "gynnes") ar unwaith.

Yr ail newid pwysig yn Memcached 1.6 oedd ail-weithio'r cod cyfathrebu rhwydwaith, sy'n cael ei addasu i brosesu ceisiadau swp yn awtomatig o fewn galwad system sengl. Yn flaenorol, wrth anfon gorchmynion GET lluosog mewn un pecyn TCP, byddai memcached yn anfon y canlyniadau gyda galwadau system ar wahΓ’n. Yn Memcached 1.6, caiff ymatebion eu hagregu a'u dychwelyd trwy anfon un galwad system. O ganlyniad, mae cyfartaledd o 1.5 allwedd fesul galwad system ar gyfartaledd, sydd mewn profion yn dangos gostyngiad yn y llwyth CPU hyd at 25% a gostyngiad mewn hwyrni o sawl y cant.

Roedd ailgynllunio is-system y rhwydwaith hefyd yn ei gwneud hi'n bosibl symud i ddyraniad deinamig o glustogau yn Γ΄l yr angen, yn lle neilltuo byfferau yn statig. Fe wnaeth y optimeiddio hwn leihau'r defnydd o gof wrth aros am orchmynion newydd trwy gysylltiad a sefydlwyd gan gleientiaid o 4.5 KB i 400-500 beit, a hefyd yn ei gwneud hi'n bosibl cael gwared ar lawer o alwadau i malloc, realloc ac am ddim, sy'n arwain at ddarnio cof diangen ar systemau gyda nifer fawr o gysylltiadau. Mae pob llinyn gweithiwr bellach yn trin ei gronfa ei hun o glustogau darllen ac ysgrifennu ar gyfer cysylltiadau gweithredol Γ’ chleientiaid. I addasu maint y byfferau hyn
darperir yr opsiynau β€œ-o resp_obj_mem_limit=N” a β€œ-o read_buf_mem_limt=N”.

Cyhoeddodd Cangen 1.6 hefyd ddibrisiad o protocol deuaidd rhyngweithio gyda'r gweinydd. Bydd gwaith cynnal a chadw protocol deuaidd a thrwsio namau yn parhau, ond ni fydd nodweddion newydd a diweddariadau i nodweddion presennol yn cael eu trosglwyddo. Protocol testun yn parhau i ddatblygu heb newidiadau. Mae'r protocol deuaidd wedi'i ddisodli gan brotocol newydd meta (fersiwn testun o'r protocol gyda meta-orchymynion cryno), gan ddangos y cyfuniad gorau posibl o berfformiad a dibynadwyedd. Mae'r protocol newydd yn cwmpasu'r holl weithrediadau a oedd ar gael yn flaenorol trwy brotocolau testun a deuaidd.

Ffynhonnell: opennet.ru

Ychwanegu sylw