O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ou te fautua atu ia e faitau le tusitusiga o le lipoti mai le amataga o le 2016 na saunia e Andrey Salnikov "O mea sese masani i talosaga e mafua ai le fulafula i postgresql"

I totonu o lenei lipoti, o le a ou faʻavasegaina mea sese autu i talosaga e tulaʻi mai i le tulaga o le mamanuina ma le tusiaina o le numera o talosaga. Ma o le a ou ave naʻo na mea sese e taʻitaʻia ai le fulafula i Postgresql. I le avea ai o se tulafono, o le amataga lea o le faʻaiʻuga o le faʻatinoga o lau polokalama atoa, e ui lava i le taimi muamua e leai ni mea e manaʻomia mo lenei mea na iloa.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Fiafia e faafeiloai tagata uma! O lenei lipoti e le faʻapitoa e pei o le lipoti muamua mai laʻu paaga. O lenei lipoti o lo'o fa'atatau tonu lava i le au atina'e faiga i tua ona e fai lava si to'atele o tagata fa'atau. Ma latou faia uma lava mea sese e tasi. O le a ou taʻu atu ia te oe e uiga ia i latou. O le a ou faʻamatalaina mea leaga ma leaga e mafua ai nei mea sese.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Aisea ua faia ai mea sese? E lua mafuaʻaga e faia ai: faʻafuaseʻi, atonu o le a aoga ma ona o le valea o nisi o faiga e tupu i le tulaga i le va o le database ma le talosaga, faʻapea foʻi ma le database lava ia.

O le a ou avatu ia te oe ni faʻataʻitaʻiga se tolu e iai ni ata mataʻutia o le leaga o mea. O le a ou taʻu puupuu atu ia te oe le masini e tupu ai iina. Ma pe faʻafefea ona taulimaina i latou, pe a tupu, ma o a auala puipuia e faʻaaoga e puipuia ai mea sese. O le a ou taʻu atu ia te oe mea faigaluega fesoasoani ma tuʻuina atu fesoʻotaʻiga aoga.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Na ou faʻaogaina se faʻamaumauga o suʻega lea e lua aʻu laulau. Tasi ipu fa'atasi ai ma fa'amatalaga a tagata fa'atau, o le isi fa'atauga i luga o nei fa'amatalaga. Ma i nisi taimi matou te faafou ai paleni i luga o nei tala.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Faʻamatalaga muamua o le ipu: e laʻititi, 2 MB. Ole taimi tali mo le faʻamaumauga ma faʻapitoa mo le faʻailoga e matua lelei foi. Ma o se uta lelei lava - 2 gaioiga i le sekone e tusa ai ma le ipu.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ma e ala i lenei lipoti o le a ou faʻaali atu ia te oe kalafi ina ia mafai ai ona e malamalama lelei i le mea o loʻo tupu. E iai pea fa'ase'e 2 ma kalafi. O le fa'ase'e muamua o le mea e tupu lautele i luga o le 'au'aunaga.

Ma i lenei tulaga, tatou te iloa o loʻo i ai moni lava se faʻailoga itiiti. E laʻititi le faʻasino ile 2 MB. Ole kalafi muamua lea ile agavale.

Ole taimi ole tali ile server e mautu ma puupuu. O le kalafi taumatau pito i luga.

O le kalafi agavale pito i lalo o loʻo faʻaalia ai fefaʻatauaiga sili ona umi. Ua matou va'ai ua vave mae'a fefa'atauaiga. Ma e le o galue le autovacuum iinei, aua o se suʻega amata. O le a faʻaauau pea ona galue ma o le a aoga ia i tatou.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O le fa'ase'e lona lua o le a tu'uina atu pea i le ipu o lo'o fa'ata'ita'iina. I lenei tulaga, matou te fa'afouina pea le paleni o teugatupe a le kalani. Ma matou te vaʻaia o le averesi o le taimi tali mo se faʻafouga faʻagaioiga e fai si lelei, itiiti ifo i le millisecond. Matou te vaʻaia o punaoa faʻapipiʻi (o le kalafi taumatau pito i luga) o loʻo faʻaaogaina tutusa ma laʻititi.

O le kalafi taumatau pito i lalo o loʻo faʻaalia ai le tele o le faʻaogaina ma le manatua o le tisiki matou te suʻeina le matou laina manaʻomia aʻo leʻi faʻafouina. Ma o le numera o gaioiga e tusa ai ma le faʻailoga e 2 i le sekone, e pei ona ou fai atu i le amataga.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ma o lea ua i ai se tatou faalavelave. Mo nisi mafuaaga o loʻo i ai se fefaʻatauaiga ua leva ona galo. O mafuaʻaga e masani ona faʻamaonia uma:

  • O se tasi o mea sili ona taatele o le amata ona matou mauaina se auaunaga i fafo i le numera o talosaga. Ma o lenei auaunaga e le tali mai ia i tatou. O lona uiga, matou tatalaina se fefaʻatauaiga, faia se suiga i le database ma alu ese mai le talosaga e faitau meli poʻo se isi auaunaga i totonu oa matou atinaʻe, ma mo nisi mafuaaga e le tali mai ia i matou. Ma o le tatou sauniga o loʻo pipii i se setete e le o iloa poʻo afea e foia ai.
  • O le tulaga lona lua o le taimi na tupu ai se tuusaunoaga i la tatou code mo nisi mafuaaga. Ma i se tuusaunoaga matou te leʻi faʻatautaia le tapunia o le fefaʻatauaiga. Ma na matou iu i se sauniga tautau ma se fefaʻatauaiga tatala.
  • Ma o le mea mulimuli o se tulaga masani foi. Ole code maualalo lea. O nisi auivi e tatalaina se fefaʻatauaiga. E tautau, ma atonu e te le iloa i le talosaga o loʻo e tautau.

O fea e tau i ai na mea?

E oo atu i le tulaga ua amata ai ona fula tele a tatou laulau ma faasino igoa. E tutusa lelei lava le aafiaga o le fulafula. Mo le fa'amaumauga, o lona uiga o le taimi e tali atu ai fa'amaumauga o le a fa'atupula'ia tele ma o le a fa'atupula'ia le uta i luga o le 'au'aunaga fa'amaumauga. Ma o se taunuuga, o le a mafatia la matou talosaga. Aua afai e te faʻaaluina le 10 milliseconds i lau code i luga o se talosaga i le database, 10 milliseconds i luga o lou faʻatatau, ona ave lea o lau galuega 20 milliseconds e faʻamaeʻa. Ma o lenei o le a matua faanoanoa lou tulaga.

Ma se'i vaai po o le a le mea e tupu. O le kalafi agavale pito i lalo o loʻo faʻaalia ai e umi a tatou fefaʻatauaiga. Ma afai tatou te tilotilo i le kalafi pito i luga agavale, tatou te iloa ai o le tele o la tatou laulau ua oso faafuasei mai le lua megabytes i le 300 megabytes. I le taimi lava e tasi, o le aofaʻi o faʻamatalaga i le laulau e leʻi suia, o lona uiga o loʻo i ai se aofaiga tele o lapisi iina.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O le tulaga lautele e uiga i le averesi taimi tali a le server ua suia foi i le tele o poloaiga o le tele. O lona uiga, o talosaga uma i luga o le server na amata ona pa'ū atoa. Ma i le taimi lava e tasi, na faʻalauiloa ai faiga Postgres i totonu i le tulaga o le autovacuum, o loʻo taumafai e fai se mea ma faʻaaogaina punaoa.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O le a le mea o tupu i la tatou faʻailoga? Tutusa lava. O la matou averesi taimi tali e tusa ai ma le faʻailoga ua oso i luga le tele o poloaiga o le tele. Aemaise lava i tulaga o punaoa faʻaaogaina, matou te vaʻaia o le uta i luga o le processor ua faʻateleina tele. Ole kalafi pito i luga taumatau lea. Ma ua faʻateleina ona o le gaosiga e tatau ona faʻavasega i le tele o laina le aoga i le sailiga o le mea e manaʻomia. Ole kalafi pito i lalo taumatau lea. Ma o se taunuuga, o matou numera o telefoni i le sekone na amata ona paʻu tele, ona o le database e leʻi maua se taimi e faʻatautaia ai le numera tutusa o talosaga.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

E tatau ona tatou toe foi i le ola. Matou te alu i luga ole laiga ma iloa ai o fefaʻatauaiga umi e mafua ai faʻafitauli. Matou te maua ma fasioti lenei fefaʻatauaiga. Ma ua amata ona masani mea uma mo i tatou. E galue mea uma e pei ona tatau ai.

Na matou toʻafilemu, ae ina ua mavae sina taimi, ua amata ona matou matauina e le o galue le talosaga i le auala tutusa e pei o le taimi muamua o le faʻalavelave faʻafuaseʻi. O lo'o fa'agasolo pea le fa'agasologa o talosaga, ma fa'agesegese tele. Tasi ma le afa i le lua taimi faʻagesegese faʻapitoa i laʻu faʻataʻitaʻiga. O le uta i luga o le 'auʻaunaga e maualuga atu foi nai lo le mea na i ai i luma o le faʻalavelave.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ma o le fesili: "O le a le mea o loʻo tupu i le nofoaga i le taimi nei?" Ma o le tulaga lea e tupu i le faavae. I luga o le siata o fefaʻatauaiga e mafai ona e vaʻaia ua tuʻu ma e leai ni fefaʻatauaiga umi. Ae o le tele o le faʻailoga na faʻateleina le oti i le taimi o le faʻalavelave. Ma talu mai lena taimi latou te leʻi faʻaitiitia. O le averesi taimi i luga o le faavae ua mautu. Ma o tali e foliga mai o le a oo mai lelei i se saoasaoa e taliaina e i tatou. O le autovacuum na sili atu ona malosi ma amata ona faia se mea i le faʻailoga, aua e manaʻomia ona faʻasolo atili faʻamatalaga.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Aemaise lava, e tusa ai ma le ipu suʻega ma tala, lea tatou te suia ai paleni: o le taimi tali mo se talosaga e foliga mai ua toe foʻi i le masani. Ae o le mea moni e tasi ma le afa taimi le maualuga.

Ma mai le uta i luga o le gaioiga, matou te vaʻaia o le uta i luga o le gaioiga e leʻi toe foʻi i le tau manaʻomia aʻo leʻi faʻalavelave. Ma o mafua'aga o lo'o taoto tonu lava i le kalafi taumatau pito i lalo. E mafai ona iloa o loʻo suʻesuʻeina se aofaʻi o manatuaga iina. O lona uiga, ina ia maua le laina manaʻomia, matou te faʻaumatia punaoa o le database server aʻo faʻavasegaina i faʻamatalaga le aoga. Ole numera o fefaʻatauaiga ile sekone ua faʻamautu.

Aotelega lelei, ae o le tulaga ua sili atu ona leaga nai lo le mea sa i ai. Fa'amanino le fa'aleagaina o fa'amaumauga e mafua mai i la matou talosaga o lo'o galue ma lenei fa'amaumauga.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ma ina ia malamalama i mea o loʻo tupu iina, afai e te leʻi i ai i le lipoti talu ai, ia tatou maua sina manatu. Theory e uiga i le faagasologa i totonu. Aisea e vacuum ai le taavale ma o le a le mea e fai?

Fa'apuupuu moni mo le malamalama. I se taimi i le taimi e i ai sa matou laulau. E iai a matou laina i le laulau. O nei laina e mafai ona malosi, ola, ma mea tatou te manaʻomia nei. Ua faailogaina i le lanu meamata i le ata. Ma o loʻo i ai laina mate ua uma ona faʻatinoina, ua toe faʻafouina, ma ua aliali mai ni faʻamatalaga fou i luga oi latou. Ma ua fa'ailogaina latou ua le toe fiafia i le fa'amaumauga. Ae o loʻo i totonu o le laulau ona o le Postgres feature.

Aisea e te manaʻomia ai se masini masini taʻavale? I se taimi, e sau le autovacuum, maua le database ma fesili i ai: "Faʻamolemole tuʻu mai ia te aʻu le id o le fefaʻatauaiga sili ona leva o loʻo tatala nei i le database." Ua toe faafoi mai e le database lenei id. Ma o le autovacuum, faʻalagolago i ai, faʻavasega i laina i luga o le laulau. Ma afai na te vaʻaia o nisi o laina na suia e le tele o fefaʻatauaiga tuai, o loʻo ia te ia le aia tatau e faʻailoga ai o laina e mafai ona tatou toe faʻaaogaina i le lumanaʻi e ala i le tusiaina o faʻamatalaga fou iina. O se fa'agasologa fa'asolosolo lea.

I le taimi nei, matou te faʻaauau pea ona galulue ma le database ma faʻaauau pea ona faia ni suiga i le laulau. Ma i luga o nei laina, lea e mafai ona matou toe faʻaaogaina, matou te tusia ai faʻamatalaga fou. Ma o lea tatou te maua ai se taamilosaga, o lona uiga o taimi uma e aliali mai ai ni laina tuai tuai, nai lo latou matou te tusia i lalo laina fou matou te manaʻomia. Ma o se tulaga masani lea mo PostgreSQL e galue.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O le a le mea na tupu i le taimi o le faalavelave? Na faapefea ona tupu lenei faagasologa iina?

Sa i ai sa matou faʻailoga i se tulaga, o nisi ola, o nisi laina mate. Ua taunu'u mai le vacuum ta'avale. Na ia fesili i le database poo le a le matou fefaʻatauaiga sili ona leva ma o le a lona id. Na ou mauaina lenei id, atonu e tele itula talu ai, atonu o le sefulu minute talu ai. E fa'alagolago i le mamafa o le uta o lo'o i luga o lau fa'amaumauga. Ma sa alu o ia e suʻe laina e mafai ona ia makaina e toe faʻaaogaina. Ma ou te lei mauaina ni laina faapena i la matou laulau.

Ae i le taimi nei o loʻo faʻaauau pea ona matou galulue ma le laulau. Matou te faia se mea i totonu, faʻafouina, sui faʻamaumauga. O le a le mea e tatau ona fai e le database i lenei taimi? E leai sana filifiliga ae na'o le fa'aopoopoina o laina fou i le pito o le laulau o iai. Ma o lea ua amata ona fulafula le tele o le matou laulau.

O le mea moni, matou te manaʻomia laina lanu meamata e galue ai. Ae i le taimi o sea faʻafitauli, e foliga mai o le pasene o laina lanu meamata e matua maualalo i le laulau atoa.

Ma a matou faʻatinoina se faʻamatalaga, e tatau ona alu le database i laina uma: mumu ma lanu meamata, e suʻe ai le laina manaʻomia. Ma o le aʻafiaga o le faʻafefeteina o se laulau ma faʻamatalaga le aoga e taʻua o le "bloat", lea e 'ai ai foi le avanoa o le disk. Manatua, o le 2 MB, na avea ma 300 MB? Ia sui nei megabytes i gigabytes ma o le a vave ona e leiloa uma au punaoa tisiki.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O a ni taunuuga e ono oo mai mo i tatou?

  • I laʻu faʻataʻitaʻiga, o le laulau ma le faʻailoga na faʻatupulaia 150 taimi. O nisi o matou tagata fa'atau na tele atu ni fa'alavelave fa'afuase'i ina ua amata ona leai se avanoa o le tisiki.
  • O le tele o laulau lava ia e le fa'aitiitia lava. Autovacuum i nisi tulaga e mafai ona tipi ese le siʻusiʻu o le laulau pe a na o laina mate. Ae talu ai o loʻo i ai pea le taamilosaga, e tasi le laina lanu meamata e mafai ona malolo i le pito ma e le toe faʻafouina, ae o isi uma o le a tusia i lalo i se mea i le amataga o le ipu. Ae o se mea e le masani ai o lau laulau lava ia o le a faʻaitiitia i le lapoa, o lea e le tatau ai ona e faʻamoemoe i ai.
  • E mana'omia e le fa'amaumauga tu'ufa'atasia le fa'avasegaina o le aofa'i atoa o laina le aoga. Ma matou fa'ama'imau puna'oa tisiki, matou fa'ama'imau puna'oa gaosi ma le eletise.
  • Ma o lenei mea e aʻafia ai la matou talosaga, aua afai i le amataga matou te faʻaaluina le 10 milliseconds i luga o le talosaga, 10 milliseconds i luga o la matou code, i le taimi o le faʻalavelave na amata ona matou faʻaalu se lua i luga o le talosaga ma 10 milliseconds i luga o le code, o lona uiga o se poloaiga o fa'aitiitia le fa'atinoga o fa'atinoga. Ma ina ua foia le faalavelave, na amata ona matou faaaluina le 20 milliseconds i luga o se talosaga, 10 milliseconds i luga o se code. O lona uiga o lo'o matou pa'u pea i le tasi ma le afa taimi i le gaosiga. Ma o nei mea uma ona o se tasi o fefaʻatauaiga na malolo, masalo ona o tatou sese.
  • Ma o le fesili: "E faʻafefea ona matou toe maua mea uma?" Ina ia lelei mea uma ia i matou ma talosaga e vave ona oʻo mai i luma o le faʻalavelave.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Mo lenei fa'amoemoe o lo'o i ai se ta'amilosaga patino o galuega o lo'o fa'atinoina.

Muamua e tatau ona tatou suʻeina laulau faʻafitauli o loʻo faʻafefe. Matou te malamalama o nisi laulau e sili atu le malosi o le pu'eina, i isi e le toaga. Ma mo lenei mea matou te faʻaaogaina le faʻaopoopoga pgstattuple. E ala i le faʻapipiʻiina o lenei faʻaopoopoga, e mafai ona e tusia fesili o le a fesoasoani ia te oe e suʻe laulau e fai si fulafula.

O le taimi lava e te mauaina ai nei laulau, e tatau ona e faʻapipiʻi. Ua uma ona iai meafaigaluega mo lenei mea. I la matou kamupani matou te faʻaaogaina meafaigaluega e tolu. Muamua o le VACUUM FULL ua fausia. E sauā, sauā ma le alofa, ae o nisi taimi e aoga tele. Pg_repack и pgcompacttable - O mea fa'aoga tolu ia mo le fa'apipi'iina o laulau. Ma latou togafitia lelei le database.

E faʻaaogaina e faʻatatau i le mea e sili atu ona faigofie mo oe. Ae o le a ou taʻu atu ia te oe lenei mea i le faaiuga. O le mea autu e tolu meafaigaluega. E tele mea e filifili mai ai.

A uma ona matou faʻasaʻo mea uma ma faʻamautinoa o loʻo lelei mea uma, e tatau ona tatou iloa le auala e puipuia ai lenei tulaga i le lumanaʻi:

  • E faigofie lava ona puipuia. E te manaʻomia le mataʻituina o le umi o sauniga ile Master server. Aemaise lava sauniga matautia i le le aoga i tulaga tau fefaʻatauaiga. O i latou ia na faatoa tatalaina se fefaʻatauaiga, fai se mea ae alu, pe na o le tautau, leiloa i le code.
  • Ma mo oe, i le avea ai ma tagata atiaʻe, e taua le suʻeina o lau code pe a tulaʻi mai nei tulaga. E le faigata ona fai. O le a avea lea ma siaki aoga. O le ae aloese mai le tele o faʻafitauli "tamaitiiti" e fesoʻotaʻi ma fefaʻatauaiga umi.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

I nei kalafi, na ou manaʻo e faʻaali atu ia te oe pe faʻafefea ona suia le faʻailoga ma le amio a le database ina ua uma ona ou uia le faʻailoga ma VACUUM FULL i lenei tulaga. E le o se gaosiga lenei mo au.

O le lapo'a o le laulau na toe fo'i vave i lona tulaga fa'agaioia masani o ni megabytes. E le'i afaina tele ai le averesi taimi tali mo le server.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ae faʻapitoa mo la matou faʻailoga faʻataʻitaʻiga, lea matou te faʻafou ai paleni faʻamatalaga, matou te vaʻaia o le averesi o taimi tali mo se talosaga e faʻafouina faʻamatalaga i le faʻailoga na faʻaititia i tulaga faʻafuaseʻi. O punaoa na faʻaaogaina e le processor e faʻamaeʻa ai lenei talosaga na pa'ū foi i tulaga aʻo leʻi faʻalavelave. Ma o le kalafi pito i lalo taumatau o loʻo faʻaalia ai o lea ua tatou maua tonu le laina tatou te manaʻomia i le taimi lava lena, e aunoa ma le ui atu i faaputuga o laina mate na i ai iina aʻo leʻi oomiina le laulau. Ma o le averesi ole taimi ole talosaga sa tumau ile tulaga tutusa. Ae o loʻo ia te aʻu, ae, o se mea sese i laʻu meafaigaluega.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O le mea lea e muta ai le tala muamua. E sili ona taatele. Ma e tupu i tagata uma, e tusa lava po o le a le poto masani a le kalani ma le agavaa o le au fai polokalame. E le o toe mamao ae tupu lenei mea.

O le tala lona lua, lea matou te tufatufa atu ai le uta ma faʻaoga lelei punaoa a le server

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

  • Ua uma ona tatou matutua ma ua avea ma alii ogaoga. Ma ua tatou malamalama o loo i ai sa tatou faatusa ma e lelei mo i tatou ona faapaleni le avega: tusi atu i le Matai, ma faitau mai le ata. Ma e masani lava o lenei tulaga e tulaʻi mai pe a tatou mananaʻo e saunia ni lipoti poʻo le ETL. Ma e fiafia tele le pisinisi i lenei mea. Na te manaʻo moni lava i lipoti eseese ma le tele o auiliiliga lavelave.
  • E tele itula e alu ai lipoti, ona e le mafai ona fa'atatauina au'ili'iliga lavelave ile milliseconds. Matou, e pei o tagata totoa, tusi code. I totonu o le faʻapipiʻi talosaga matou te faia le faʻamaumauga i luga o le Matai, ma faʻatino lipoti i luga o le kopi.
  • Tufatufaina o uta.
  • E lelei atoatoa mea uma. Matou te lelei.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ma o le a le foliga o lenei tulaga? Faʻapitoa i luga o nei kalafi, na ou faʻaopoopoina foi le umi o fefaʻatauaiga mai le kopi mo le umi o fefaʻatauaiga. O isi kalafi uma e faasino i le Master server.

E oo atu i le taimi lea, ua faatupulaia la’u komiti lipoti. E tele atu i latou. Matou te vaʻai o le averesi taimi tali a le server e mautu. Matou te vaʻai i luga o le faʻataʻitaʻiga o loʻo i ai se matou fefaʻatauaʻiga umi e alu mo le 2 itula. Matou te vaʻai i le faʻaogaina filemu o le autovacuum, lea e faʻagasolo laina mate. Ma o loʻo lelei mea uma ia i matou.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Aemaise lava, e tusa ai ma le ipu faʻataʻitaʻi, matou te faʻaauau pea ona faʻafouina paleni o tala iina. Ma o loʻo i ai foi a matou taimi tali tumau mo talosaga, faʻaaogaina punaoa mautu. E lelei mea uma ia i tatou.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O lo'o lelei mea uma se'ia o'o i le taimi e amata ai ona toe fa'afo'i mai nei lipoti ona o le fete'ena'i ma le toe faia. Ma latou toe fana i taimi masani.

Matou te o i luga ole laiga ma amata faitau pe aisea ua tupu ai lenei mea. Ma matou maua se fofo.

O le vaifofo muamua o le fa'atuputeleina lea o le toe fa'afo'i. Matou te iloa o le matou lipoti e alu mo le 3 itula. Matou te setiina le tuai o le toe faia i le 3 itula. O loʻo matou faʻalauiloa mea uma, ae o loʻo faʻaauau pea ona i ai ni faʻafitauli i lipoti o nisi taimi e faalēaogāina.

Matou te mananao ia atoatoa mea uma. Matou te feaei atili. Ma na matou maua se nofoaga malulu i luga ole Initaneti - hot_standby_feedback. Sei o tatou ki. Hot_standby_feedback e mafai ai ona matou taofia le masini masini i luga o le Matai. O le mea lea, matou te faʻaumatia atoa feteʻenaʻiga toe faia. Ma e aoga mea uma mo matou i lipoti.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ma o le a le mea o loʻo tupu i le Master server i lenei taimi? Ma o loʻo matou feagai ma faʻalavelave faʻatasi ma le Master server. O lea ua matou vaʻai i kalafi pe a faʻaogaina nei faʻatulagaga uma e lua. Ma ua matou vaʻaia o le sauniga i luga o la matou faʻataʻitaʻiga na amata ona aʻafia ai le tulaga i luga o le Master server. E i ai sona aafiaga aua na ia taofi le masini masini, lea e aveese ai laina mate. Ua toe siisii ​​foi le tele o le matou laulau. O le averesi ole taimi ole fa'atinoina ole fesili ile fa'amaumauga atoa na si'itia fo'i. Na fa'amalo teisi i luga le masini va'alele.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Aemaise lava, mai la matou ipu, matou te vaʻai ai o le faʻafouina o faʻamaumauga i luga na oso ai foi i le lagi. O le fa'aaogaina o le CPU ua fa'apena fo'i ona fa'atupula'ia tele. Ua tatou toe ui atu i se numera tele o laina oti, leai se aoga. Ma o le taimi tali mo lenei faʻailoga ma le numera o fefaʻatauaiga ua pa'ū.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O le a se mea e foliga mai pe a tatou le iloa le mea na ou talanoa ai muamua?

  • E amata ona matou suʻeina ni faʻafitauli. Afai matou te feagai ma faʻafitauli i le vaega muamua, matou te iloa atonu e mafua ona o se fefaʻatauaiga umi ma alu i le Matai. E i ai so tatou faafitauli i le Matai. Sosisi ia. E vevela, o lona Load Average e tusa ma le selau.
  • O talosaga iina e telegese, ae matou te le o vaʻaia ni fefaʻatauaiga umi iina. Ma matou te le malamalama po o le a le mea ua tupu. Matou te le malamalama po o fea e tilotilo i ai.
  • Matou te siaki meafaigaluega a le server. Masalo na lavea le tatou osofaiga. Masalo ua mu le tatou manatuaga. Ioe, e mafai ona tupu soo se mea. Ae leai, e fou le 'au'aunaga, e lelei mea uma.
  • O loʻo tamoe tagata uma: pule, atinaʻe ma le faʻatonu. E leai se mea e fesoasoani.
  • Ma i se taimi e faafuasei lava ona amata ona faasaʻo mea uma lava.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

I le taimi nei, o le talosaga i luga o le matou kopi na faʻatautaia ma tuʻu. Na matou mauaina le lipoti. O lo'o fiafia pea le pisinisi. E pei ona e vaʻai, ua toe tupu aʻe la tatou faʻailoga ma o le a le faʻaitiitia. I luga o le kalafi ma sauniga, na ou tuua ai se vaega o lenei fefaʻatauaiga umi mai se faʻataʻitaʻiga ina ia mafai ona e faʻatatauina le umi e alu ai seʻia oʻo ina mautu le tulaga.

Ua uma le sauniga. Ma e na o sina taimi e sau ai le server e sili atu pe itiiti ifo i le faasologa. Ma o le averesi taimi tali mo talosaga i luga o le Master server toe foi i le masani. Aua, mulimuli ane, o le autovacuum e maua le avanoa e faʻamama ai ma maka nei laina mate. Ma sa amata ona ia faia lana galuega. Ma o le a le vave na te faia, e vave foi ona tatou faatulagaina.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

E tusa ai ma le laulau faʻataʻitaʻi, lea matou te faʻafouina ai paleni o tala, matou te vaʻai i le ata lava e tasi. Ole taimi ole fa'afouga ole tala o lo'o fa'agasolo malie fo'i. O punaoa faʻaaogaina e le processor ua faʻaititia foi. Ma o le numera o fefaʻatauaiga i le sekone e toe foʻi i le masani. Ae o lea ua tatou toe foi i le tulaga masani, e le tutusa ma le taimi muamua na tupu ai le faalavelave.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

I soʻo se tulaga, matou te maua se faʻataʻitaʻiga, pei o le tulaga muamua, e tasi ma le afa i le lua taimi, ma o nisi taimi e sili atu.

E foliga mai ua tatou faia mea uma i le mea tonu. Tufa atu le uta. O meafaigaluega e le faʻaogaina. Na matou vaevaeina talosaga e tusa ai ma o matou mafaufau, ae na iu lava mea uma na leaga.

  • Aua le fa'aagaina hot_standby_feedback? Ioe, e le fautuaina e ki e aunoa ma ni mafuaaga malosi. Ona o lenei mimilo e aafia saʻo ai le Master server ma taofia le faʻaogaina o le autovacuum iina. E ala i le faʻatagaina i luga o nisi faʻataʻitaʻiga ma faʻagaloina e uiga i ai, e mafai ona e fasiotia le Matai ma maua ni faʻafitauli tetele i le talosaga.
  • Fa'ateleina le tele_standby_streaming_delay? Ioe, mo lipoti e moni lenei mea. Afai e iai sau lipoti e tolu itula ma e te le manaʻo e paʻu ona o feteʻenaʻiga toe faia, ona faʻateleina lea o le tuai. O se lipoti umi e le mana'omia ni fa'amatalaga ua o'o mai i totonu o fa'amaumauga i le taimi nei. Afai e te maua mo le tolu itula, ona e faʻatautaia lea mo se vaitaimi tuai o faʻamaumauga. Ma mo oe, pe i ai se tolu-itula faatuai po o se ono-itula faatuai o le a leai se eseesega, ae o le ae mauaina lipoti i taimi uma ma o le a leai se faafitauli i latou pau.
  • E masani lava, e tatau ona e pulea taimi uumi i luga o faʻataʻitaʻiga, aemaise lava pe a e filifili e faʻaagaina hot_standby_feedback i luga o se kopi. Aua e mafai ona tupu soo se mea. Na matou tuʻuina atu lenei faʻataʻitaʻiga i le atinaʻe ina ia mafai ona ia suʻeina talosaga. Sa ia tusia se talosaga valea. Na ia tatalaina ma alu e inu lauti, ma matou maua ai le Matai mautu. Pe atonu tatou te tuʻuina le faʻaoga sese i totonu. E eseese tulaga. O sauniga i luga o faʻataʻitaʻiga e tatau ona mataʻituina ma le faʻaeteete e pei o le Matai.
  • Ma afai ei ai ni au fesili vave ma umi i luga o faʻataʻitaʻiga, ona i ai lea i lenei tulaga e sili atu le vaeluaina e tufatufa atu le uta. Ole so'oga lea ile streaming_delay. Mo mea vave, ia tasi le kopi e iai sina tuai toe fai. Mo talosaga umi lipoti, fai se kopi e mafai ona tuai i le 6 itula poʻo le aso. O se tulaga masani lava lea.

Matou te faʻaumatia taunuuga i le auala lava e tasi:

  • Matou te maua laulau fulafula.
  • Ma matou faʻapipiʻiina i le meafaigaluega sili ona faigofie e fetaui ma i matou.

O le tala lona lua e muta iinei. Sei o tatou agai atu i le tala lona tolu.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

E masani foi mo i tatou lea tatou te fai ai femalagaiga.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

  • So'o se oloa fa'akomepiuta o lo'o fa'atupulaia. O tulaga manaomia mo lea mea ua suia. I soo se tulaga, matou te mananao e atiina ae. Ma e tupu tatou te manaʻomia le faʻafouina o faʻamaumauga i luga o le laulau, e taʻua o le faʻatautaia o se faʻafouga e tusa ai ma la tatou femalagaiga mo le galuega fou o loʻo tatou faʻalauiloaina o se vaega o la tatou atinaʻe.
  • Le fa'amalieina o fa'amaumauga tuai. Se'i fa'apea ua tatou liliu atu nei i le laulau lona lua, lea o lo'o i ai a'u fefa'ataua'iga i nei tala. Ma seʻi tatou fai atu na latou i totonu o rubles, ma na matou filifili e faʻateleina le saʻo ma faia i kopecks. Ma mo lenei mea e tatau ona tatou faia se faʻafouga: faʻateleina le fanua ma le aofaʻi o fefaʻatauaiga i le selau.
  • I le lalolagi i aso nei, matou te faʻaogaina meafaigaluega faʻatautaia faʻamaumauga faʻamaumauga otometi. Sei tatou faapea atu Liquibase. Matou te resitalaina a matou malaga iina. Matou te faʻataʻitaʻiina i luga o la matou suʻega faʻavae. Ua lelei mea uma. O lo'o alu le fa'afouga. E poloka ai galuega mo sina taimi, ae matou maua faʻamatalaga faʻafouina. Ma e mafai ona matou faʻalauiloa galuega fou i lenei mea. Sa tofotofoina mea uma ma siaki. Na faʻamaonia mea uma.
  • Sa matou faia galuega fuafuaina ma faia le femalagaiga.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O le femalaga'iga lea ma le fa'afouga ua tu'uina atu i ou luma. Talu ai o laʻu faʻamatalaga faʻamatalaga nei, o le ipu e 15 GB. Ma talu ai matou te faʻafouina laina uma, matou te faaluaina le tele o le laulau ma le faʻafouga, aua matou te toe tusia laina uma.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

I le taimi o le femalagaiga, e le mafai ona matou faia se mea i lenei ipu, aua o talosaga uma i ai na tuʻuina ma faʻatali seia maeʻa lenei faʻafouga. Ae o iinei ou te manaʻo e tosina atu lou mafaufau i numera o loʻo i luga o le axis vertical. O lona uiga, o loʻo i ai le matou taimi ole talosaga aʻo leʻi faimalaga e tusa ma le 5 milliseconds ma le uta o le gaosiga, o le numera o poloka poloka mo le faitauina o le manatua o le disk e itiiti ifo i le 7,5.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Na matou faia le femalagaiga ma toe maua ai faʻafitauli.

Na manuia le malaga, ae:

  • O le galuega tuai ua umi se taimi e fa'auma ai.
  • Na toe tupu tele le laulau.
  • O le uta i luga o le server ua toe sili atu nai lo le taimi muamua.
  • Ma, ioe, o loʻo matou faʻataʻitaʻiina pea le faʻatinoga na aoga lelei, ua matou faʻaleleia teisi.

Ma o le toe fulafula lea, ua toe faaleagaina ai o tatou olaga.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

O iinei ou te faʻaalia ai o le laulau, pei o mataupu muamua e lua, o le a le toe foʻi i ona lapoʻa muamua. E foliga mai ua lava le uta averesi a le server.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ma afai tatou te liliu atu i le laulau ma tala, o le a tatou vaʻai ua faaluaina le taimi ole talosaga mo lenei laulau. O le uta i luga o le gaosiga ma le numera o laina faʻavasegaina i le manatua na oso i luga ole 7,5, ae na maualalo. Ma na oso i le 2 taimi i le tulaga o processors, 1,5 taimi i le tulaga o poloka poloka, o lona uiga ua matou maua se faʻaleagaina i le faʻatinoga o le server. Ma o se taunuuga - faʻaleagaina o le faʻatinoga o la matou talosaga. I le taimi lava e tasi, o le numera o telefoni na tumau pea ile tulaga tutusa.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Ma o le mea autu iinei o le malamalama pe faʻapefea ona fai saʻo ia femalagaiga. Ma e tatau ona latou faia. Matou te faia nei femalagaiga i taimi uma.

  • O ia femalagaiga tetele e le otometi ona tupu. E tatau ona latou pulea i taimi uma.
  • E mana'omia le vaavaaiga a se tagata poto. Afai e iai sau DBA i lau 'au, tu'u le DBA e fai. O lana galuega. Afai e leai, ona tuu atu lea i le tagata sili ona poto masani e faia, o ai na te iloa le auala e galue ai ma faʻamaumauga.
  • O se fa'amaumauga fou o fa'amaumauga, e tusa lava pe matou te fa'afou le koluma e tasi, matou te sauniuni i taimi uma, o lona uiga, a'o le'i fa'asalalauina le fa'asologa fou o le talosaga:
  • Fa'aopoopo fanua fou o le a matou fa'amaumau ai fa'amaumauga fou.
  • Matou te tuʻuina atu faʻamatalaga mai le fanua tuai i le fanua fou i ni vaega laiti. Aisea ua tatou faia ai lenei mea? Muamua, matou te pulea i taimi uma le faagasologa o lenei faiga. Matou te iloa ua uma ona matou faʻaliliuina le tele o vaega ma ua tele naua a matou mea o totoe.
  • Ma o le aafiaga lelei lona lua o le va o ia vaega taitasi tatou tapunia le fefaʻatauaiga, tatala se mea fou, ma e mafai ai ona galue le autovacuum e tusa ai ma le ipu, faailoga laina mate mo le toe faʻaaogaina.
  • Mo laina o le a faʻaalia aʻo faʻagasolo le talosaga (o loʻo i ai pea le matou talosaga tuai), matou te faʻaopoopoina se faʻaoso e tusia ai tulaga fou i fanua fou. I lo tatou tulaga, o le faʻateleina lea i le selau o le tau tuai.
  • Afai tatou te faʻamaʻaʻa atoatoa ma manaʻo i le fanua lava e tasi, ona maeʻa lea o femalagaiga uma ma aʻo leʻi faʻasalalau se faʻamatalaga fou o le talosaga, naʻo le toe faʻaigoaina o fanua. O mea tuai ua tu'uina atu i ai se igoa fou, ma o fanua fou ua toe fa'aigoaina i mea tuai.
  • Ma naʻo le maeʻa ai ona matou faʻalauiloaina se faʻamatalaga fou o le talosaga.

Ma i le taimi lava e tasi o le a tatou le maua se bloat ma o le a le mafatia i tulaga o le faatinoga.

O le mea lea e muta ai le tala lona tolu.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

https://github.com/dataegret/pg-utils/blob/master/sql/table_bloat.sql

https://github.com/dataegret/pg-utils/blob/master/sql/table_bloat_approx.sql

Ma o lenei o sina faʻamatalaga atili e uiga i meafaigaluega na ou taʻua i le tala muamua.

A'o le'i su'eina le fulafula, e tatau ona e fa'apipi'i le fa'aopoopoga pgstattuple.

Ina ia e le tau faia ni fesili, ua uma ona matou tusia nei fesili i la matou galuega. E mafai ona e fa'aogaina. E lua talosaga iinei.

  • O le mea muamua e umi se taimi e galue ai, ae o le a faʻaali atu ia te oe le tau saʻo o le fulafula mai le laulau.
  • O le lona lua e galue vave ma e matua aoga lava pe a manaʻomia le vave suʻesuʻe pe iai se faʻafefe pe leai e tusa ai ma le laulau. Ma e tatau foi ona e malamalama o loʻo i ai i taimi uma le bloat i se laulau Postgres. Ole vaega lea ole ata ole MVCC.
  • Ma 20% bloat e masani mo laulau i le tele o tulaga. O lona uiga, e le tatau ona e popole ma faʻapipiʻi lenei laulau.

Na matou mafaufau pe faʻafefea ona iloa laulau o loʻo fulafula i faʻamatalaga le aoga.

I le taimi nei e uiga i le auala e foia ai le bloat:

  • Afai ei ai sau tamai laulau ma tisiki lelei, o lona uiga, i luga o se laulau e oʻo atu i le gigabyte, e mafai lava ona faʻaoga VACUUM FULL. O le a ia ave se loka faapitoa mai ia te oe i luga o le laulau mo ni nai sekone ma lelei, ae o le a ia faia mea uma vave ma saua. O le a le mea e fai e le VACUUM FULL? E mana'omia se loka fa'apitoa i luga o le laulau ma toe tusia laina ola mai laulau tuai i le laulau fou. Ma i le faaiuga na te suia i latou. Na te tapeina faila tuai ae sui mea tuai i faila fou. Ae mo le umi o lana galuega, e manaʻomia se loka faʻapitoa i luga o le laulau. O lona uiga e le mafai ona e faia se mea i lenei laulau: aua le tusi i ai, pe faitau i ai, pe suia. Ma le VACUUM FULL e mana'omia se avanoa fa'aopoopo e tusi ai fa'amaumauga.
  • Meafaigaluega e sosoo ai pg_repack. I lona faʻavae, e talitutusa lava ma le VACUUM FULL, aua e toe tusia foʻi faʻamaumauga mai faila tuai i faila fou ma suia i le laulau. Ae i le taimi lava e tasi, e le manaʻomia se loka faʻapitoa i luga o le laulau i le amataga o lana galuega, ae naʻo le taimi lava ua uma ona i ai faʻamaumauga e sui ai faila. O lona mana'oga puna'oa tisiki e tutusa ma manaoga ole VACUUM FULL. E te mana'omia se avanoa fa'aopoopo tisiki, ma e taua tele i nisi taimi pe a iai sau laulau terabyte. Ma e fai lava si fa'agaioiga-fia'ai ona e galue malosi ma I/O.
  • O le aoga lona tolu o le pgcompacttable. E sili atu le faʻaeteete i punaoa aua e galue e tusa ai ma mataupu faavae eseese. O le manatu autu o le pgcompacttable o le faʻanofoina o laina ola uma i le amataga o le laulau e faʻaaoga ai faʻafouga i le laulau. Ona alu ai lea o se masini i luga o lenei laulau, aua ua tatou iloa e iai a tatou laina ola i le amataga ma laina oti i le pito. Ma o le vacuum lava ia e tipi ese ai lenei siʻusiʻu, o lona uiga e le manaʻomia le tele o avanoa faʻapipiʻi. Ma i le taimi lava e tasi, e mafai lava ona oomiina i tulaga o punaoa.

Mea uma ma meafaigaluega.

O mea sese masani i talosaga e taʻitaʻia ai le fulafula i postgresql. Andrey Salnikov

Afai e te maua le manaia o le autu e uiga i le suʻesuʻeina atili i totonu, o nisi nei o fesoʻotaʻiga aoga:

Na ou taumafai atili e faʻaalia se tala mataʻutia mo tagata atiaʻe, aua o latou o matou tagata faʻatau tuusao o faʻamaumauga ma e tatau ona malamalama i mea ma mea e taʻitaʻia ai. Ou te faamoemoe na ou manuia. Faafetai mo lou gauai mai!

Au fesili

Faafetai mo le lipoti! Na e talanoa e uiga i le auala e te iloa ai faafitauli. E mafai faapefea ona lapataia i latou? O lona uiga, sa ou i ai se tulaga na tautau ai talosaga e le gata ona sa latou mauaina nisi o auaunaga i fafo. Ua na o ni nai sooga vao. Sa i ai ni nai talosaga laiti, e le afaina na tautau solo mo se aso, ona amata ai lea ona fai ni mea faavalevalea. O lona uiga, e talitutusa lava ma le mea e te faʻamatalaina. E fa'afefea ona siaki lenei mea? Nofo ma matamata i taimi uma o le fea talosaga e pipii? E mafai faapefea ona taofia lenei mea?

I lenei tulaga, o se galuega lenei mo pule o lau kamupani, ae le o le DBA.

O a'u o se pule.

PostgreSQL ei ai se vaaiga e taʻua o pg_stat_activity e faʻaalia ai fesili tautau. Ma e mafai ona e vaʻai i le umi o loʻo tautau ai iina.

E tatau ona ou sau i totonu ma tilotilo i le 5 minute?

Seti cron ma siaki. Afai ei ai sau talosaga mo se taimi umi, tusi se tusi ma o le mea lena. O lona uiga, e te le manaʻomia le vaʻai i ou mata, e mafai ona otometi. O le ae mauaina se tusi, e te tali atu i ai. Pe mafai ona e fana otometi.

E i ai ni mafuaaga manino e mafua ai ona tupu lenei mea?

Ua ou lisiina nisi. O isi faʻataʻitaʻiga sili atu ona lavelave. Ma e mafai ona i ai se talanoaga mo se taimi umi.

Faafetai mo le lipoti! Na ou manaʻo e faʻamalamalama e uiga i le aoga pg_repack. Afai na te le faia se loka faapitoa, ona...

Na te faia se loka faapitoa.

... ona mafai lea ona ou leiloa faʻamatalaga. E tatau ona le pu'eina e la'u talosaga se mea i lea taimi?

Leai, e sologa lelei ma le laulau, o lona uiga pg_repack muamua fesiitai laina ola uma o loʻo i ai. E masani lava, o se ituaiga o ulufale i totonu o le laulau e tupu iina. Na'o le togiina o lenei si'usi'u i fafo.

O lona uiga, na te faia moni lava i le iuga?

I le faaiuga, na te aveina se loka faapitoa e fesuiai ai nei faila.

Mata e sili atu nai lo le VACUUM FULL?

VACUUM FULL, i le taimi lava na amata ai, na vave ona ave se loka faapitoa. Ma seiloga na te faia mea uma, na te le tuuina atu o ia e alu. Ma o le pg_repack e na'o le taimi e sui ai faila. I le taimi nei e te le tusia iina, ae o faʻamaumauga o le a le leiloa, o le a lelei mea uma.

Talofa! Na e talanoa e uiga i le faʻaogaina o se masini masini taʻavale. Sa i ai se kalafi ma sela mumu, samasama ma lanu meamata. O lona uiga, lanu samasama - na ia faailogaina ua tapeina. Ma o se taunuuga, e mafai ona tusia se mea fou i totonu ia i latou?

Ioe. Postgres e le tapeina laina. E iai sona uiga fa'apitoa. Afai matou te faafou se laina, matou faailogaina le laina tuai ua tapeina. O le id o le fefaʻatauaiga na suia ai lenei laina o loʻo faʻaalia iina, ma matou tusia se laina fou. Ma e iai a matou vasega e ono mafai ona faitau ai. E i ai se taimi ua fai si matutua. Ma o le ute o le auala e galue ai le autovacuum o le alu i nei laina ma faʻailogaina e le manaʻomia. Ma e mafai ona e fa'asolo fa'amaumauga iina.

Ou te malamalama. Ae e le o le uiga lena o le fesili. Ou te le'i uma. Se'i faapea ua i ai sau laulau. E iai fanua e fesuisuia'i le tele. Ma afai ou te taumafai e faaofi se mea fou, atonu e le fetaui i totonu o le sela tuai.

Leai, po'o le a lava le tulaga o lo'o fa'afouina le laina atoa iina. Postgres e lua faʻataʻitaʻiga teuina faʻamaumauga. E filifili mai le ituaiga fa'amaumauga. O loʻo i ai faʻamaumauga o loʻo teuina saʻo i le laulau, ma e iai foʻi faʻamaumauga tos. Ole tele ia o faʻamaumauga: tusitusiga, json. E teuina i ni ipu eseese. Ma e tusa ai ma nei papa, o le tala lava e tasi ma le fulafula e tupu, o lona uiga o mea uma e tutusa. E na'o le lisiina atu lava.

Faafetai mo le lipoti! E talia le fa'aogaina o fa'amatalaga taimi e fa'atapula'a ai le umi?

Talileleia tele. Matou te faʻaogaina lenei mea i soʻo se mea. Ma talu ai e leai ni a matou lava auaunaga, matou te tuʻuina atu le fesoasoani mamao, e tele a matou tagata faʻatau. Ma ua faamalieina atoatoa tagata uma i lenei mea. O lona uiga, e iai a matou galuega cron e siaki. O le umi o sauniga e na'o le malilie i ai ma le kalani, ae matou te le ioe muamua. Atonu o se minute, e mafai ona 10 minute. E faʻalagolago i le uta i luga o le faʻavae ma lona faʻamoemoe. Ae matou te faʻaaogaina uma pg_stat_activity.

Faafetai mo le lipoti! O lo'o ou taumafai e fa'aoga lau lipoti i a'u talosaga. Ma e foliga mai tatou te amataina se fefaʻatauaiga i soʻo se mea, ma faʻamaeʻa manino i soo se mea. Afai e iai se fa'alavelave, o lo'o tupu pea le toe fa'afo'i. Ona amata lea ona ou mafaufau. A uma mea uma, o le fefaʻatauaiga atonu e le amata manino. Masalo o se fa'ailoga lea i le teine. Afai na'o lo'u fa'afouina o se fa'amaumauga, o le a amata le fefa'ataua'iga i PostgreSQL ma fa'atoa mae'a pe a motusia le feso'ota'iga?

Afai o loʻo e talanoa nei e uiga i le tulaga o le talosaga, ona faʻalagolago lea i le avetaʻavale o loʻo e faʻaaogaina, ile ORM o loʻo faʻaaogaina. E tele fa'atulagaga iina. Afai e iai sau ta'utinoga ta'avale e mafai, ona amata loa lea o se fefa'ataua'iga ma tapuni vave.

O lona uiga, e tapunia loa pe a uma le faʻafouga?

E fa'alagolago i fa'atulagaga. Sa ou ta'ua se tasi faatulagaga. Ole mea lea ole autocommit on. E fai lava si masani. Afai e mafai, ona tatala lea ma tapunia le fefaʻatauaiga. Se'i vagana ua e fa'ailoa manino mai "amata fefa'ataua'iga" ma le "fa'ai'uga fefa'ataua'iga", ae na o le fa'alauiloaina o se talosaga i le sauniga.

Talofa! Faafetai mo le lipoti! Se'i fa'apea o lo'o i ai sau fa'amaumauga o lo'o fula ma fula ae uma loa le avanoa i le server. E i ai ni mea faigaluega e fa'aleleia ai lea tulaga?

Ole avanoa ile 'au'aunaga e tatau ona mata'ituina lelei.

Mo se faʻataʻitaʻiga, na alu le DBA mo lauti, sa i se nofoaga, ma isi.

Pe a fai se faiga faila, e le itiiti ifo i se ituaiga o avanoa faaleoleo e faia lea e le tusia ai faamatalaga.

Ae fa'apefea pe afai e matua'i lalo ole zero?

O iina e taʻua o avanoa faʻaagaga, o lona uiga e mafai ona faʻasaʻoloto ma faʻalagolago i le tele na faia ai, e te maua avanoa avanoa. O le faaletonu ou te le iloa pe toafia. Ma i se isi tulaga, tuʻuina atu tisiki ina ia e maua le avanoa e faʻatino ai se gaioiga toe faʻaleleia. E mafai ona e tapeina se laulau e mautinoa e te le mana'omia.

E i ai nisi mea faigaluega?

E fai lava i lima. Ma i totonu o le lotoifale ua manino le mea e sili ona lelei e fai ai iina, ona o nisi faʻamatalaga e taua ma o nisi e le faʻaleagaina. Ma mo faʻamaumauga taʻitasi ma le talosaga o loʻo galue faʻatasi, e faʻalagolago i le pisinisi. E fai tonu lava i le lotoifale.

Faafetai mo le lipoti! E lua a'u fesili. Muamua, na e faʻaalia ata faʻataʻitaʻi e faʻaalia ai pe a pipii fefaʻatauaiga, e faʻatupulaʻia le tele o le laulau ma le faʻailoga. Ma i luga o le lipoti sa i ai le tele o mea aoga e afifi ai le laulau. Ae faapefea le faasino igoa?

Latou te teuina foi.

Ae e le afaina ai le fa'asino igoa ole vacuum?

O nisi e galulue ma se faasino igoa. Mo se faʻataʻitaʻiga, pg_rapack, pgcompacttable. O le gaogao e toe faia ai fa'ailoga ma a'afia ai. Faatasi ai ma le VACUUM FULL o le manatu o le faʻauluina o mea uma, o lona uiga e aoga ma tagata uma.

Ma le fesili lona lua. Ou te le malamalama pe aisea e faalagolago tele ai lipoti i kopi i le kopi lava ia. Na foliga mai ia te aʻu o loʻo faitau lipoti, ma o le kopi o loʻo tusia.

O le a le mea e mafua ai se fete'ena'iga toe faia? E iai le tatou Matai e fa'atino ai faiga. O lo'o fa'agasolo le masini masini ta'avale. O le a le mea moni e fai e le autovacuum? O lo'o ia tipiina ni laina tuai. Afai i le taimi nei o loʻo i ai se matou talosaga i luga o le kopi o loʻo faitauina nei laina tuai, ma i luga o le Matai na tupu ai se tulaga na faʻailogaina ai e le autovacuum ia laina e mafai ona toe faʻaaogaina, ona matou togiina lea. Ma na matou mauaina se pusa faʻamatalaga, pe a manaʻomia le toe tusia o na laina o loʻo manaʻomia e le talosaga i luga o le faʻataʻitaʻiga, o le a faʻatali le faʻasologa mo le taimi na e faʻatulagaina. Ona filifili lea e PostgreSQL po o le a le mea e sili atu ona taua i ai. Ma o le toe faia e sili atu ona taua ia te ia nai lo le talosaga, ma o le a ia fanaina le talosaga ina ia faia nei suiga i luga o le kopi.

Andrey, e i ai sa'u fesili. O nei ata matagofie na e faʻaalia i le taimi o le faʻaaliga, o taunuuga ia o galuega a nisi o au aoga? Na faapefea ona fai kalafi?

O se auaunaga lea Okmeter.

O se oloa faapisinisi lea?

Ioe. O se oloa fa'apisinisi lea.

puna: www.habr.com

Faaopoopo i ai se faamatalaga