Hacker News

Tolu Fa'ailoga Fa'asao i le Va o Filifili ma Tisiki

Tolu Fa'ailoga Fa'asao i le Va o Filifili ma Tisiki O lenei su'esu'ega e su'esu'e i le tolu, su'esu'eina lona taua ma le a'afiaga. Manatu Autu o lo'o ufiufi O lo'o su'esu'eina e lenei mea: O mataupu faavae ma a'oa'oga Fa'ata'ita'i...

11 min read Via frn.sh

Mewayz Team

Editorial Team

Hacker News

A fa'amu e lau talosaga se fa'amatalaga SELECT, e toetoe lava a le pa'i atu lena fesili i se tisiki taamilo po'o se mea e teu ai moli mata'utia - e pasi atu i ni vaega fa'amaufa'ailoga ma'oti se tolu e iloa lemu pe o'o mai lau tali ile microseconds po'o milliseconds. O le malamalama i nei laulau o le ese'esega lea i le va o se pisinisi fa'atauva'a e fua fua ma le fa'amau i lalo o uta o le lalolagi.

O le a le Taimi e Tu'ua ai e se Fesili FILIFILI lau Talosaga?

O le taimi lava e lafo ai e lau talosaga se SELECT fesili, e ulufale atu i se paipa e le mafai ona asiasia e le to'atele o tagata atia'e. E fa'alavelaveina e le masini fa'amaumauga le talosaga a'o le'i tupu so'o se I/O, fa'avasega le SQL i totonu o se fuafuaga fa'atino i totonu ma fa'afeso'ota'i vave lana laina muamua o le puipuiga: o le fa'ai'uga o le fa'ai'uga. Afai na faia talu ai nei se su'esu'ega tutusa ma fa'amaufa'ailoga tutusa, e mafai e le afi ona toe fa'afo'i se fa'ai'uga natia e aunoa ma le pa'i i se itulau e tasi o fa'amaumauga. E ta'ua lea i nisi taimi o le query cachepo'o le fa'ai'uga cache, ma i luga o le faitau maualuga, ma le maualalo o le tusitusi o galuega - e pei o au'ili'ili dashboards ma fa'asologa o lipoti - e mafai ona fa'aumatia le tele o le tele o fa'amatalaga tisiki.

O le fa'amatalaga mata'utia i'i o le fa'afesili o le cache e matua maaleale i suiga o fa'amaumauga. So'o se INSERT, UPDATE, po'o le DELETE i luga o le laulau o lo'o i lalo e fa'aleaogaina ai fa'ai'uga talafeagai. O le mea lea e masani ai ona fa'amalo e faiga fa'atauva'a tusitusi-mamafa le fa'ailoga o fesili ma fa'alagolago i vaega loloto.

O le a le Va'a Fa'apolopolo ma Aisea e Sili Atu Ai Nai lo Oe Mafaufau?

O le lapisi lona lua o le cache - ma e le taumateina o le sili ona taua i le gaosiga o faiga - o lebuffer pool(taʻua o le faʻasoa faʻatasi i PostgreSQL, le InnoDB buffer pool i MySQL). Ole vaega lea ole RAM ole masini fa'amaumauga e fa'aogaina e taofi ai itulau fa'amatalaga lata mai nei. A le mafai ona tu'uina atu se fesili mai le fa'ai'uga cache, e siaki e le afi pe o iai itulau o fa'amatalaga mana'omia i totonu o le vaita'ele a'o le'i tu'uina atu so'o se tisiki faitau.

O lo'o fa'agaoioi le vaita'ele i luga o le fa'atonuga o nofoaga fa'ale-tino ma fa'aleaganu'u: fa'amaumauga na maua talu ai nei e ono toe maua, ma fa'amaumauga o lo'o teuina lata ane i fa'amatalaga avanoa e foliga mai e vave ona maua. O lo'o fa'aogaina e le au fa'amaumauga fa'amaumauga le lapo'a o le vaita'ele e avea ma se tasi o fa'ai'uga fa'atulagaina sili ona maualuga latou te faia. O se vaita'ele pa'u e la'ititi tele e mafua ai ona fa'ate'a pea itulau, ma maua ai se fa'alavelave e ta'ua o le thrashing, lea e fa'aalu ai e le faiga le tele o le taimi e pulea ai le misia o le cache nai lo le fa'atinoina o fesili.

Malamalamaaga Autu: I le tele o galuega a le OLTP, o le lapo'a lapo'a o le vaita'ele o lona uiga o le 95-99% o fa'amaumauga uma e faitau mai le RAM. O le seti galue - o le vaega o au faʻamatalaga e masani ona paʻi atu i ai - e masani ona laʻititi nai lo le aofaʻi o faʻamaumauga. Ole fuaina o lau vaita'ele e fetaui ma lau seti galue, ae le o lau fa'amaumauga atoa, o le tasi lea o gaioiga sili ona maualuga e toe fa'afo'i mai e mafai ona e faia.

E Fa'afefea ona Fa'atumuina e le Operating System Cache le Va i le va o le RAM ma le Disk?

E tusa lava pe misi le vaita'ele o le fa'amaumauga, e le'i fa'atonuina se fesili mo se faitauga moni o le tisiki. O le faʻaogaina o le faʻaogaina o loʻo tausia seitulau itulau(e taʻua foʻi o le faila faila), o se itulagi o le kernel-managed RAM e paʻu faitau ma tusitusi e poloka ai masini. Pe a talosagaina e le masini fa'amaumauga se itulau e le o iai mai lona vaita'ele, e siaki e le kernel OS lana lava itulau fa'aoga a'o le'i tu'uina atu se fa'atonuga I/O fa'aletino i le pule e teu ai.

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

O lenei vaega lona tolu e tele lava ina le va'aia e le au fai talosaga ae e matua taua tele i faiga o lo'o i lalo o le fa'asoaina o le vaitu'u fa'amaumauga. O le OS itulau cache o loʻo faʻasoa i faʻagasologa uma, o lea e tauva ai ma lau 'auʻaunaga talosaga, 'upega tafaʻilagi, ma soʻo se isi polokalama faʻaogaina i luga o le talimalo e tasi. I luga o faʻamaumauga tuʻufaʻatasiga tuʻufaʻatasia, o lenei tauvaga e laʻititi, ma o le OS cache e maua ai se paʻu avanoa lona lua. I luga o 'au fa'asoa po'o koneteina o lo'o iai tapula'a e manatua, e masani ona la'ititi tele le OS cache e fesoasoani ai.

O le fea Layer Cache e Nafa ma le Tele o Fa'atinoga Manumalo i Fa'ata'ita'iga?

I faiga fa'akomepiuta fa'alelalolagi, e fa'atama'ia e le vaita'ele le fa'atinoina o taunu'uga e ala i le lautele. O le mafua'aga lea e ese'ese ai le sao o vaega ta'itasi i tulaga fa'aoga:

  • Fa'ailo fa'ai'uga cache: Fa'amanuiaga aupito maualuga ile faitau-mamafa, tele fa'amaumauga tu'ufa'atasi - lipoti fa'amatalaga, dashboards natia, fa'ai'uga o mea lautele. Le aoga i luga o laulau e mamafa tusitusi.
  • Tagata fa'apalapala fa'amaumauga: Le su'ega galue lautele. So'o se fa'amaumauga fa'amaumauga tu'ufa'atasiga e tatau ona fa'alogo muamua iinei. Fa'afoe lelei fa'asologa o avanoa fa'asolosolo ma fa'asologa.
  • OS page cache: E maua ai se upega saogalemu pe a la'ititi le vaita'ele. E fesoasoani tele fo'i ile su'esu'ega fa'asolosolo o laulau lapopo'a e semanū e fa'ate'a'ese ai itulau vevela mai le vaita'ele.
  • O le fa'apolopolo fa'apolopolo fa'apolopolo (mea fa'apipi'i masini): O le fa, e masani ona le amana'ia - NVMe SSDs ma RAID fa'atonu e fa'atumauina i luga o le va'aiga tusi fa'amaufa'ailoga ma le maa po'o le capacitor backup. Ole mea lea e puipuia ai le tumau e aunoa ma le ositaulagaina o le tusiaina o galuega ile fa'aletonu ole fsync latency.
  • Application-layer cache (Redis, Memcached): E nofo i luga aʻe o faʻamaumauga atoa, faʻapipiʻi faʻaiʻuga faʻasologa o fesili poʻo mea faʻatatau e aloese ai mai le taia o faʻamaumauga - e fetaui lelei mo le tele o tagata mautotogi SaaS platforms e tautuaina le faitau afe o tagata faʻaoga tutusa.

E Fa'afefea ona Fa'aogaina e Fa'alapotopotoga Pisinisi Fa'aonaponei le Fa'atulagaina o Cache mo le Fa'amaoni ile Fua?

Mo pisinisi o lo'o fa'agaoioia i le tele o vaega fa'atino - CRM, fa'afoega o galuega, e-fefa'ataua'iga, au'ili'ili - fa'ata'ita'iga fa'apipi'i e fuafua sa'o le tali atu i luga ole laiga a'o tuputupu a'e 'au. O fa'avae e fausia i luga o se ta'iala fa'apipi'i lelei e mafai ona tautuaina le fiasefulu afe o tagata fa'aoga fa'atasi e aunoa ma se tau fa'atatau o galuega tetele. O le ki o le mamanuina o faʻasologa o faʻamaumauga e faʻaaloalo i tuaoi o le cache: tausia o faʻamatalaga vevela laiti ma faʻaogaina mamanu e mafai ona vaʻaia, faʻaogaina o faʻataʻitaʻiga faitau e tufatufa atu ai le uta pa puipui, ma faʻatulagaina se faʻaoga-layer cache e pei o Redis i luma o le database mo faʻamatalaga e tuʻuina atu faʻamatalaga tutusa i le tele o tagata faʻaoga i le taimi e tasi.

Mewayz ua fausia ma le filosofia tonu lea i lona mafaufau. Faatasi ai ma le 207 faʻapipiʻi pisinisi faʻapipiʻi e faʻamalosia ai le silia ma le 138,000 tagata faʻaoga, o le faʻasologa o faʻamaumauga a le platform ua mamanuina ina ia mafai ai e le tele o faitau faitau ona maua mai le faʻaoga - faʻamautu taimi tali vave ma tau o atinaʻe tetele pe o e tamoe i luga o le $19/masina amata fuafuaga poʻo le $49/masina tulaga faʻapolofesa.

Fesili e Fai soo

E fa'apena ea le fa'aogaina o le fa'ailoga o fesili e fa'aleleia ai le fa'atinoga o fa'amaumauga?

E le o taimi uma, ae mo galuega mamafa tusitusi e masani lava. Ole su'ega ole fesili e mana'omia se mutex i le lalolagi atoa e fa'amautu ai le fa'atumauina, lea e avea ma fa'amaufa'ailoga i lalo ole fa'amaliega maualuga. MySQL 8.0 aveese atoa le cache fesili mo lenei mafuaaga. PostgreSQL e leʻi faʻatinoina se faʻaoga faʻapipiʻi faʻapipiʻi, faʻalagolago i luga o le vaitaele faʻapipiʻi ma le faʻapipiʻiina o faʻaoga-layer. Afai e maualuga lau faitau-tusi-tusi ma o au fesili e fai soo, e mafai ona maua e le cache fesili ni tupe maua moni - a leai, faʻaalu lena taumafaiga faʻalogo i le vaitaele pa.

E fa'afefea ona ou iloa pe sa'o le lapo'a o la'u vaita'ele?

Va'ai lau fua fa'atatau o le ta'ele o le vaita'ele: o le pasene o talosaga i itulau na tu'uina atu mai le vaita'i ma i latou e mana'omia le faitau tisiki. Ole fua fa'atatau ile lalo ole 95% ile mamafa ole galuega ole OLTP ose fa'ailoga e fa'atele ai le vaita'ele. I MySQL, fesili SHOW ENGINE INNODB STATUSma va'ai i le pa'u pa'u ta'ele fua. I le PostgreSQL, o le pg_statio_user_tables va'aiga e fa'aalia ai poloka fa'aputuga faitau mai le tisiki fa'asaga i le tautua mai le vaita'ele. Mana'o e fa'atumauina lau seti galuega atoa - ae le o lau fa'amaumauga atoa - nofo i le RAM.

O le a le so'oga i le va o fa'amaufa'ailoga fa'aoga ma le fa'atuatuaina o le SaaS e tele tagata mautotogi?

I le tele o tagata mautotogi SaaS, fa'apipi'i fa'amaufa'ailoga e puipuia ai fa'afitauli "pi'ō pisapisao" lea e fa'aletonu ai le fa'atinoga o isi tagata mautotogi uma ona o le mamafa o fesili a le tasi mautotogi. O lo'o fa'aogaina e tagata mautotogi le fa'aogaina ma le fa'aleaogaina o le TTL e fa'atumauina ai fa'amatalaga vevela a le tagata mautotogi i Redis, fa'aitiitia ai le mamafa o le vaita'ele mai tala tetele. O le tu'ufa'atasiga o feso'ota'iga tulaga fa'amaumauga tu'ufa'atasia ma se vaita'ele mafanafana e fa'amautinoa ai e le mafai e le fa'alavelave fa'afuase'i mai so'o se teuga tupe ona fa'ate'aina itulau fefa'asoaa'i mai le fa'aoga ma fa'atupu ai le fa'atupula'ia o le tulaga.


O fa'amaufa'ailoga e le'o ni mea fa'atauva'a fa'amaumauga - o fa'avae faufale e tu'u'ese'ese ai fa'avae e tumau vave i le fua mai mea e mana'omia ai le fa'amateina pea o afi. Afai o lo'o e fauina pe fa'atautaia se pisinisi e mana'omia se fa'avae ua uma ona fa'atumauina mo nei mea moni, su'esu'e Mewayz i le app.mewayz.com — 207 modules, tasi le fa'avae fa'atasi, fausia e fa'atuatuaina le fa'atinoga mai lou fa'aoga muamua i lau selau afe.