Hacker News

Telo sosona Cache eo anelanelan'ny Select sy Disk

Telo sosona Cache eo anelanelan'ny Select sy Disk Ity fikarohana ity dia mizara ho telo, mandinika ny maha-zava-dehibe azy sy ny mety ho fiantraikany. Hevitra fototra voarakitra Ity atiny ity dia mikaroka: Fitsipika fototra sy teoria Practice...

9 min read Via frn.sh

Mewayz Team

Editorial Team

Hacker News

Rehefa mandefa fanambarana SELECT ny fampiharanao, dia saika tsy mikitika kapila mihodinkodina na fitahirizana tselatra manta mihitsy aza io fanontaniana io — mandalo amina sosona cache telo miavaka izay mamaritra mangina raha tonga ao anatin'ny microsecond na milisegondra ny valinteninao. Ny fahatakarana ireo sosona ireo dia ny fahasamihafana misy eo amin'ny sehatra fandraharahana izay mizana tsy mitsaha-mitombo sy ny iray miraikitra amin'ny enta-mavesatra tena izy.

Inona no mitranga rehefa miala amin'ny fampiharanao ny fanontaniana SELECT?

Raha vao mandefa fangatahana SELECT ny fampiharanao dia miditra amin'ny fantsona izay tsy nojeren'ny ankamaroan'ny mpamorona izany. Ny motera angon-drakitra dia manakana ny fangatahana alohan'ny hitrangan'ny I/O rehetra, mametraka ny SQL ho drafitra famonoana anatiny ary maka hevitra avy hatrany amin'ny fiarovana voalohany: ny cache valin'ny fangatahana. Raha nisy fangatahana mitovy amin'ny masontsivana mitovy natao vao haingana, ny motera dia afaka mamerina ny vokatra voatahiry tsy mikitika pejy iray misy angona. Ity dia antsoina indraindray hoe cache query na cache valiny, ary amin'ny enta-mavesatra be vakiana sy ambany soratana — toy ny dashboard analyse sy ny maody fanaovana tatitra — dia afaka manafoana tanteraka ny ankamaroan'ny kapila mamaky.

Ny hevi-dehibe eto dia ny cache query dia tena saro-pady amin'ny fiovan'ny angona. Izay INSERT, UPDATE, na DELETE amin'ny tabilao fototra dia manafoana ny valin'ny cache. Izany no mahatonga ny rafi-pandraharahana mavesatra manoratra matetika manaisotra tanteraka ny cache fangatahana ary miantehitra amin'ny sosona lalina kokoa.

Inona no atao hoe dobo buffer ary nahoana no zava-dehibe kokoa noho ny eritreretinao izany?

Ny sosona cache faharoa — ary azo lazaina fa manan-danja indrindra amin'ny rafitra famokarana — dia ny dobo fitehirizana (antsoina hoe buffer zaraina ao amin'ny PostgreSQL, ny dobo fitehirizana InnoDB ao amin'ny MySQL). Ity dia faritry ny RAM ampiasain'ny motera angon-drakitra mba hitazonana pejy data vao haingana. Rehefa tsy azo omena avy amin'ny cache valiny ny fanontaniana, dia manamarina ny motera raha toa ka efa mipetraka ao amin'ny dobo fitehirizam-bokatra ireo pejin'ny angona ilaina alohan'ny hamoahana izay vakina kapila.

Ny dobo buffer dia miasa amin'ny foto-kevitra ara-nofo sy ara-potoana: azo idirana indray ny angona voaray vao haingana, ary azo idirana tsy ho ela ny angona voatahiry akaikin'ny angona azo. Ny mpandrindra ny angon-drakitra dia manendry ny haben'ny dobo buffer ho iray amin'ireo fanapahan-kevitra fanamafisana avo indrindra raisin'izy ireo. Ny dobo buffer izay kely loatra dia miteraka fandroahana pejy tsy tapaka, ka miteraka tranga antsoina hoe thrashing, izay mandany fotoana bebe kokoa amin'ny fitantanana ny cache ny rafitra noho ny fanatanterahana fanontaniana.

Fanazavana fototra: Amin'ny ankamaroan'ny enta-mavesatry ny OLTP, ny dobo buffer lehibe dia midika fa 95-99% amin'ny angona rehetra novakiana dia atolotra amin'ny RAM. Ny andiana miasa - ny ampahany amin'ny angonao izay manontany matetika - dia matetika kely lavitra noho ny haben'ny angona manontolo. Ny famehezana ny dobo fitehirizanao mba hifanaraka amin'ny andiana miasanao, fa tsy ny angon-drakitrao manontolo, no hetsika fampitaovana famerenana ambony indrindra azonao atao.

Ahoana no fomba hamenoan'ny Cache rafitra fandidiana ny elanelana misy eo anelanelan'ny RAM sy ny kapila?

Na dia tsy ampy aza ny dobo fitehirizam-bolan'ny angon-drakitra, dia mbola tsy voatokana ho an'ny famakiana kapila marina ny fangatahana. Ny rafitra miasa dia mitazona cache pejy(antsoina koa hoe cache system file), faritra misy RAM mitantana kernel izay mamaky sy manoratra buffer mba hanakanana fitaovana. Rehefa mangataka pejy tsy hita ao amin'ny dobo fitehirizana azy ny motera angon-drakitra, dia manamarina ny cache pejiny ny kernel OS alohan'ny hamoahana baiko I/O fizika amin'ny mpanara-maso fitahirizana.

💡 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 →

Ity sosona fahatelo ity dia tsy hitan'ny mpamorona fampiharana fa tena zava-dehibe amin'ny rafitra izay tsy ampy ny dobo fitehirizana angona. Ny cache pejin'ny OS dia zaraina amin'ny dingana rehetra, noho izany dia mifaninana amin'ny mpizara fampiharana anao, mpizara tranonkala, ary rindrambaiko hafa mandeha amin'ny mpampiantrano iray ihany. Amin'ny mpizara angon-drakitra voatokana, ity fifaninanana ity dia kely indrindra, ary ny cache OS dia manome buffer faharoa manan-danja. Amin'ny mpampiantrano iombonana na kaontenera misy fetran'ny fitadidiana tery, matetika dia kely loatra ny cache OS ka tsy afaka manampy.

Iza amin'ny Cache Layer no tompon'andraikitra amin'ny fandresen'ny fahombiazana be indrindra amin'ny fampiharana?

Amin'ny rafitra famokarana tena izy, ny dobo buffer dia manjaka amin'ny vokatra vita amin'ny sisiny midadasika. Izao no mahatonga ny sosona tsirairay mandray anjara amin'ny fomba samihafa amin'ny tranga fampiasana:

  • Cache valim-panontaniana: Tombontsoa ambony indrindra amin'ny angon-drakitra mavesatra vakiana, ny ankamaroan'ny angon-drakitra - mitatitra fanontaniana, dashboard voatahiry, teboka faran'ny votoaty ho an'ny daholobe. Tsy misy ilana azy amin'ny tabilao mavesatra.
  • Database buffer dobo: Ny workhorse manerantany. Ny mpizara angon-drakitra famokarana rehetra dia tokony hojerena eto aloha. Mitantana tsara ny fomba fidirana kisendrasendra sy misesy.
  • Cache pejin'ny OS: Manome harato fiarovana rehefa kely ny haben'ny dobo buffer. Manampy betsaka ihany koa mandritra ny fisavana misesy ny latabatra lehibe izay mety handroaka pejy mafana ao amin'ny dobo buffer.
  • Cache mpanara-maso fitehirizana (sosona fitaovana): Sosona fahefatra, matetika tsy hita maso — NVMe SSDs sy RAID controllers dia mitazona ny cache an-tsoratra miaraka amin'ny batterie na capacitor backup. Izany dia miaro ny faharetana nefa tsy manao sorona ny famotsorana ny fanoratana amin'ny fandaniana ny fsync latency.
  • Cache-sosona fampiharana (Redis, Memcached): Mipetraka eo ambonin'ny angon-drakitra manontolo, mitahiry valim-panontaniana misesy na zavatra kajy mba tsy hidona amin'ny angon-drakitra mihitsy — mety indrindra ho an'ny sehatra SaaS mpanofa maro izay manompo mpampiasa an'arivony maro.

Ahoana no ahafahan'ny sehatra fandraharahana maoderina mampiasa ny Architecture Cache mba ho azo itokisana amin'ny ambaratonga?

Ho an'ny orinasa miasa amin'ny maodely miasa maro - CRM, fitantanana tetikasa, e-varotra, analyse - ny rafitra cache dia mamaritra mivantana ny fandraisana andraikitra amin'ny sehatra rehefa mitombo ny ekipa. Ireo sehatra naorina amin'ny paikadin'ny cache misy sosona tsara dia afaka manompo mpampiasa an'aliny miaraka tsy misy vidiny fotodrafitrasa mifandanja. Ny zava-dehibe dia ny fandrafetana lamina fidirana amin'ny angona izay manaja ny fetran'ny cache: fitazonana angon-drakitra mafana ho kely ary azo vinavinaina ny fomba idirana, amin'ny fampiasana kopia vakiana mba hizarana ny entan'ny dobo buffer, ary fametrahana cache sosona fampiharana toa an'i Redis eo anoloan'ny angon-drakitra ho an'ny teboka farany izay manolotra angona mitovy amin'ny mpampiasa maro miaraka.

Mewayz dia novolavolaina tamin'io filozofia io. Miaraka amin'ny maodely fandraharahana 207 mitambatra izay mampiasa mpampiasa 138.000 mahery, ny sosona angon-drakitra ao amin'ny sehatra dia natao mba ho azo avy amin'ny cache ny ankamaroan'ny vakiteny — mitazona ny fotoana famaliana haingana ary azo vinavinaina ny vidin'ny fotodrafitrasa na mandeha amin'ny drafitra fanombohana $19/volana ianao na ny ambaratonga matihanina $49/volana.

Fanontaniana matetika

Manatsara ny fampandehanan-databatra foana ve ny fanesorana ny cache query?

Tsy foana, fa ho an'ny enta-mavesatra manoratra matetika. Ny cache query dia mitaky mutex manerantany mba hihazonana ny tsy fitoviana, izay lasa sakana amin'ny concurrency avo lenta. Ny MySQL 8.0 dia nanala tanteraka ny cache fangatahana noho io antony io. Ny PostgreSQL dia tsy nametraka cache query naorina, fa miantehitra amin'ny dobo buffer sy ny caching layer application. Raha avo lenta ny tahan'ny vakianao-manoratra ary miverimberina be ny fanontanianao, dia afaka mitondra tombony tena izy ny cache query - raha tsy izany, ampidiro ao amin'ny dobo buffer izany ezaka fanitsiana izany.

Ahoana no ahafantarako raha marina ny haben'ny dobo buffer-ko?

Araha-maso ny tahan'ny fikapohana dobo fitehirizanao: ny isan-jaton'ny fangatahana pejy atolotra avy amin'ny dobo miohatra amin'ireo mila vakina kapila. Ny taham-pahavoazana eo ambanin'ny 95% amin'ny enta-mavesatra OLTP dia famantarana hampitomboana ny haben'ny dobo. Ao amin'ny MySQL, manontania SHOW ENGINE INNODB STATUSary jereo ny tahan'ny fikapohana dobo buffer. Ao amin'ny PostgreSQL, ny fijerin'ny pg_statio_user_tables dia mampiseho ireo sakana antontam-bato vakiana avy amin'ny kapila miohatra amin'ny tolotra avy amin'ny dobo buffer. Tanjona ny hitazona ny rafitra miasa manontolo — fa tsy ny angon-drakitrao manontolo — ao amin'ny RAM.

Inona ny fifandraisana misy eo amin'ny sosona cache sy ny fahamendrehan'ny SaaS mpanofa maro?

Ao amin'ny SaaS mpanofa maro, ny sosona cache dia misoroka ny olana "mpifanolo-bodirindrina mitabataba" izay manimba ny fahombiazan'ny mpanofa hafa rehetra ny enta-mavesatry ny fanontanian'ny mpanofa iray. Ny caching fampiasa amin'ny mpanofa miaraka amin'ny fanafoanana mifototra amin'ny TTL dia mitazona angon-drakitra mafana isaky ny mpanofa ao Redis, mampihena be ny tsindry dobo buffer avy amin'ny kaonty lehibe. Ny fitambaran'ny fifandraisana amin'ny angon-drakitra miaraka amin'ny dobo fitehirizana mafana dia miantoka fa ny hetsika fipoahana avy amin'ny kaonty tokana dia tsy manala ny pejy ifampizarana amin'ny cache ary miteraka fisondrotan'ny fahatarana manerana ny lampihazo.


Ny sosona cache dia tsy trivia amin'ny angon-drakitra — izy ireo no fototra ara-javakanto izay manasaraka ireo sehatra izay mijanona haingana amin'ireo izay mitaky famonoana afo tsy tapaka. Raha manorina na mitantana orinasa mila sehatra efa namboarina ho an'ireo zava-misy ireo ianao, jereo ny Mewayz ao amin'ny app.mewayz.com — 207 modules, sehatra iray mirindra, namboarina mba hanatontosana azo ianteherana avy amin'ny mpampiasa voalohany anao ka hatramin'ny faha-1000 anao.