Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Manoro hevitra anao aho hamaky ny transcript ny tatitra nataon'i Alexey Lesovsky avy amin'ny Data Egret "Fundamentals of PostgreSQL monitoring"

Ao amin'ity tatitra ity, Alexey Lesovsky dia hiresaka momba ny hevi-dehibe amin'ny antontan'isa taorian'ny gress, ny dikan'izy ireo, ary ny antony tokony hanatrehana azy ireo amin'ny fanaraha-maso; momba ny grafika tokony ho eo amin'ny fanaraha-maso, ny fomba hanampiana azy ireo ary ny fomba handikana azy ireo. Ny tatitra dia ilaina amin'ny mpitantana ny angon-drakitra, ny mpitantana ny rafitra ary ny mpamorona izay liana amin'ny famahana olana Postgres.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Alexey Lesovsky no anarako, misolo tena ny orinasa Data Egret aho.

Teny vitsivitsy momba ny tenako. Efa ela aho no nanomboka tamin'ny naha-mpiandraikitra ny rafitra.

Nitantana karazana rafitra Linux isan-karazany aho, niasa tamin'ny zavatra isan-karazany mifandraika amin'ny Linux, izany hoe virtoaly, fanaraha-maso, niasa tamin'ny proxy, sns. Saingy tamin'ny fotoana iray dia nanomboka niasa bebe kokoa tamin'ny angon-drakitra aho, PostgreSQL. Tena tiako izy. Ary tamin'ny fotoana iray dia nanomboka niasa tamin'ny PostgreSQL aho tamin'ny ankamaroan'ny fotoana niasako. Ary dia lasa PostgreSQL DBA tsikelikely aho.

Ary nandritra ny asako dia nahaliana ahy foana ny lohahevitra momba ny antontan'isa, ny fanaraha-maso ary ny telemetry. Ary fony aho mpitantana rafitra dia niara-niasa akaiky tamin'i Zabbix. Ary nanoratra andian-tsoratra kely toy ny zabbix-extensions. Tena nalaza izy tamin'ny androny. Ary teo dia azo natao ny nanara-maso ny zava-dehibe samihafa, tsy ny Linux ihany, fa ny singa isan-karazany koa.

Ankehitriny dia miasa amin'ny PostgreSQL aho. Efa manoratra zavatra hafa ahafahanao miasa amin'ny antontan'isa PostgreSQL aho. Antsoina hoe pgCenter (lahatsoratra momba ny HabrΓ© - Statistique post-gress tsy misy nerveuse sy fihenjanana).

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Fanamarihana kely fampidirana. Inona no toe-javatra iainan'ny mpanjifantsika, ny mpanjifantsika? Misy karazana lozam-pifamoivoizana mifandraika amin'ny angon-drakitra. Ary rehefa tafaverina amin’ny laoniny ny angon-drakitra dia tonga ny lehiben’ny sampana na ny lehiben’ny fampandrosoana manao hoe: β€œRy namana, mila manara-maso ny angon-drakitra isika, satria nisy zavatra ratsy nitranga ka mila misoroka izany amin’ny ho avy”. Ary eto dia manomboka ny dingana mahaliana amin'ny fisafidianana rafitra fanaraha-maso na fampifanarahana rafitra fanaraha-maso efa misy mba hahafahanao manara-maso ny angon-drakitrao - PostgreSQL, MySQL na hafa. Ary nanomboka nanoro hevitra ny mpiara-miasa hoe: β€œReko fa misy angona angona toy izao. Andao hampiasa azy io." Manomboka miady hevitra ny mpiara-miasa. Ary amin'ny farany dia hita fa misafidy karazana database izahay, fa ny fanaraha-maso PostgreSQL dia aseho ao anatiny ary tsy maintsy manampy zavatra foana. MakΓ  tahiry sasany ao amin'ny GitHub, ampifanaraho azy ireo, ampifanaraho amin'ny script, ary amboary izany. Ary amin'ny farany dia lasa karazana asa tanana.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Noho izany, amin'ity lahateny ity dia hiezaka hanome anao fahalalana momba ny fomba hisafidy fanaraha-maso tsy ho an'ny PostgreSQL ihany aho, fa ho an'ny angon-drakitra ihany koa. Ary omeo anao ny fahalalana izay ahafahanao mamita ny fanaraha-maso anao mba hahazoana tombony amin'izany, mba hahafahanao manara-maso ny angon-drakitrao miaraka amin'ny tombontsoa, ​​mba hisorohana haingana ny toe-javatra maika mety hitranga.

Ary ny hevitra ho ao anatin'ity tatitra ity dia azo ampifanarahana mivantana amin'ny angon-drakitra rehetra, na DBMS na noSQL. Noho izany, tsy PostgreSQL ihany no misy, fa hisy fomba fanamboarana maro momba ny fomba hanaovana izany ao amin'ny PostgreSQL. Hisy ohatra amin'ny fanontaniana, ohatra amin'ny sampana izay ananan'ny PostgreSQL ho fanaraha-maso. Ary raha manana zavatra mitovy amin'izany ny DBMS anao izay ahafahanao mametraka azy ireo amin'ny fanaraha-maso, azonao atao koa ny mampifanaraka azy ireo, ampio izy ireo ary ho tsara izany.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey LesovskyTsy ho ao anatin'ny tatitra aho
miresaka momba ny fomba hanaterana sy fitehirizana metrika. Tsy hilaza na inona na inona momba ny fanodinana ny angon-drakitra sy ny fanolorana izany amin'ny mpampiasa aho. Ary tsy hilaza na inona na inona momba ny fanairana aho.
Saingy rehefa mandroso ny tantara dia hampiseho pikantsary samihafa amin'ny fanaraha-maso efa misy aho ary hitsikera azy ireo. Saingy na izany aza dia hiezaka ny tsy hanonona marika aho mba tsy hamoronana dokambarotra na anti-advertising amin'ireo vokatra ireo. Noho izany, ny kisendrasendra rehetra dia kisendrasendra ary avela amin'ny eritreritrao.
Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Andeha hojerentsika aloha ny atao hoe fanaraha-maso. Tena zava-dehibe ny fanaraha-maso. Fantatry ny rehetra izany. Saingy amin'ny fotoana iray ihany, ny fanaraha-maso dia tsy mifandray amin'ny vokatra ara-barotra ary tsy misy fiantraikany mivantana amin'ny tombom-barotry ny orinasa, noho izany dia atokana hatrany ny fanaraha-maso amin'ny lafiny sisa. Raha manam-potoana izahay, dia manao fanaraha-maso; raha tsy manam-potoana izahay dia OK, apetrakay ao amin'ny backlog izany ary indray andro any dia hiverina amin'ireo asa ireo izahay.

Noho izany, avy amin'ny fanaontsika, rehefa tonga any amin'ny mpanjifa isika, ny fanaraha-maso dia matetika tsy feno ary tsy misy zavatra mahaliana izay hanampy antsika hanao asa tsara kokoa amin'ny angon-drakitra. Ary noho izany dia mila vitaina hatrany ny fanaraha-maso.

Ny angon-drakitra dia zavatra saro-takarina izay mila araha-maso ihany koa, satria ny tahiry dia fitahirizana vaovao. Ary tena zava-dehibe ho an'ny orinasa ny fampahalalam-baovao; tsy ho very na amin'ny fomba ahoana na amin'ny fomba ahoana. Saingy miaraka amin'izay koa, ny angon-drakitra dia singa rindrambaiko tena sarotra. Izy ireo dia ahitana singa maro be. Ary maro amin'ireo singa ireo no mila arahi-maso.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey LesovskyRaha miresaka manokana momba ny PostgreSQL isika, dia azo aseho amin'ny endrika drafitra izay misy singa marobe. Ireo singa ireo dia mifandray amin'ny tsirairay. Ary miaraka amin'izay koa, PostgreSQL dia manana ny antsoina hoe Stats Collector subsystem, izay ahafahanao manangona antontan'isa momba ny fiasan'ireo subsystems ireo ary manome karazana interface tsara ho an'ny mpitantana na mpampiasa mba hahafahany mijery ireo antontan'isa ireo.

Ireo antontan'isa ireo dia aseho amin'ny endrika karazana fiasa sy fomba fijery. Azo antsoina koa hoe latabatra izy ireo. Izany hoe, amin'ny fampiasana mpanjifa psql mahazatra, afaka mifandray amin'ny angon-drakitra ianao, misafidy ireo fiasa sy fomba fijery ireo, ary mahazo isa manokana momba ny fiasan'ny subsystems PostgreSQL.

Azonao atao ny manampy ireo isa ireo amin'ny rafitra fanaraha-maso ankafizinao, manao sary, manampy asa ary mahazo analyse mandritra ny fotoana maharitra.

Saingy amin'ity tatitra ity dia tsy horesahiko tanteraka ireo asa rehetra ireo, satria mety haharitra ny andro iray manontolo izany. Hiresaka zavatra roa, telo na efatra ara-bakiteny aho ary hilaza aminao ny fomba hanampian'izy ireo hanatsara ny fanaraha-maso.
Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Ary raha miresaka momba ny fanaraha-maso ny angon-drakitra isika, inona no tokony hojerena? Voalohany indrindra, mila manara-maso ny fisiana isika, satria ny angon-drakitra dia serivisy manome fidirana amin'ny angon-drakitra ho an'ny mpanjifa ary mila manara-maso ny fisiany, ary manome ihany koa ny sasany amin'ireo toetran'ny qualitative sy quantitative.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Mila manara-maso ireo mpanjifa mifandray amin'ny angon-drakitray ihany koa izahay, satria mety ho mpanjifa mahazatra izy ireo no mpanjifa manimba izay mety hanimba ny angona. Mila arahi-maso ihany koa izy ireo ary arahi-maso ny hetsika ataony.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Rehefa mifandray amin'ny angon-drakitra ny mpanjifa dia miharihary fa manomboka miasa miaraka amin'ny angonay izy ireo, noho izany dia mila manara-maso ny fomba fiasan'ny mpanjifa amin'ny angon-drakitra izahay: amin'ny tabilao inona, ary amin'ny ampahany kely kokoa, amin'ny fanondroana. Izany hoe mila manombana ny enta-mavesatry ny asa noforonin'ny mpanjifantsika isika.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Fa ny enta-mavesatry ny asa dia misy ihany koa, mazava ho azy, ny fangatahana. Ny fampiharana dia mifandray amin'ny angon-drakitra, miditra amin'ny angona amin'ny fampiasana fanontaniana, noho izany dia zava-dehibe ny manombatombana izay fanontaniana ananantsika ao amin'ny tahiry, manara-maso ny fahatomombanan'izy ireo, fa tsy miolakolaka izy ireo, fa ny safidy sasany dia mila averina soratana sy atao mba hiasa haingana kokoa. ary miaraka amin'ny fampisehoana tsara kokoa.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ary satria miresaka momba ny angon-drakitra isika, ny angon-drakitra dia dingana fototra foana. Ny fizotran'ny background dia manampy amin'ny fitazonana ny fahombiazan'ny angon-drakitra amin'ny ambaratonga tsara, noho izany dia mitaky loharanon-karena sasany izy ireo mba hiasana. Ary miaraka amin'izay koa, afaka mifanipaka amin'ny loharanon'ny fangatahan'ny mpanjifa izy ireo, noho izany dia mety hisy fiantraikany mivantana amin'ny fanatanterahana ny fangatahan'ny mpanjifa ny fizotry ny fitadiavam-bola. Noho izany, mila arahi-maso sy arahi-maso ihany koa izy ireo mba tsy hisian’ny fanodinkodinana eo amin’ny fizotry ny lafika.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ary izany rehetra izany amin'ny resaka fanaraha-maso ny angon-drakitra dia mijanona ao amin'ny metrika rafitra. Saingy raha jerena fa ny ankamaroan'ny fotodrafitrasantsika dia mifindra any amin'ny rahona, ny metrikan'ny rafitry ny mpampiantrano tsirairay dia manjavona foana any aoriana. Saingy amin'ny angon-drakitra dia mbola manan-danja izy ireo ary, mazava ho azy, ilaina ihany koa ny manara-maso ny metrika rafitra.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ny zava-drehetra dia tsara kokoa na latsaka amin'ny metrika rafitra, ny rafitra fanaraha-maso maoderina rehetra dia efa manohana ireo metrika ireo, saingy amin'ny ankapobeny dia mbola tsy ampy ny singa sasany ary mila ampiana zavatra sasany. Hikasika azy ireo ihany koa aho, hisy slide maromaro momba azy ireo.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Ny teboka voalohany amin'ny drafitra dia ny fidirana. Inona no atao hoe accessibility? Ny fisian'ny fahazoako dia ny fahafahan'ny base amin'ny serivisy serivisy, izany hoe ny fototra dia atsangana, izany, amin'ny maha serivisy azy, dia manaiky ny fifandraisana amin'ny mpanjifa. Ary io fahafahana miditra io dia azo tombanana amin'ny toetra sasany. Tena mety ny mampiseho ireo toetra ireo amin'ny dashboards.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Fantatry ny rehetra ny atao hoe dashboard. Izany dia rehefa nijery indray ny efijery misy ny fampahalalana ilaina ianao. Ary azonao atao ny mamaritra avy hatrany raha misy olana ao amin'ny database na tsia.
Arak'izany, ny fisian'ny angon-drakitra sy ny toetra manan-danja hafa dia tokony haseho amin'ny dashboard foana mba ho eo am-pelatanana sy ho azonao foana io fampahalalana io. Ny antsipiriany fanampiny sasany izay efa manampy amin'ny fanadihadiana ny zava-nitranga, rehefa manadihady toe-javatra maika, dia efa mila apetraka eo amin'ny dashboards faharoa izy ireo, na miafina ao amin'ny rohy drilldown izay mitondra mankany amin'ny rafitra fanaraha-maso an'ny antoko fahatelo.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ohatra iray amin'ny rafitra fanaraha-maso malaza iray. Ity dia rafitra fanaraha-maso tena mahafinaritra. Manangona angon-drakitra be dia be izy, saingy raha ny fahitako azy dia manana hevitra hafahafa momba ny dashboard izy. Misy rohy "mamorona dashboard". Fa rehefa mamorona dashboard ianao dia mamorona lisitry ny tsanganana roa, lisitry ny grafika. Ary rehefa mila mijery zavatra ianao, dia manomboka manindry ny totozy, mihodina, mitady ny tabilao tianao. Ary mila fotoana izany, izany hoe tsy misy dashboards toy izany. Ny lisitry ny tabilao ihany no misy.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Inona no tokony ampianao amin'ireo dashboard ireo? Azonao atao ny manomboka amin'ny toetra toy ny fotoana famaliana. PostgreSQL dia manana ny fomba fijery pg_stat_statements. Izy io dia kilemaina amin'ny alΓ lan'ny default, saingy iray amin'ireo fomba fijery manan-danja amin'ny rafitra izay tokony ho alefa sy ampiasaina foana. Izy io dia mitahiry vaovao momba ny fangatahana rehetra izay efa natao tao amin'ny angon-drakitra.

Noho izany, afaka manomboka amin'ny hoe afaka maka ny fotoana hanatanterahana ny fangatahana rehetra isika ary mizara izany amin'ny isan'ny fangatahana mampiasa ireo saha etsy ambony. Fa izany no maripana antonony ao amin’ny hopitaly. Afaka manomboka amin'ny sehatra hafa isika - ny fotoana hanatanterahana ny fangatahana kely indrindra, ny ambony indrindra ary ny mediana. Ary afaka manangana isan-jato mihitsy aza isika; Ny PostgreSQL dia manana fiasa mifanaraka amin'izany. Ary afaka mahazo isa vitsivitsy izay mampiavaka ny fotoana famaliana ny angon-drakitray izahay ho an'ny fangatahana efa vita, izany hoe tsy manatanteraka ny fangatahana sandoka 'select 1' izahay ary mijery ny fotoana famaliana, fa mandinika ny fotoana valin'ny fangatahana efa vita izahay ary manao sary. na tarehimarika misaraka, na manangana grafika mifototra amin'izany.

Zava-dehibe ihany koa ny fanaraha-maso ny isan'ny lesoka ateraky ny rafitra amin'izao fotoana izao. Ary noho izany dia azonao atao ny mampiasa ny pg_stat_database view. Mifantoka amin'ny saha xact_rollback izahay. Ity sehatra ity dia tsy mampiseho fotsiny ny isan'ny fiverenana mitranga ao amin'ny angon-drakitra, fa koa mandray ny isan'ny lesoka. Raha fintinina dia afaka mampiseho an'io tarehimarika io ao amin'ny dashboard-ntsika isika ary mahita hoe firy ny lesoka ananantsika amin'izao fotoana izao. Raha be dia be ny lesoka, izany no antony tsara hijerena ny logs sy hijerena ny karazana lesoka sy ny antony mahatonga azy ireo, ary avy eo mampiasa vola sy mamaha azy ireo.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Azonao atao ny manampy zavatra toy ny Tachometer. Ireo no isan'ny fifampiraharahana isan-tsegondra sy ny isan'ny fangatahana isan-tsegondra. Raha lazaina amin'ny teny hafa dia azonao atao ny mampiasa ireo isa ireo ho fampisehoana amin'izao fotoana izao amin'ny angon-drakitrao ary jereo raha misy ny tampon'ny fangatahana, ny tampon'ny fifampiraharahana, na, ny mifanohitra amin'izany, raha ambany loatra ny angon-drakitra satria tsy nahomby ny backend sasany. Zava-dehibe ny mijery an'io tarehimarika io ary tadidio fa ho an'ny tetikasantsika dia mahazatra io karazana fampisehoana io, fa ny soatoavina etsy ambony sy ambany dia efa karazana olana sy tsy takatry ny saina, midika izany fa mila mijery ny antony mahatonga ireo isa ireo isika. avo be.

Mba hanombantombanana ny isan'ny fifampiraharahana dia afaka mijery indray ny fijery pg_stat_database isika. Afaka manampy ny isan'ny commit sy ny isan'ny fiverenana ary mahazo ny isan'ny fifanakalozana isan-tsegondra.

Fantatry ny rehetra ve fa misy fangatahana maromaro mety hifanaraka amin'ny fifanakalozana iray? Noho izany TPS sy QPS dia hafa kely.

Ny isan'ny fangatahana isan-tsegondra dia azo avy amin'ny pg_stat_statements ary kajy tsotra izao ny fitambaran'ny fangatahana rehetra vita. Mazava fa mampitaha ny sanda ankehitriny amin'ny teo aloha isika, esory izany, alao ny delta, ary alao ny isa.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Azonao atao ny manampy metrika fanampiny raha tianao, izay manampy amin'ny fanombanana ny fisian'ny angon-drakitray ary manara-maso raha toa ka nisy fotoana tsy nampoizina.

Ny iray amin'ireo metrika ireo dia ny ora fiasana. Saingy ny fotoana fiasana ao amin'ny PostgreSQL dia somary sarotra. Holazaiko anao ny antony. Rehefa nanomboka ny PostgreSQL dia manomboka mitatitra ny ora fiasana. Fa raha amin'ny fotoana iray, ohatra, misy asa mandeha amin'ny alina, tonga ny mpamono OOM ary nanafoana an-keriny ny fizotry ny zaza PostgreSQL, dia amin'ity tranga ity ny PostgreSQL dia mamarana ny fifandraisana amin'ny mpanjifa rehetra, mamerina ny faritra fitadidiana sharded ary manomboka amin'ny fanarenana. ny toeram-pisavana farany. Ary na dia maharitra aza ity fanarenana avy amin'ny toby fisavana ity dia tsy manaiky ny fifandraisana ny angon-drakitra, izany hoe ity toe-javatra ity dia azo tombanana ho toy ny fotoana fiatoana. Saingy tsy hamerenana ny kaontera uptime, satria ny fotoana fanombohana postmaster dia raisina amin'ny fotoana voalohany. Noho izany, ny toe-javatra toy izany dia azo tsidihana.

Tokony hanara-maso ny isan'ny mpiasa vacuum koa ianao. Fantatry ny rehetra ve hoe inona ny autovacuum ao amin'ny PostgreSQL? Ity dia subsystem mahaliana ao amin'ny PostgreSQL. Betsaka ny lahatsoratra nosoratana momba azy, maro ny tatitra natao. Be dia be ny adihevitra momba ny banga sy ny fomba tokony hiasana. Maro no mihevitra azy io ho ratsy tsy maintsy atao. Fa izay no izy. Ity dia karazana analogue amin'ny mpanangom-pako izay manadio andalana efa lany andro izay tsy ilain'ny fifampiraharahana rehetra ary manafaka toerana amin'ny latabatra sy ny index ho an'ny andalana vaovao.

Nahoana ianao no mila manara-maso izany? Satria ny banga indraindray maharary be. Mandany loharanon-karena be dia be ary manomboka mijaly ny fangatahan'ny mpanjifa vokatr'izany.

Ary tokony hanara-maso izany amin'ny alΓ lan'ny fijery pg_stat_activity, izay horesahiko amin'ny fizarana manaraka. Ity fomba fijery ity dia mampiseho ny hetsika ankehitriny ao amin'ny angon-drakitra. Ary amin'ny alalan'ity hetsika ity dia afaka manara-maso ny isan'ny banga miasa amin'izao fotoana izao isika. Afaka manara-maso ny banga isika ary mahita fa raha nihoatra ny fetra isika dia antony iray hijerena ny fikandran'ny PostgreSQL ary hanatsara ny fiasan'ny vacuum.

Ny zavatra iray hafa momba ny PostgreSQL dia ny PostgreSQL dia marary mafy amin'ny fifampiraharahana lava. Indrindra fa avy amin'ny fifampiraharahana mihantona mandritra ny fotoana maharitra ary tsy manao na inona na inona. Io ilay antsoina hoe stat idle-in-transaction. Ny fifampiraharahana toy izany dia mitazona hidy ary manakana ny banga tsy hiasa. Ary vokatr'izany dia mibontsina ny latabatra ary mitombo ny habeny. Ary manomboka miasa miadana kokoa ny fanontaniana izay miasa miaraka amin'ireo latabatra ireo, satria mila angady ireo andalana taloha rehetra avy amin'ny fitadidiana mankany amin'ny kapila sy aoriana. Noho izany, ny fotoana, ny faharetan'ny fifampiraharahana lava indrindra, ny fangatahana banga lava indrindra dia mila jerena ihany koa. Ary raha mahita dingana sasany efa ela be isika, efa mihoatra ny 10-20-30 minitra ho an'ny enta-mavesatra OLTP, dia mila mandinika azy ireo isika ary manafoana azy ireo amin'ny fomba mahery vaika, na manatsara ny fampiharana mba hahafahan'izy ireo mijery. tsy antsoina ary tsy mihantona ela loatra. Ho an'ny enta-madinika, 10-20-30 minitra dia ara-dalΓ na; misy ihany koa ny lava kokoa.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Manaraka izany dia manana safidy miaraka amin'ny mpanjifa mifandray. Rehefa efa namorona dashboard izahay ary nandefa mari-pamantarana manan-danja momba izany, dia afaka manampy fampahalalana fanampiny momba ny mpanjifa mifandray ao ihany koa.

Zava-dehibe ny fampahalalana momba ny mpanjifa mifandray satria, amin'ny fomba fijery PostgreSQL, dia tsy mitovy ny mpanjifa. Misy mpanjifa tsara ary misy mpanjifa ratsy.

Ohatra tsotra. Amin'ny mpanjifa azoko ny fampiharana. Ny fampiharana dia mifandray amin'ny angon-drakitra ary avy hatrany dia manomboka mandefa ny fangatahany any, ny fizotran'ny angona ary manatanteraka azy ireo, ary mamerina ny valiny amin'ny mpanjifa. Ireo dia mpanjifa tsara sy marina.

Misy toe-javatra rehefa nifandray ny mpanjifa, mihazona ny fifandraisana, fa tsy manao na inona na inona. Ao anatin'ny toe-javatra tsy misy dikany izany.

Saingy misy mpanjifa ratsy. Ohatra, io mpanjifa io ihany no nifandray, nanokatra fifampiraharahana, nanao zavatra tao amin'ny database ary avy eo niditra tao amin'ny code, ohatra, mba hidirana loharano ivelany na hikarakarana ny angona voaray ao. Saingy tsy nanakatona ny varotra izy. Ary ny fifampiraharahana dia mihantona ao amin'ny angon-drakitra ary tazonina ao anaty hidin'ny tsipika. Toe-javatra ratsy izany. Ary raha tampoka ny fampiharana any amin'ny toerana iray ao anatiny dia tsy mahomby afa-tsy, dia afaka mijanona misokatra mandritra ny fotoana maharitra ny fifampiraharahana. Ary misy fiantraikany mivantana amin'ny fahombiazan'ny PostgreSQL izany. PostgreSQL dia ho miadana kokoa. Noho izany, zava-dehibe ny manara-maso ny mpanjifa toy izany ara-potoana ary manafoana ny asany. Ary mila manatsara ny fampiharanao ianao mba tsy hisian'ny toe-javatra toy izany.

Ny mpanjifa ratsy hafa dia miandry mpanjifa. Lasa ratsy anefa izy ireo noho ny toe-javatra misy azy. Ohatra, fifampiraharahana tsy misy dikany tsotra: afaka manokatra fifampiraharahana izy, maka hidy amin'ny andalana sasany, avy eo any amin'ny toerana iray ao amin'ny code dia tsy hahomby izany, ka mamela fifampiraharahana mihantona. Ho avy ny mpanjifa iray hafa ary hangataka ny angon-drakitra mitovy, fa hahita hidin-trano izy, satria io fifampiraharahana mihantona io dia efa mitazona hidy amin'ny andalana sasany ilaina. Ary ny fifampiraharahana faharoa dia hihantona hiandry ny fifampiraharahana voalohany hamita na hanidy an-keriny izany ataon'ny mpitantana. Noho izany, ny fifampiraharahana miandry dia afaka manangona sy mameno ny fetran'ny fifandraisana amin'ny angona. Ary rehefa feno ny fetra dia tsy afaka miasa amin'ny angon-drakitra intsony ny fampiharana. Efa tranga maika ho an'ny tetikasa izany. Noho izany, ny mpanjifa ratsy dia mila arahina sy mamaly ara-potoana.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ohatra iray hafa amin'ny fanaraha-maso. Ary efa misy dashboard mendrika eto. Misy fampahalalana momba ny fifandraisana etsy ambony. Fifandraisana DB - 8 sekely. Ary izany rehetra izany. Tsy manana vaovao momba izay mpanjifa mavitrika izahay, izay mpanjifa midonana-poana, tsy manao na inona na inona. Tsy misy vaovao momba ny fifampiraharahana miandry sy ny fifandraisana miandry, izany hoe tarehimarika mampiseho ny isan'ny fifandraisana ary izay ihany. Ary avy eo maminavina ho anao.
Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Arak'izany, mba hanampiana ity fampahalalana ity amin'ny fanaraha-maso dia mila miditra amin'ny fijerin'ny rafitra pg_stat_activity ianao. Raha mandany fotoana be ao amin'ny PostgreSQL ianao, dia fomba fijery tena tsara tokony ho lasa namanao izany, satria mampiseho ny hetsika ankehitriny ao amin'ny PostgreSQL, izany hoe ny zava-mitranga ao anatiny. Ho an'ny dingana tsirairay dia misy tsipika mitokana izay mampiseho fampahalalana momba ity dingana ity: avy amin'ny mpampiantrano ny fifandraisana, amin'ny mpampiasa inona, amin'ny anarana inona, tamin'ny fotoana nanombohan'ny fifampiraharahana, inona ny fangatahana mandeha amin'izao fotoana izao, inona no fangatahana natao farany. Ary, araka izany, afaka manombana ny toetry ny mpanjifa amin'ny alΓ lan'ny sehatra stat isika. Raha ny tena izy dia afaka mivondrona amin'ity sehatra ity isika ary mahazo ireo antontan'isa izay ao amin'ny angon-drakitra amin'izao fotoana izao sy ny isan'ny fifandraisana manana an'io antontan'isa io ao amin'ny tahiry. Ary afaka mandefa ireo isa efa voaray izahay amin'ny fanaraha-maso sy manao sary mifototra amin'izy ireo.
Zava-dehibe ihany koa ny fanombanana ny faharetan'ny fifampiraharahana. Efa nilaza aho fa zava-dehibe ny fanombanana ny faharetan'ny vacuums, fa toy izany koa ny fanombanana ny fifanakalozana. Misy saha xact_start sy query_start. Izy ireo, raha lazaina amin'ny teny hafa, dia mampiseho ny fotoana fanombohan'ny fifampiraharahana sy ny fotoana fanombohan'ny fangatahana. Raisinay ny fiasan'ny now(), izay mampiseho ny mari-potoana amin'izao fotoana izao, ary esorinay ny fifampiraharahana ary angatahana timestamp. Ary azontsika ny faharetan'ny fifampiraharahana, ny faharetan'ny fangatahana.

Raha mahita fifampiraharahana lava isika dia tokony ho vitantsika sahady. Ho an'ny entana OLTP dia efa mihoatra ny 1-2-3 minitra ny fifampiraharahana lava. Ho an'ny enta-mavesatry ny OLAP dia ara-dalΓ na ny fifampiraharahana lava, fa raha maharitra adiny roa mahery izy ireo vao vita, dia famantarana ihany koa izany fa misy fiviliana any ho any.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Rehefa mifandray amin'ny angon-drakitra ny mpanjifa dia manomboka miasa miaraka amin'ny angonay. Miditra amin'ny latabatra izy ireo, miditra amin'ny indexes mba hahazoana angona avy amin'ny latabatra. Ary zava-dehibe ny fanombanana ny fomba fifandraisan'ny mpanjifa amin'ity data ity.

Ilaina izany mba hanombanana ny enta-mavesatry ny asantsika sy hahatakarana amin'ny ankapobeny hoe tabilao inona no "mafana indrindra" ho antsika. Ohatra, ilaina izany amin'ny toe-javatra izay tiantsika ny hametraka latabatra "mafana" amin'ny karazana fitehirizana SSD haingana. Ohatra, ny latabatra arisiva sasany izay tsy nampiasainay nandritra ny fotoana ela dia azo afindra any amin'ny karazana "mangatsiaka" arisiva, mankany amin'ny SATA drive ary avelao hipetraka any izy ireo, hidirana araka izay ilaina.

Ity dia ilaina ihany koa amin'ny famantarana ny tsy fetezana aorian'ny famoahana sy fametrahana. Andeha hatao hoe namoaka endri-javatra vaovao ny tetikasa. Ohatra, nanampy fiasa vaovao izahay amin'ny fiasana amin'ny angon-drakitra. Ary raha mamolavola tabilao momba ny fampiasana latabatra isika dia afaka mahita mora foana ireo tsy fitoviana ireo amin'ireo grafika ireo. Ohatra, manavao ny fipoahana na mamafa ny fipoahana. Tena ho hita maso izany.

Azonao atao ihany koa ny mahita ny anomalia amin'ny antontan'isa "mitsingevana". Inona no dikan'izany? PostgreSQL dia manana drafitra fangatahana matanjaka sy tena tsara. Ary ny mpamorona dia manokana fotoana betsaka amin'ny fampandrosoana azy. Ahoana no fiasana? Mba hanaovana drafitra tsara, ny PostgreSQL dia manangona antontan'isa momba ny fizarana angon-drakitra amin'ny tabilao amin'ny fotoana voafaritra sy matetika. Ireo no soatoavina mahazatra indrindra: ny isan'ny soatoavina tokana, fampahalalana momba ny NULL eo amin'ny latabatra, fampahalalana be dia be.

Mifototra amin'ireo antontan'isa ireo, ny planner dia manangana fanontaniana maromaro, mifidy ny tsara indrindra, ary mampiasa ity drafitra fangatahana ity mba hanatanterahana ny fangatahana ary hamerina angona.

Ary mitranga fa "mitsingevana" ny antontan'isa. Ny angon-drakitra momba ny kalitao sy ny habetsahana dia niova teo amin'ny latabatra, saingy tsy voaangona ny antontan'isa. Ary ny drafitra natsangana dia mety tsy ho tsara indrindra. Ary raha toa ka mivadika ho ambany ny drafitra ataontsika mifototra amin'ny fanaraha-maso nangonina, mifototra amin'ny tabilao, dia ho hitantsika ireo tsy fitoviana ireo. Ohatra, any amin'ny toerana iray dia niova ny angon-drakitra ary raha tokony ho ny index, dia nanomboka nampiasaina ny fandalovan'ny latabatra, i.e. raha tsy maintsy mamerina andalana 100 fotsiny ny fangatahana iray (misy fetra 100), dia hisy fikarohana feno ho an'ity fangatahana ity. Ary izany dia misy fiantraikany ratsy foana eo amin'ny fampisehoana.

Ary hitantsika izany amin'ny fanaraha-maso. Ary jereo sahady ity fanontaniana ity, manaova fanazavana momba izany, manangona antontan'isa, manangana tondro fanampiny vaovao. Ary efa mamaly ity olana ity. Izany no maha zava-dehibe izany.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ohatra iray hafa amin'ny fanaraha-maso. Heveriko fa maro ny olona nahafantatra azy satria malaza be izy. Iza no mampiasa izany amin'ny tetikasany Prometheus? Iza no mampiasa ity vokatra ity miaraka amin'ny Prometheus? Ny zava-misy dia ao amin'ny tahiry mahazatra an'ity fanaraha-maso ity dia misy dashboard miasa amin'ny PostgreSQL - postgres_exporter Prometheus. Saingy misy antsipiriany ratsy iray.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Misy grafika maromaro. Ary ny bytes dia aseho ho firaisana, izany hoe misy grafika 5. Ireo dia Ampidiro ny angona, Fanavaozana ny angona, Fafao ny angona, angona alaina ary ny angona Avereno. Ny fandrefesana unit dia bytes. Fa ny zava-misy dia ny antontan'isa ao amin'ny PostgreSQL dia mamerina ny angona amin'ny tuple (lahatra). Ary, araka izany, ireo kisary ireo dia fomba tsara hanamaivanana ny enta-mavesatrao imbetsaka, im-polo, satria ny tuple dia tsy byte, ny tuple dia tady, dia bytes maro ary miovaova ny halavany. Izany hoe, asa tsy mitombina na sarotra be ny kajy ny enta-mavesatra amin'ny bytes mampiasa tuples. Noho izany, rehefa mampiasa dashboard na fanaraha-maso naorina ianao, dia zava-dehibe foana ny mahatakatra fa miasa tsara izy io ary mamerina ny angon-drakitra voatombana tsara.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ahoana no hahazoana antontan'isa amin'ireo latabatra ireo? Ho an'ity tanjona ity, PostgreSQL dia manana fianakaviamben'ny fomba fijery. Ary ny tena fijery dia pg_stat_user_tables. User_tables - izany dia midika hoe latabatra natao ho an'ny mpampiasa. Mifanohitra amin'izany kosa, misy fomba fijery rafitra ampiasain'ny PostgreSQL mihitsy. Ary misy latabatra famintinana Alltables, izay ahitana ny rafitra sy ny mpampiasa. Afaka manomboka amin'ny iray amin'izy ireo izay tianao indrindra ianao.

Amin'ny fampiasana ireo sehatra etsy ambony dia azonao atao ny manombatombana ny isan'ny fampidirana, fanavaozana ary famafana. Ny ohatry ny dashboard izay nampiasaiko dia mampiasa ireo saha ireo hanombanana ny toetran'ny enta-mavesatra. Noho izany, afaka manorina azy ireo koa isika. Saingy ilaina ny mitadidy fa ireo dia tuples, fa tsy bytes, ka tsy afaka manao izany amin'ny bytes fotsiny isika.

Miorina amin'io angona io dia afaka manamboatra tabilao antsoina hoe TopN isika. Ohatra, Top-5, Top-10. Ary azonao atao ny manara-maso ireo latabatra mafana izay recycler kokoa noho ny hafa. Ohatra, tabilao "mafana" 5 ho an'ny fampidirana. Ary amin'ny fampiasana ireo tabilao TopN ireo dia manombana ny enta-mavesatry ny asantsika isika ary afaka manombana ny fipoahan'ny enta-mavesatra aorian'ny famoahana, fanavaozana ary fametrahana.

Zava-dehibe ihany koa ny fanombanana ny haben'ny latabatra, satria indraindray ny mpamorona dia mamoaka endri-javatra vaovao, ary ny latabatray dia manomboka mivonto amin'ny habeny lehibe, satria nanapa-kevitra ny hampiditra data fanampiny izy ireo, saingy tsy naminavina ny mety ho vokatr'izany. misy fiantraikany amin'ny haben'ny angon-drakitra. Mahagaga antsika koa ny tranga toy izany.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ary ankehitriny fanontaniana kely ho anao. Inona no fanontaniana mipetraka rehefa tsikaritrao ny enta-mavesatra eo amin'ny mpizara database-nao? Inona ny fanontanianao manaraka?

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Fa raha ny marina dia mipetraka toy izao manaraka izao ny fanontaniana. Inona no fangatahana ateraky ny entana? Izany hoe, tsy mahaliana ny mijery ny dingana izay ateraky ny entana. Mazava ho azy fa raha manana database ny mpampiantrano dia mandeha any ny database ary mazava ho azy fa ny database ihany no ariana ao. Raha manokatra Top isika dia hahita lisitr'ireo dingana ao amin'ny PostgreSQL izay manao zavatra. Tsy hazava amin'ny Top ny zavatra ataon'izy ireo.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Noho izany, mila mitady ireo fanontaniana izay mahatonga ny entana avo indrindra ianao, satria ny fanontana fanontaniana, amin'ny ankapobeny, dia manome tombony bebe kokoa noho ny fandrindrana ny PostgreSQL na ny rafitra fandidiana, na ny fampifanarahana ny hardware. Araka ny tombanako dia eo amin'ny 80-85-90% eo ho eo izany. Ary izany dia vita haingana kokoa. Haingana kokoa ny manitsy ny fangatahana noho ny manitsy ny fikirakirana, mandamina ny fanombohana, indrindra raha tsy azo averina ny angon-drakitra, na manampy fitaovana. Mora kokoa ny mamerina manoratra ny fangatahana any amin'ny toerana iray na manampy tondro mba hahazoana vokatra tsara kokoa amin'ity fangatahana ity.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Ilaina araka izany ny fanaraha-maso ny fangatahana sy ny fahatomombanana. Andeha isika haka ohatra iray hafa momba ny fanaraha-maso. Ary eto koa dia toa misy fanaraha-maso tsara. Misy ny fampahalalana momba ny replication, misy ny fampahalalana momba ny throughput, ny fanakanana, ny fampiasana loharano. Tsara ny zava-drehetra, saingy tsy misy fampahalalana momba ny fangatahana. Tsy fantatra mazava hoe inona ny fanontaniana mandeha ao amin'ny angon-drakitray, hafiriana no mandeha, firy amin'ireo fanontaniana ireo. Mila manana izany vaovao izany foana izahay amin'ny fanaraha-maso.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ary mba hahazoana izany vaovao izany dia afaka mampiasa ny pg_stat_statements module. Miorina amin'izany dia afaka manamboatra grafika isan-karazany ianao. Ohatra, azonao atao ny mahazo fampahalalana momba ireo fanontaniana matetika indrindra, izany hoe ireo fanontaniana izay tanterahina matetika. Eny, aorian'ny fametrahana dia tena ilaina ihany koa ny mijery azy ary mahatakatra raha misy fisondrotry ny fangatahana.

Azonao atao ny manara-maso ireo fanontaniana lava indrindra, izany hoe ireo fanontaniana izay maharitra ela indrindra vao vita. Mihazakazaka amin'ny processeur izy ireo, mandany I/O. Azontsika atao ihany koa ny manombana izany amin'ny fampiasana ny saha total_time, mean_time, blk_write_time ary blk_read_time.

Afaka manombana sy manara-maso ny fangatahana mavesatra indrindra isika amin'ny resaka fampiasana loharano, ireo izay mamaky avy amin'ny kapila, izay miasa miaraka amin'ny fitadidiana, na, mifanohitra amin'izany, mamorona karazana enta-manoratra.

Afaka manombana ny fangatahana malala-tanana indrindra isika. Ireo no fanontaniana mamerina andalana marobe. Ohatra, mety ho fangatahana sasany izay nanadinoan'izy ireo nametraka fetra. Ary mamerina fotsiny ny atiny manontolo amin'ny latabatra na fanontaniana manerana ny latabatra anontaniana.

Ary azonao atao koa ny manara-maso ireo fanontaniana mampiasa rakitra vonjimaika na latabatra vonjimaika.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky
Ary mbola manana dingana ambadika izahay. Ny fizotran'ny background dia toeram-pisavana voalohany indrindra na antsoina koa hoe toeram-pisavana, autovacuum sy replication ireo.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ohatra iray hafa amin'ny fanaraha-maso. Misy tabilao fikojakojana eo ankavia, mankanesa any ary manantena hahita zavatra mahasoa. Fa izao ihany no fotoana fiasan'ny banga sy fanangonana antontan'isa, tsy misy hafa. Fampahalalam-baovao tena ratsy izany, noho izany dia mila manana fampahalalana momba ny fomba fiasan'ny fizotry ny background ao amin'ny angon-drakitray izahay ary raha misy olana amin'ny asany.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Rehefa mijery toeram-pisavana isika dia tokony hotadidintsika fa ny toera-pisavana dia mandroaka pejy maloto avy amin'ny faritra fitadidiana sharded mankany amin'ny kapila, avy eo mamorona toeram-pisavana. Ary ity toerana fisavana ity dia azo ampiasaina ho toerana fanarenana raha toa ka tapaka tampoka ny PostgreSQL tao anatin'ny hamehana.

Arak'izany, mba hanesorana ny pejy "maloto" rehetra amin'ny kapila dia mila manoratra maromaro ianao. Ary, amin'ny ankapobeny, amin'ny rafitra misy fahatsiarovana be dia be izany. Ary raha manao fisavana matetika ao anatin'ny fotoana fohy isika, dia hihena be ny fahombiazan'ny kapila. Ary ny fangatahan'ny mpanjifa dia hijaly noho ny tsy fahampian'ny loharano. Hifaninana amin'ny harena izy ireo ary tsy ampy vokatra.

Noho izany, amin'ny alΓ lan'ny pg_stat_bgwriter amin'ny fampiasana ireo saha voafaritra dia azontsika atao ny manara-maso ny isan'ny toby fisavana mitranga. Ary raha manana toeram-pisavana be dia be ao anatin'ny fe-potoana iray (amin'ny 10-15-20 minitra, amin'ny antsasak'adiny), ohatra, 3-4-5, dia mety ho olana izany. Ary efa mila mijery ao amin'ny angon-drakitra ianao, jereo ny fanamafisana, inona no mahatonga ny fisavana be dia be. Angamba misy karazana fandraisam-peo lehibe mandeha. Efa afaka manombatombana ny enta-mavesatry ny asa isika, satria efa nampiana tabilao enta-mavesatra. Efa azontsika atao ny manitsy ny mari-pamantarana fisavana ary mahazo antoka fa tsy misy fiantraikany betsaka amin'ny fahombiazan'ny fangatahana.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Miverina amin'ny autovacuum indray aho satria zavatra toy izany, araka ny nolazaiko, dia afaka manampy mora foana ny kapila sy ny fampihetseham-panontaniana, ka zava-dehibe foana ny manombatombana ny habetsaky ny autovacuum.

Ny isan'ny mpiasa autovacuum ao amin'ny tahiry dia voafetra. Amin'ny alΓ lan'ny default, misy telo amin'izy ireo, ka raha manana mpiasa telo foana izahay miasa ao amin'ny database, midika izany fa tsy configured ny autovacuum, mila mampiakatra ny fetra, manitsy ny toe-javatra autovacuum ary miditra amin'ny config.
Zava-dehibe ny fanombanana hoe iza amin'ireo mpiasan'ny vacuum no ananantsika. Na navoakan'ny mpampiasa izany, dia tonga ny DBA ary namoaka karazana vacuum, ary niteraka entana izany. Manana karazana olana isika. Na izany no isan'ny banga izay manala ny kaontera momba ny varotra. Ho an'ny dikan-teny sasany amin'ny PostgreSQL dia banga mavesatra be ireo. Ary afaka manampy mora foana ny zava-bita izy ireo satria mamaky ny latabatra manontolo, mijery ny sakana rehetra ao amin'io latabatra io.

Ary, mazava ho azy, ny faharetan'ny vacuums. Raha manana vacuums maharitra maharitra maharitra ela be isika, dia midika izany fa mila mandinika indray ny firafitry ny banga isika ary mety handinika indray ny fandrindrana azy. Satria mety hitranga ny toe-javatra iray rehefa miasa eo amin'ny latabatra mandritra ny fotoana maharitra ny vacuum (3-4 ora), fa nandritra ny fotoana niasana ny vacuum, dia nisy andalana maty marobe niangona teo amin'ny latabatra indray. Ary raha vantany vao vita ny banga, dia mila manadio an'io latabatra io indray izy. Ary tonga amin'ny toe-javatra iray isika - banga tsy misy farany. Ary amin'ity tranga ity, ny banga dia tsy mahazaka ny asany, ary ny latabatra manomboka mivonto tsikelikely ny habeny, na dia eo aza ny habetsaky ny angona mahasoa ao aminy. Noho izany, mandritra ny banga lava dia mijery foana ny fanamafisana izahay ary manandrana manatsara azy io, saingy miaraka amin'izay koa mba tsy hijaly ny fanatanterahana ny fangatahan'ny mpanjifa.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Amin'izao fotoana izao dia tsy misy fametrahana PostgreSQL izay tsy misy replication mivantana. Ny replication dia ny dingan'ny famindrana angona avy amin'ny tompony mankany amin'ny dika mitovy.

Ny famerenana amin'ny PostgreSQL dia atao amin'ny alΓ lan'ny log de transaction. Mamorona diarin'ny fifanakalozana ny wizard. Ny diarin'ny varotra dia mandeha amin'ny fifandraisana amin'ny tambajotra mankany amin'ny kopia, ary avy eo dia averina amin'ny kopia. Tsotra izany.

Noho izany, ny fomba fijery pg_stat_replication dia ampiasaina hanaraha-maso ny fahatarana amin'ny replication. Saingy tsy ny zavatra rehetra no tsotra aminy. Ao amin'ny dikan-10, ny fomba fijery dia nandalo fiovana maro. Voalohany, nomena anarana ny saha sasany. Ary nampiana saha sasany. Ao amin'ny dikan-10, nisy saha izay ahafahanao manombatombana ny fahatarana amin'ny famerenana ao anatin'ny segondra. Tena mahazo aina. Talohan'ny dikan-10 dia azo natao ny nanombantombana ny fahatarana amin'ny replication amin'ny bytes. Ity safidy ity dia mijanona ao amin'ny version 10, izany hoe azonao atao ny misafidy izay mety aminao kokoa - manombatombana ny fahatarana amin'ny bytes na manombatombana ny fahatarana ao anatin'ny segondra. Maro ny olona manao azy roa.

Fa na izany aza, mba hanombanana ny replication lag, dia mila mahafantatra ny toerana misy ny log ao amin'ny fifanakalozana. Ary ao amin'ny fijery pg_stat_replication marina ireo toeran'ny log transaction ireo. Amin'ny lafiny iray, afaka maka teboka roa ao amin'ny diarin'ny transaction isika amin'ny fampiasana ny pg_xlog_location_diff() function. Kajio ny delta eo anelanelan'izy ireo ary alao amin'ny bytes ny fahatarana replication. Tena mety sy tsotra.

Ao amin'ny version 10, io fiasa io dia novana ho pg_wal_lsn_diff(). Amin'ny ankapobeny, amin'ny fiasa rehetra, ny fomba fijery ary ny fampitaovana izay nipoiran'ny teny hoe "xlog", dia nosoloina ny sanda "wal". Izany dia mihatra amin'ny fomba fijery sy ny asa. Fanavaozana toy izany izany.

Fanampin'izay, ao amin'ny version 10, dia nampiana andalana izay mampiseho manokana ny fahatarana. Ireo dia manoratra lag, flush lag, replay lag. Izany hoe, zava-dehibe ny fanaraha-maso ireo zavatra ireo. Raha hitantsika fa misy fahatarana amin'ny replication, dia mila manadihady ny antony nipoiran'izany, avy aiza ary hamaha ny olana.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Saika ny zava-drehetra dia mirindra miaraka amin'ny metrika rafitra. Rehefa manomboka ny fanaraha-maso rehetra dia manomboka amin'ny metrikan'ny rafitra izany. Izany dia ny fanariana ny processeurs, fahatsiarovana, swap, tambajotra sy ny kapila. Na izany aza, maro ireo paramètres no tsy ao amin'ny default.

Raha milamina ny zava-drehetra amin'ny fizotran'ny fanodinana, dia misy olana amin'ny fanodinana kapila. Amin'ny maha-fitsipika, ny mpamorona fanaraha-maso dia manampy vaovao momba ny throughput. Mety amin'ny iops na bytes. Saingy hadinon'izy ireo ny fahatarana sy ny fampiasana fitaovana kapila. Ireo no mari-pamantarana manan-danja kokoa izay ahafahantsika manombatombana ny habetsaky ny kapila misy antsika sy ny halalin'izy ireo. Raha manana latency ambony isika, dia midika izany fa misy olana amin'ny kapila. Raha manana fampiasana ambony isika dia midika izany fa tsy mahazaka ny kapila. Ireo dia toetra tsara kokoa noho ny throughput.

Ankoatr'izay, ireo antontan'isa ireo dia azo alaina amin'ny rafi-drakitra / proc, toy ny atao amin'ny fanodinana fanodinana. Tsy fantatro ny antony tsy ampiana ity vaovao ity amin'ny fanaraha-maso. Saingy na izany aza, zava-dehibe ny fananana izany amin'ny fanaraha-maso anao.

Toy izany koa ny fifandraisana amin'ny tambajotra. Misy fampahalalana momba ny fidirana amin'ny tambajotra ao anaty fonosana, amin'ny bytes, saingy na izany aza dia tsy misy fampahalalana momba ny latency ary tsy misy fampahalalana momba ny fampiasana, na dia fampahalalana mahasoa aza izany.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Ny fanaraha-maso rehetra dia misy lesoka. Ary na inona na inona karazana fanaraha-maso raisinao dia tsy hahafeno fepetra sasantsasany foana izany. Saingy na izany aza, mivoatra izy ireo, misy endri-javatra vaovao sy zava-baovao fanampiny, koa mifidiana zavatra ary farano.

Ary mba hamaranana dia tsy maintsy manana hevitra foana ianao momba ny dikan'ny antontan'isa nomena sy ny fomba ahafahanao mampiasa azy ireo hamahana olana.

Ary hevi-dehibe vitsivitsy:

  • Tokony hanara-maso foana ny fisiana ianao ary hanana dashboards mba hahafahanao manombana haingana fa ny zava-drehetra dia milamina miaraka amin'ny angon-drakitra.
  • Mila manana hevitra foana ianao hoe inona ny mpanjifa miasa amin'ny angon-drakitrao mba hanesorana ireo mpanjifa ratsy sy hitifitra azy ireo.
  • Zava-dehibe ny fanombanana ny fomba fiasan'ireo mpanjifa ireo amin'ny angona. Mila manana hevitra momba ny enta-mavesatrao ianao.
  • Zava-dehibe ny fanombanana ny fomba namoronana ity enta-mavesatra ity, miaraka amin'ny fanampian'ny fanontaniana inona. Azonao atao ny manombatombana ny fanontaniana, azonao atao ny manatsara azy ireo, mamerina azy ireo, manangana indeksa ho azy ireo. Tena zava-dehibe izany.
  • Mety hisy fiatraikany ratsy amin'ny fangatahan'ny mpanjifa ny fizotran'ny background, noho izany dia zava-dehibe ny manara-maso fa tsy mampiasa loharanon-karena be loatra izy ireo.
  • Ny metrika rafitra dia ahafahanao manao drafitra amin'ny fampitomboana sy fampitomboana ny fahafahan'ny mpizara anao, noho izany dia zava-dehibe ny manara-maso sy manombana azy ireo koa.

Ny fototry ny fanaraha-maso PostgreSQL. Alexey Lesovsky

Raha liana amin'ity lohahevitra ity ianao dia afaka manaraka ireto rohy ireto.
http://bit.do/stats_collector - antontan-taratasy ofisialy avy amin'ny mpanangona antontan'isa izany. Misy ny famaritana ny fomba fijery statistika rehetra ary ny famaritana ny sehatra rehetra. Afaka mamaky, mahazo ary mamakafaka azy ireo ianao. Ary miorina amin'izy ireo, manangana ny sarinao ary ampio amin'ny fanaraha-maso anao.

Ohatra fangatahana:
http://bit.do/dataegret_sql
http://bit.do/lesovsky_sql

Ity ny tahirim-bolantsika sy ny ahy manokana. Misy fanontaniana ohatra izy ireo. Tsy misy fanontaniana avy amin'ny andiany voafantina* ao. Efa misy fanontaniana efa vonona miaraka amin'ny fiaraha-miasa, mampiasa fiasa mahaliana izay ahafahanao mamadika isa manta ho sanda mora vakiana sy mora, izany hoe bytes, fotoana. Azonao atao ny maka azy ireo, mijery azy ireo, mandinika azy ireo, manampy azy ireo amin'ny fanaraha-maso anao, manangana ny fanaraha-maso mifototra amin'izy ireo.

Ny fanontanianao

Fanontaniana: Nilaza ianao fa tsy hanao dokam-barotra marika, saingy mbola manontany tena aho - karazana dashboard inona no ampiasainao amin'ny tetikasanao?
Valiny: Miovaova izany. Sendra misy mpanjifa izahay ary efa manana ny fanaraha-maso azy manokana. Ary manoro hevitra ny mpanjifa izahay amin'ny zavatra tokony ampiana amin'ny fanaraha-maso azy ireo. Ny toe-javatra ratsy indrindra dia ny Zabbix. Satria tsy manana fahaizana manamboatra tabilao TopN. Izahay ihany no mampiasa Okmeter, satria niara-nidinika tamin'ireo lehilahy ireo izahay momba ny fanaraha-maso. Nanara-maso ny PostgreSQL izy ireo mifototra amin'ny fepetra ara-teknika. Manoratra ny tetikasako manokana aho, izay manangona angon-drakitra amin'ny alΓ lan'ny Prometheus ary mamadika izany grafana. Ny asako dia ny mamorona ny mpanondrana ahy manokana ao amin'ny Prometheus ary avy eo mandika ny zava-drehetra amin'ny Grafana.

Fanontaniana: Misy mitovy amin'ny tatitra AWR na ... aggregation ve? Fantatrao ve ny zavatra toy izany?
Valiny: Eny, fantatro ny atao hoe AWR, zavatra mahafinaritra izany. Amin'izao fotoana izao dia misy karazana bisikileta izay mampihatra ny modely manaraka. Amin'ny elanelam-potoana sasany, dia soratana amin'ny PostgreSQL na amin'ny fitahirizana mitokana ny tsipika fototra sasany. Azonao atao ny mi-google azy ireo amin'ny Internet, misy izy ireo. Ny iray amin'ireo mpamorona ny zavatra toy izany dia mipetraka ao amin'ny forum sql.ru ao amin'ny kofehy PostgreSQL. Afaka misambotra azy any ianao. Eny, misy zavatra toy izany, azo ampiasaina. Plus amin'ny azy pgCenter Manoratra zavatra izay ahafahanao manao zavatra mitovy ihany koa aho.

PS1 Raha mampiasa postgres_exporter ianao, inona ny dashboard ampiasainao? Misy maromaro amin'izy ireo. Efa lany andro izy ireo. Angamba ny vondrom-piarahamonina dia hamorona mΓ΄dely nohavaozina?

PS2 nesorina ny pganalyze satria tolotra SaaS tompon'andraikitra izy io izay mifantoka amin'ny fanaraha-maso ny fampandehanana sy ny soso-kevitry ny fanitsiana mandeha ho azy.

Ireo mpampiasa voasoratra anarana ihany no afaka mandray anjara amin'ny fanadihadiana. HiditraPlease.

Iza amin'ny fanaraha-maso postgresql mampiantrano tena (miaraka amin'ny dashboard) no heverinao fa tsara indrindra?

  • 30,0%Zabbix + fanampiny avy amin'i Alexey Lesovsky na zabbix 4.4 na libzbxpgsql + zabbix libzbxpgsql + zabbix3

  • 0,0%https://github.com/lesovsky/pgcenter0

  • 0,0%https://github.com/pg-monz/pg_monz0

  • 20,0%https://github.com/cybertec-postgresql/pgwatch22

  • 20,0%https://github.com/postgrespro/mamonsu2

  • 0,0%https://www.percona.com/doc/percona-monitoring-and-management/conf-postgres.html0

  • 10,0%pganalyze dia SaaS fananan-tany - tsy azoko fafana izany1

  • 10,0%https://github.com/powa-team/powa1

  • 0,0%https://github.com/darold/pgbadger0

  • 0,0%https://github.com/darold/pgcluu0

  • 0,0%https://github.com/zalando/PGObserver0

  • 10,0%https://github.com/spotify/postgresql-metrics1

Mpampiasa 10 no nifidy. Mpampiasa 26 no nifady.

Source: www.habr.com

Add a comment