Hacker News

Tair Haen Cache Rhwng Dethol a Disg

Tair Haen Cache Rhwng Dethol a Disg Mae'r archwiliad hwn yn ymchwilio i dri, gan archwilio ei arwyddocâd a'i effaith bosibl. Cysyniadau Craidd dan sylw Mae'r cynnwys hwn yn archwilio: Egwyddorion a damcaniaethau sylfaenol Ymarfer...

9 min read Via frn.sh

Mewayz Team

Editorial Team

Hacker News

Pan fydd eich cais yn tanio datganiad SELECT, nid yw'r ymholiad hwnnw bron byth yn cyffwrdd â disg nyddu neu hyd yn oed storfa fflach amrwd - mae'n mynd trwy dair haen storfa wahanol sy'n penderfynu'n dawel a yw'ch ymateb yn cyrraedd mewn microeiliadau neu milieiliadau. Deall yr haenau hyn yw'r gwahaniaeth rhwng platfform busnes sy'n graddio'n ddiymdrech ac un sy'n byclau o dan lwyth y byd go iawn.

Beth Sy'n Digwydd yr Foment y mae Ymholiad DEWIS yn Gadael Eich Cais?

Y foment y bydd eich cais yn anfon ymholiad SELECT, mae'n mynd i mewn i biblinell nad yw'r rhan fwyaf o ddatblygwyr byth yn ei harchwilio. Mae'r peiriant cronfa ddata yn rhyng-gipio'r cais cyn i unrhyw I/O ddigwydd, gan ddosrannu'r SQL yn gynllun gweithredu mewnol ac ymgynghori ar unwaith â'i linell amddiffyn gyntaf: storfa canlyniad yr ymholiad. Os gweithredwyd ymholiad union yr un fath yn ddiweddar gyda pharamedrau union yr un fath, gall yr injan ddychwelyd set canlyniadau wedi'i storio heb gyffwrdd ag un dudalen o ddata. Gelwir hyn weithiau yn celc ymholiad neu storfa canlyniadau, ac ar lwythi gwaith darllen uchel, ysgrifennu isel - fel dangosfyrddau dadansoddeg a modiwlau adrodd - gall ddileu'r mwyafrif helaeth o ddarlleniadau disg yn gyfan gwbl.

Y mewnwelediad hollbwysig yma yw bod storfa'r ymholiad yn sensitif iawn i dreigladau data. Mae unrhyw INSERT, UPDATE, neu DELETE yn erbyn y tabl gwaelodol yn annilysu canlyniadau cached perthnasol. Dyma pam mae systemau trafodion ysgrifennu-trwm yn aml yn analluogi storfa'r ymholiad yn gyfan gwbl ac yn dibynnu ar yr haenau dyfnach yn lle hynny.

Beth Yw'r Pwll Clustogi a Pam Mae'n Bwysig Mwy Na'r Eich Meddwl?

Yr ail haen storfa — a gellir dadlau y pwysicaf mewn systemau cynhyrchu — yw'r pwll byffer (a elwir yn glustogfa a rennir yn PostgreSQL, cronfa byffer InnoDB yn MySQL). Mae hwn yn rhanbarth o RAM y mae'r peiriant cronfa ddata yn ei ddefnyddio i ddal tudalennau data a gyrchwyd yn ddiweddar. Pan na ellir cyflwyno ymholiad o'r celc canlyniad, mae'r injan yn gwirio a yw'r tudalennau data gofynnol eisoes yn byw yn y gronfa glustogi cyn cyhoeddi unrhyw ddarlleniad disg.

Mae’r gronfa glustogi yn gweithredu ar yr egwyddor o leoliad amser a gofodol: mae’n debygol y bydd modd cyrchu data a gyrchwyd yn ddiweddar eto, ac mae’n debygol y bydd modd cyrchu data sydd wedi’i storio ger data a gyrchwyd yn fuan. Mae gweinyddwyr cronfeydd data yn tiwnio maint pwll clustogi fel un o'r penderfyniadau cyfluniad trosoledd uchaf y maent yn eu gwneud. Mae cronfa glustogi sy'n rhy fach yn achosi dadfeddiant cyson o dudalennau, gan gynhyrchu ffenomen o'r enw thrashing, lle mae'r system yn treulio mwy o amser yn rheoli methiannau celc na chyflawni ymholiadau.

Mewnwelediad Allweddol: Yn y rhan fwyaf o lwythi gwaith OLTP, mae cronfa glustogi maint da yn golygu bod 95–99% o'r holl ddata a ddarllenir yn cael eu gwasanaethu o RAM. Mae'r set waith - yr is-set o'ch data y mae ymholiadau'n cyffwrdd yn aml mewn gwirionedd - yn aml yn llawer llai na chyfanswm maint y gronfa ddata. Maint eich cronfa glustogi i ffitio eich set waith, nid eich set ddata gyfan, yw'r weithred tiwnio sengl uchaf y gallwch ei gymryd.

Sut Mae Cache y System Weithredu yn Llenwi'r Bwlch Rhwng RAM a Disg?

Hyd yn oed pan fydd cronfa glustogi'r gronfa ddata ei hun yn methu, nid yw ymholiad wedi'i fwriadu eto i gael gwir ddarlleniad disg. Mae'r system weithredu yn cynnal celc tudalen (a elwir hefyd yn storfa'r system ffeiliau), rhanbarth o RAM a reolir gan y cnewyllyn sy'n clustogi darllen ac ysgrifennu i rwystro dyfeisiau. Pan fydd peiriant y gronfa ddata yn gofyn am dudalen sy'n absennol o'i bwll byffer, mae cnewyllyn yr OS yn gwirio ei storfa tudalennau ei hun cyn rhoi gorchymyn I/O ffisegol i'r rheolydd storio.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Mae'r drydedd haen hon yn anweledig i raddau helaeth i ddatblygwyr rhaglenni ond mae'n hynod bwysig ar systemau lle nad oes digon o ddarpariaeth yn y gronfa glustogi cronfa ddata. Rhennir storfa tudalen OS ar draws pob proses, felly mae'n cystadlu â'ch gweinydd cais, gweinydd gwe, ac unrhyw feddalwedd arall sy'n rhedeg ar yr un gwesteiwr. Ar weinyddion cronfa ddata pwrpasol, mae'r gystadleuaeth hon yn fach iawn, ac mae storfa'r OS yn darparu byffer ail-gyfle ystyrlon. Ar westeion a rennir neu gynwysyddion gyda chyfyngiadau cof tynn, mae storfa'r OS yn aml yn rhy fach i helpu.

Pa Haen Cache Sy'n Gyfrifol am y Perfformiad Mwyaf sy'n Ennill Yn Ymarferol?

Mewn systemau cynhyrchu byd go iawn, mae'r gronfa glustogi yn dominyddu canlyniadau perfformiad o gryn dipyn. Dyma pam mae pob haen yn cyfrannu'n wahanol ar draws achosion defnydd:

  • Cisté canlyniad ymholiad: Y budd mwyaf ar setiau data darllen-trwm, statig yn bennaf - adrodd ymholiadau, dangosfyrddau wedi'u storio, diweddbwyntiau cynnwys cyhoeddus. Yn ddiwerth ar dablau ysgrifennu-trwm.
  • Cronfa glustogi cronfa ddata: Y ceffyl gwaith cyffredinol. Dylid tiwnio pob gweinydd cronfa ddata cynhyrchu yma yn gyntaf. Yn trin patrymau mynediad ar hap a dilyniannol yn effeithlon.
  • Cisté tudalen OS: Yn darparu rhwyd ​​ddiogelwch pan fo'r gronfa glustogi yn rhy fach. Mae hefyd yn helpu'n sylweddol yn ystod sganiau dilyniannol o dablau mawr a fyddai fel arall yn troi tudalennau poeth allan o'r gronfa glustogi.
  • Cuddfan rheolydd storio (haen caledwedd): Pedwaredd haen sy'n cael ei hanwybyddu'n aml - mae NVMe SSDs a rheolwyr RAID yn cynnal celciau ysgrifennu ar y bwrdd gyda batri neu gynhwysydd wrth gefn. Mae hyn yn diogelu gwydnwch heb aberthu trwybwn ysgrifennu ar draul latency fsync.
  • Cisté haen-cymhwysiad (Redis, Memcached): Yn eistedd uwchben y gronfa ddata yn gyfan gwbl, yn cadw canlyniadau ymholiadau cyfresol neu wrthrychau wedi'u cyfrifo i osgoi taro'r gronfa ddata o gwbl - yn ddelfrydol ar gyfer llwyfannau SaaS aml-denant sy'n gwasanaethu miloedd o ddefnyddwyr cydamserol.

Sut y Gall Llwyfannau Busnes Modern Drosoli Pensaernïaeth Cache i fod yn Ddibynadwy ar Raddfa?

Ar gyfer busnesau sy'n gweithredu ar draws llawer o fodiwlau swyddogaethol - CRM, rheoli prosiect, e-fasnach, dadansoddeg - mae pensaernïaeth storfa yn pennu ymatebolrwydd platfformau yn uniongyrchol wrth i dimau dyfu. Gall llwyfannau sydd wedi'u hadeiladu ar strategaeth cache haenog wasanaethu degau o filoedd o ddefnyddwyr cydamserol heb gost seilwaith cymesur. Yr allwedd yw dylunio patrymau mynediad data sy'n parchu ffiniau celc: cadw data poeth yn fach a phatrymau mynediad rhagweladwy, defnyddio atgynyrchiadau darllen i ddosbarthu llwyth cronfa byffer, a gosod celc haen-cymhwysiad fel Redis o flaen y gronfa ddata ar gyfer pwyntiau terfyn sy'n gwasanaethu data unfath i ddefnyddwyr lluosog ar yr un pryd.

Mae Mewayz wedi'i lunio â'r union athroniaeth hon mewn golwg. Gyda 207 o fodiwlau busnes integredig yn pweru dros 138,000 o ddefnyddwyr, mae haen ddata'r platfform wedi'i dylunio fel bod mwyafrif llethol y darlleniadau yn cael eu gweini o'r storfa - gan gadw amseroedd ymateb yn gyflym a chostau seilwaith yn rhagweladwy p'un a ydych chi'n rhedeg ar y cynllun cychwyn $19/mis neu'r haen broffesiynol $49/mis.

Cwestiynau Cyffredin

A yw analluogi storfa'r ymholiad bob amser yn gwella perfformiad y gronfa ddata?

Nid bob amser, ond ar gyfer llwythi gwaith ysgrifennu-trwm mae'n ei wneud fel arfer. Mae angen mutecs byd-eang ar y storfa ymholiad i gynnal cysondeb, sy'n dod yn dagfa o dan arian cyfred uchel. Tynnodd MySQL 8.0 storfa'r ymholiad yn gyfan gwbl am y rheswm hwn. Ni weithredodd PostgreSQL storfa ymholiad adeiledig erioed, gan ddibynnu yn lle hynny ar y pwll clustogi a'r storfa haen-cymhwysiad. Os yw eich cymhareb darllen-i-ysgrifennu yn uchel a'ch ymholiadau'n ailadroddus iawn, gall celc ymholiad ddod â gwir enillion - fel arall, buddsoddwch yr ymdrech tiwnio honno yn y gronfa glustogi.

Sut ydw i'n gwybod a yw maint fy mhwll byffer yn gywir?

Monitro eich cymhareb taro cronfa byffer: canran y ceisiadau tudalennau a gyflwynwyd o'r gronfa yn erbyn y rhai sydd angen darlleniad disg. Mae cymhareb taro o dan 95% ar lwyth gwaith OLTP yn arwydd i gynyddu maint y pwll. Yn MySQL, holwch DANGOS STATUS INNODB ENGINE ac edrychwch ar gyfradd taro'r pwll byffer. Yn PostgreSQL, mae'r olygfa pg_statio_user_tables yn datgelu blociau tomen a ddarllenwyd o ddisg yn erbyn gwasanaeth o'r gronfa glustogi. Anelwch at gadw'ch set waith gyfan - nid eich set ddata lawn - yn byw yn RAM.

Beth yw'r berthynas rhwng haenau celc a dibynadwyedd SaaS aml-denant?

Mewn SaaS aml-denant, mae haenau celc yn atal problemau "cymydog swnllyd" lle mae llwyth ymholiad trwm un tenant yn diraddio perfformiad pob tenant arall. Mae celcio cymwysiadau sy'n ymwybodol o denantiaid gydag annilysu sy'n seiliedig ar TTL yn cadw data poeth fesul tenant yn Redis, gan leihau'n sylweddol y pwysau cronfa glustogi o gyfrifon mawr. Mae cronni cysylltiadau ar lefel cronfa ddata ynghyd â chronfa glustogi cynnes yn sicrhau nad yw gweithgarwch byrstio o unrhyw gyfrif unigol yn fflysio tudalennau a rennir o'r storfa ac yn achosi pigau cudd ar draws y platfform.


Nid yw haenau cache yn ddibwys cronfa ddata - dyma'r sylfaen bensaernïol sy'n gwahanu platfformau sy'n aros ar raddfa gyflym oddi wrth y rhai sydd angen diffodd tân seilwaith cyson. Os ydych chi'n adeiladu neu'n rhedeg busnes sydd angen platfform sydd eisoes wedi'i optimeiddio ar gyfer y realiti hyn, archwiliwch Mewayz yn app.mewayz.com — 207 modiwl, un llwyfan cydlynol, wedi'i adeiladu i berfformio'n ddibynadwy o'ch defnyddiwr cyntaf i'ch can mil.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Related Guide

HR Management Guide →

Manage your team effectively: employee profiles, leave management, payroll, and performance reviews.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime