Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Molaim duit eolas a chur ar athscríbhinn na tuarascála le Alexey Lesovsky ó Data Egret "Basics of PostgreSQL Monitoring"

Sa tuarascáil seo, labhróidh Alexey Lesovsky faoi phríomhphointí staitisticí postgres, cad a chiallaíonn siad, agus cén fáth ar chóir iad a áireamh sa mhonatóireacht; faoi ​​cad ba cheart cairteacha a bheith sa mhonatóireacht, conas iad a shuimiú agus conas a léirmhíniú. Beidh an tuarascáil úsáideach do riarthóirí bunachar sonraí, riarthóirí córais agus forbróirí a bhfuil suim acu i bhfabhtcheartú Postgres.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Alexey Lesovsky is ainm dom, is ionann mé agus Data Egret.

Cúpla focal fúm féin. Thosaigh mé i bhfad ó shin mar riarthóir córais.

Riar mé gach cineál Linux éagsúla, rinne mé rudaí éagsúla a bhaineann le Linux, ie fíorúlú, monatóireacht, d'oibrigh le seachvótálaithe, etc. Ach ag am éigin bhí baint níos mó agam le bunachair shonraí, PostgreSQL. Thaitin sé go mór liom. Agus ag pointe éigin, thosaigh mé ag déileáil le PostgreSQL an chuid is mó de mo chuid ama oibre. Agus mar sin de réir a chéile rinneadh DBA PostgreSQL orm.

Agus le linn mo ghairm bheatha, bhí suim agam i gcónaí i dtopaicí staitisticí, monatóireachta, teiliméadrachta. Agus nuair a bhí mé i mo riarthóir córais, d'oibrigh mé an-dian ar Zabbix. Agus scríobh sé sraith bheag de scripteanna mar zabbix-síntí. Bhí an-tóir air ina chuid ama. Agus bhíothas in ann monatóireacht a dhéanamh ar rudaí tábhachtacha an-difriúla, ní hamháin Linux, ach freisin comhpháirteanna éagsúla.

Anois tá PostgreSQL á dhéanamh agam cheana féin. Tá rud eile á scríobh agam cheana féin a ligeann duit oibriú le staitisticí PostgreSQL. Tugtar pgIonad (alt ar Habré - Postgres stat gan nerves agus teannas).

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Réamhrá beag. Cad iad na cásanna lenár gcustaiméirí, lenár gcliaint? Baineann timpiste de chineál éigin leis an mbunachar sonraí. Agus nuair a bheidh an bunachar sonraí athchóirithe cheana féin, tagann ceann na roinne nó an ceann forbartha agus deir: “A chairde, ba cheart dúinn monatóireacht a dhéanamh ar an mbunachar sonraí, mar tharla rud éigin dona agus ní mór nach dtarlóidh sé seo amach anseo.” Agus anseo cuirtear tús leis an bpróiseas suimiúil maidir le córas monatóireachta a roghnú nó córas monatóireachta atá ann cheana a oiriúnú ionas gur féidir leat monatóireacht a dhéanamh ar do bhunachar sonraí - PostgreSQL, MySQL nó roinnt eile. Agus tosaíonn comhghleacaithe ag tairiscint: “Chuala mé go bhfuil a leithéid de bhunachar sonraí ann. Bainimis úsáid as." Tosaíonn comhghleacaithe ag argóint lena chéile. Agus sa deireadh tharlaíonn sé go roghnaíonn muid de chineál éigin bunachar sonraí, ach tá monatóireacht PostgreSQL ionadaíocht sách lag ann agus ní mór dúinn i gcónaí rud éigin a chríochnú. Tóg roinnt stórtha ó GitHub, clónáil iad, oiriúnaigh scripteanna, déan iad a choigeartú ar bhealach éigin. Agus sa deireadh titeann sé amach i roinnt oibre láimhe.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Mar sin, sa tuarascáil seo, déanfaidh mé iarracht roinnt eolais a thabhairt duit maidir le conas monatóireacht a roghnú, ní hamháin le haghaidh PostgreSQL, ach freisin don bhunachar sonraí. Agus an t-eolas a thabhairt a ligfidh duit do mhonatóireacht a chríochnú chun tairbhe éigin a bhaint as, ionas gur féidir leat monatóireacht a dhéanamh ar do bhunachar sonraí le tairbhe chun aon chásanna éigeandála a d'fhéadfadh teacht chun cinn in am a chosc.

Agus na smaointe sin a bheidh sa tuarascáil seo, is féidir iad a oiriúnú go díreach d'aon bhunachar sonraí, bíodh sé ina DBMS nó noSQL. Dá bhrí sin, ní hamháin PostgreSQL anseo, ach beidh go leor oidis ar conas é seo a dhéanamh i PostgreSQL. Beidh samplaí de cheisteanna ann, samplaí d’eintitis atá ag PostgreSQL chun monatóireacht a dhéanamh orthu. Agus má tá na rudaí céanna ag do DBMS a ligeann duit iad a chur i monatóireacht, is féidir leat iad a oiriúnú freisin, cuir leo agus beidh sé go breá.

Bunús monatóireachta PostgreSQL. Alexey LesovskyNí dhéanfaidh mé tuairisc
labhairt faoi conas méadracht a sheachadadh agus a stóráil. Ní déarfaidh mé rud ar bith faoi shonraí iar-phróiseála agus iad a sholáthar don úsáideoir. Agus ní déarfaidh mé faic faoi foláireamh.
Ach le linn an scéil, taispeánfaidh mé scáileáin scáileáin éagsúla de mhonatóireacht atá ann cheana féin, ar bhealach éigin déanfaidh mé iad a cháineadh. Mar sin féin, déanfaidh mé iarracht gan brandaí a ainmniú ionas nach gcruthófar fógraíocht nó frithfhógraíocht do na táirgí seo. Dá bhrí sin, tá gach comhtharlú randamach agus fanann tú ar do shamhlaíocht.
Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Gcéad dul síos, déanaimis a thuiscint cad is monatóireacht ann. Is rud an-tábhachtach é monatóireacht a dhéanamh. Tuigeann gach duine é seo. Ach ag an am céanna, níl baint ag monatóireacht le táirge gnó agus ní chuireann sé isteach go díreach ar bhrabúis na cuideachta, agus mar sin tugtar am monatóireachta i gcónaí ar bhonn iarmharach. Má tá am againn, ansin táimid i mbun monatóireachta, mura bhfuil aon am ann, ansin ceart go leor, cuirfimid é sa riaráiste agus lá éigin cuirfimid ar ais chuig na tascanna seo.

Mar sin, ónár gcleachtas, nuair a thagann muid chuig cliaint, is minic nach mbíonn monatóireacht tearcfhorbartha agus ní bhíonn aon rudaí suimiúla ann a chuideodh linn jab níos fearr a dhéanamh leis an mbunachar sonraí. Agus mar sin ní mór monatóireacht a dhéanamh i gcónaí.

Is rudaí casta den sórt sin iad bunachair shonraí ar gá duit monatóireacht a dhéanamh orthu freisin, toisc gur stór faisnéise iad bunachair shonraí. Agus tá an fhaisnéis an-tábhachtach don chuideachta, ní féidir é a chailleadh ar bhealach ar bith. Ach ag an am céanna, is píosaí bogearraí an-chasta iad bunachair shonraí. Tá siad comhdhéanta de go leor comhpháirteanna. Agus is gá monatóireacht a dhéanamh ar go leor de na comhpháirteanna seo.

Bunús monatóireachta PostgreSQL. Alexey LesovskyMá tá muid ag caint go sonrach faoi PostgreSQL, ansin is féidir é a léiriú mar scéim den sórt sin, atá comhdhéanta de líon mór comhpháirteanna. Idirghníomhaíonn na comhpháirteanna seo lena chéile. Agus ag an am céanna, tá an fochóras Stats Collector mar a thugtar air ag PostgreSQL, a ligeann duit staitisticí a bhailiú faoi oibriú na bhfochóras seo agus comhéadan a sholáthar don riarthóir nó don úsáideoir ionas gur féidir leis na staitisticí seo a fheiceáil.

Cuirtear an staidreamh seo i láthair i bhfoirm roinnt feidhmeanna agus tuairimí (amharc). Is féidir táblaí a thabhairt orthu freisin. Is é sin, ag baint úsáide as cliant psql rialta, is féidir leat ceangal leis an mbunachar sonraí, roghnaigh na feidhmeanna agus na tuairimí seo, agus roinnt uimhreacha sonracha a fháil maidir le feidhmiú fochórais PostgreSQL.

Is féidir leat na huimhreacha seo a chur leis an gcóras monatóireachta is fearr leat, graif a tharraingt, gnéithe a chur leis agus anailísíocht a fháil san fhadtréimhse.

Ach sa tuarascáil seo, ní chlúdóidh mé na feidhmeanna seo go léir gan eisceacht, mar is féidir lá iomlán a ghlacadh. Déanfaidh mé tagairt go litriúil do dhá, trí nó ceithre rud agus inseoidh mé duit conas a chuidíonn siad le monatóireacht a dhéanamh níos fearr.
Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Agus má labhairt linn faoi mhonatóireacht a dhéanamh ar an mbunachar sonraí, cad ba cheart monatóireacht a dhéanamh air? Ar an gcéad dul síos, ní mór dúinn monatóireacht a dhéanamh ar infhaighteacht, toisc gur seirbhís é an bunachar sonraí a sholáthraíonn rochtain ar shonraí do chliaint agus ní mór dúinn monatóireacht a dhéanamh ar infhaighteacht, agus freisin cuid dá saintréithe cáilíochtúla agus cainníochtúla a sholáthar.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Ní mór dúinn freisin monatóireacht a dhéanamh ar na cliaint a nascann lenár mbunachar sonraí, mar is féidir leo a bheith ina gcliaint gnáth agus ina gcliant díobhálach araon a d'fhéadfadh dochar a dhéanamh don bhunachar sonraí. Ní mór monatóireacht agus rianú a dhéanamh orthu freisin.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Nuair a nascann cliaint leis an mbunachar sonraí, is léir go dtosaíonn siad ag obair lenár gcuid sonraí, agus mar sin ní mór dúinn monatóireacht a dhéanamh ar an gcaoi a n-oibríonn cliaint le sonraí: lena táblaí, go pointe níos lú lena n-innéacsanna. Is é sin, ní mór dúinn an t-ualach oibre a chruthaíonn ár gcliaint a mheas.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Ach is éard atá san ualach oibre freisin, ar ndóigh, iarrataí. Ceanglaíonn iarratais leis an mbunachar sonraí, rochtain a fháil ar shonraí ag baint úsáide as fiosrúcháin, mar sin tá sé tábhachtach a mheas cé na ceisteanna atá againn sa bhunachar sonraí, monatóireacht a dhéanamh ar a leorgacht, nach bhfuil siad cam, gur gá roinnt roghanna a athscríobh agus a dhéanamh ionas go n-oibreoidh siad níos tapúla agus le feidhmíocht níos fearr.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Agus ós rud é go bhfuil muid ag caint faoi an mbunachar sonraí, tá an bunachar sonraí i gcónaí próisis chúlra. Coinníonn próisis chúlra feidhmíocht an bhunachair shonraí ag leibhéal maith, agus mar sin teastaíonn méid áirithe acmhainní dóibh féin chun iad a rith. Agus ag an am céanna, is féidir leo forluí a dhéanamh le hacmhainní iarratais na gcliant, agus mar sin is féidir le hobair greedy na bpróiseas cúlra difear díreach a dhéanamh ar fheidhmíocht iarratais na gcliant. Dá bhrí sin, ní mór monatóireacht agus rianú a dhéanamh orthu freisin ionas nach mbeidh aon saobhadh ann ó thaobh próisis chúlra.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Agus sin go léir i dtéarmaí monatóireacht bunachar sonraí fós sa chóras méadrach. Ach ós rud é go dtéann ár mbonneagar iomlán chuig na scamaill don chuid is mó, téann méadracht chórais ósta aonair i gcónaí sa chúlra. Ach i mbunachair shonraí, tá siad fós ábhartha agus, ar ndóigh, tá sé riachtanach freisin monatóireacht a dhéanamh ar mhéadracht chórais.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Le méadracht an chórais, tá gach rud níos mó nó níos lú fíneáil, tacaíonn gach córas monatóireachta nua-aimseartha leis na méadrachtaí seo cheana féin, ach go ginearálta, níl roinnt comhpháirteanna fós go leor agus ní mór roinnt rudaí a chur leis. Déanfaidh mé teagmháil leo freisin, beidh roinnt sleamhnáin mar gheall orthu.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Is é an chéad phointe den phlean ná inrochtaineacht. Cad is inrochtaineacht ann? Is é infhaighteacht de réir mo thuiscint ná cumas an bhoinn chun naisc a sheirbheáil, is é sin, ardaítear an bonn, glacann sé, mar sheirbhís, naisc ó chliaint. Agus is féidir an inrochtaineacht seo a mheasúnú trí roinnt tréithe. Tá na tréithe seo an-áisiúil le taispeáint ar na dashboards.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Tá a fhios ag gach duine cad iad na dashboards. Seo nuair a thug tú breathnú amháin ar an scáileán, a rinne achoimre ar an bhfaisnéis riachtanach. Agus is féidir leat a chinneadh láithreach an bhfuil fadhb sa bhunachar sonraí nó nach bhfuil.
Dá réir sin, ba cheart infhaighteacht an bhunachair sonraí agus príomhthréithe eile a chur ar na deais i gcónaí ionas go mbeidh an fhaisnéis seo in aice leat i gcónaí. Roinnt sonraí breise a chabhraíonn cheana féin le himscrúdú teagmhais, le linn roinnt cásanna éigeandála a imscrúdú, is gá iad a chur ar dheais thánaisteach cheana féin, nó iad a chur i bhfolach i naisc dhruileála as a dtagann córais monatóireachta tríú páirtí.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Sampla de chóras monatóireachta amháin atá ar eolas. Is córas monatóireachta an-fhionnuar é seo. Bailíonn sé go leor sonraí, ach ó mo thaobh, tá coincheap aisteach de dashboards aige. Tá nasc "Cruthaigh Deais". Ach nuair a chruthaíonn tú painéal, cruthaíonn tú liosta dhá cholún, liosta cairteacha. Agus nuair is gá duit breathnú ar rud éigin, tosaíonn tú ag cliceáil, ag scrollaigh, ag lorg an chairt atá ag teastáil leis an luch. Agus tógann sé seo am, i.e. níl aon daais mar sin. Níl ann ach liostaí de chairteacha.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Cad ba cheart a chur leis na deais seo? Is féidir leat tosú le tréith den sórt sin mar am freagartha. Tá an t-amharc pg_stat_statements ag PostgreSQL. Tá sé díchumasaithe de réir réamhshocraithe, ach tá sé ar cheann de na tuairimí córais tábhachtacha ba cheart a chumasú agus a úsáid i gcónaí. Stórálann sé faisnéis faoi gach ceist reatha a cuireadh i gcrích sa bhunachar sonraí.

Dá réir sin, is féidir linn tosú ón bhfíric gur féidir linn am forghníomhaithe iomlán na n-iarratas go léir a ghlacadh agus a roinnt ar líon na n-iarratas ag baint úsáide as na réimsí thuas. Ach is meánteocht é seo san ospidéal. Is féidir linn tógáil ar réimsí eile - an t-íosmhéid ama le fiosrúchán a chur i gcrích, an t-uasmhéid agus an t-airmheán. Agus is féidir linn fiú peircintílí a thógáil, tá na feidhmeanna comhfhreagracha ag PostgreSQL chuige seo. Agus is féidir linn roinnt uimhreacha a fháil arb iad is sainairíonna iad am freagartha ár mbunachar sonraí d’iarratais atá críochnaithe cheana féin, i.e. ní dhéanaimid an t-iarratas falsa ‘roghnaigh 1’ a fhorghníomhú agus féachaint ar an am freagartha, ach déanaimid anailís ar an am freagartha d’iarratais atá críochnaithe cheana féin agus tarraingímid ceachtar den dá cheann. figiúr ar leith, nó tógaimid graf bunaithe air.

Tá sé tábhachtach freisin súil a choinneáil ar líon na n-earráidí atá á nginiúint ag an gcóras faoi láthair. Agus chuige seo is féidir leat an t-amharc pg_stat_database a úsáid. Táimid ag díriú ar an réimse xact_rollback. Léiríonn an réimse seo ní hamháin líon na n-aisrolluithe a tharlaíonn sa bhunachar sonraí, ach cuireann sé líon na n-earráidí san áireamh freisin. Ar bhealach réasúnta, is féidir linn an figiúr seo a thaispeáint ar ár deais agus a fheiceáil cé mhéad earráidí atá againn faoi láthair. Má tá a lán de na hearráidí, ansin tá sé seo cheana féin cúis mhaith chun breathnú ar na logs agus a fheiceáil cén cineál na n-earráidí iad agus cén fáth a tharlaíonn siad, agus ansin infheistíocht a dhéanamh agus iad a réiteach.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Is féidir leat a leithéid de rud a chur leis mar Thachometer. Is iad seo líon na n-idirbheart in aghaidh an tsoicind agus líon na n-iarratas in aghaidh an tsoicind. I gcomparáid leis sin, is féidir leat na huimhreacha seo a úsáid mar fheidhmíocht reatha do bhunachar sonraí agus féachaint an bhfuil buaicphointí iarratais, buaicphointí in idirbhearta, nó, os a choinne sin, an bhfuil an bunachar sonraí gann-ualach toisc gur thit inneall de chineál éigin as. Tá sé tábhachtach breathnú i gcónaí ar an bhfigiúr seo agus cuimhnigh go bhfuil feidhmíocht den sórt sin gnáth dár dtionscadal, agus go bhfuil na luachanna thuas agus thíos cheana féin de shaghas éigin fadhbanna agus dothuigthe, rud a chiallaíonn go gcaithfimid breathnú ar cén fáth a bhfuil a leithéid de uimhreacha. .

Chun líon na n-idirbheart a mheas, is féidir linn tagairt a dhéanamh arís don amharc pg_stat_database. Is féidir linn líon na ngealltanas agus líon na n-rolladh siar a shuimiú chun líon na n-idirbheart in aghaidh an tsoicind a fháil.

Tuigeann gach duine gur féidir le roinnt iarratas a bheith oiriúnach in aon idirbheart amháin? Mar sin tá TPS agus QPS beagán difriúil.

Is féidir líon na n-iarratas in aghaidh an tsoicind a fháil ó pg_stat_statements agus go simplí suim na n-iarratas a rinneadh a ríomh. Is léir go ndéanaimid an luach reatha a chur i gcomparáid leis an gceann roimhe seo, dealaigh, faigh an deilt, faigh an méid.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Is féidir leat méadracht bhreise a chur leis más mian leat, rud a chabhraíonn freisin le hinfhaighteacht ár mbunachar sonraí a mheas agus a rianú an raibh aon aga neamhfhónaimh ann.

Tá aga fónaimh ar cheann de na méadrachtaí seo. Ach tá Aga fónaimh i PostgreSQL beagán casta. Inseoidh mé duit cén fáth. Nuair a thosaíonn PostgreSQL suas, tosaíonn sé ag tuairisciú aga fónaimh. Ach más rud é ag pointe éigin, mar shampla, go raibh tasc éigin ar siúl san oíche, tháinig killer OOM agus chuir sé deireadh le próiseas leanaí PostgreSQL go héigeantach, ansin sa chás seo cuireann PostgreSQL deireadh le nasc na gcliant go léir, athshocraíonn sé an limistéar cuimhne roinnte agus tosaíonn sé ag aisghabháil ó an seicphointe deiridh. Agus cé go maireann an aisghabháil seo ón seicphointe, ní ghlacann an bunachar sonraí le naisc, is é sin, is féidir an cás seo a mheas mar aga neamhfhónaimh. Ach ní athshocróidh sé seo an cuntar Aga fónaimh, toisc go gcuireann sé san áireamh an t-am ar cuireadh tús leis an máistir poist ón gcéad nóiméad. Dá bhrí sin, is féidir cásanna den sórt sin a scipeáil.

Ba cheart duit monatóireacht a dhéanamh freisin ar líon na n-oibrithe i bhfolús. Tá a fhios ag gach duine cad is autovacuum i PostgreSQL? Is fochóras suimiúil é seo i PostgreSQL. Scríobhadh go leor alt faoi, tá go leor tuairiscí déanta. Go leor plé faoi fholús, conas ba chóir dó oibriú. Measann go leor gur olc riachtanach é. Ach tá sé. Is cineál éigin bailitheoir truflais é seo a ghlanann leaganacha seanchaite de shraitheanna nach bhfuil ag teastáil ó aon cheann de na hidirbhearta agus a shaorann spás i dtáblaí agus in innéacsanna le haghaidh sraitheanna nua.

Cén fáth ar chóir monatóireacht a dhéanamh air? Mar gheall ar an bhfolús Gortaítear uaireanta go leor. ídíonn sé cuid mhór acmhainní agus tosaíonn iarratais na gcliant ag fulaingt uaidh seo.

Agus ba cheart monatóireacht a dhéanamh air tríd an dearcadh pg_stat_activity, a labhróidh mé faoi sa chéad chuid eile. Taispeánann an t-amharc seo an ghníomhaíocht reatha sa bhunachar sonraí. Agus tríd an ngníomhaíocht seo, is féidir linn líon na bhfolús atá ag obair faoi láthair a rianú. Is féidir linn monatóireacht a dhéanamh ar fholúsáin agus a fheiceáil má tá an teorainn sáraithe againn, is ócáid ​​é seo chun breathnú ar na socruithe PostgreSQL agus oibriú an fholús a bharrfheabhsú ar bhealach éigin.

Gné eile de PostgreSQL ná go bhfuil PostgreSQL an-tinn ar idirbhearta fada. Go háirithe, ó idirbhearta a chrochadh ar feadh i bhfad agus gan aon rud a dhéanamh. Is iad seo na stat díomhaoin-i-idirbheart mar a thugtar orthu. Coinníonn idirbheart den sórt sin glais, cuireann sé cosc ​​​​ar an bhfolús ó bheith ag obair. Agus mar thoradh air sin - swell na táblaí, méadaíonn siad i méid. Agus ceisteanna a oibríonn leis na táblaí seo, tosaíonn siad ag obair níos moille, mar is gá duit na seanleaganacha go léir de na sraitheanna a shluasaid ó chuimhne go diosca agus ar ais. Dá bhrí sin, ní mór monatóireacht a dhéanamh freisin ar an am, fad na n-idirbheart is faide, na hiarrataí ar fholús is faide. Agus má fheiceann muid roinnt próisis atá ar siúl ar feadh tréimhse an-fhada, ar feadh níos mó ná 10-20-30 nóiméad le haghaidh ualach OLTP, ansin ní mór dúinn aird a thabhairt orthu agus iallach a chur orthu deireadh a chur leis, nó an t-iarratas a bharrfheabhsú ionas go mbeidh. ní thugtar orthu agus ní bhíonn siad ag crochadh chomh fada sin. Le haghaidh ualach anailíseach, tá 10-20-30 nóiméad gnáth, tá cinn níos faide ann freisin.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Ansin tá an rogha againn le cliaint nasctha. Nuair atá deais curtha le chéile againn cheana féin, agus príomhmhéadracht inrochtaineachta curtha suas againn, is féidir linn faisnéis bhreise faoi chliaint nasctha a chur leis ann freisin.

Tá an fhaisnéis faoi chliaint nasctha tábhachtach mar, ó thaobh PostgreSQL, tá cineálacha éagsúla cliant ann. Tá cliaint maith agus tá cliaint dona.

Sampla simplí. De réir cliant, is éard atá i gceist agam an t-iarratas. Tá an t-iarratas ceangailte leis an mbunachar sonraí agus tosaíonn sé láithreach ag seoladh a iarratas ansin, déanann an bunachar sonraí iad a phróiseáil agus a fhorghníomhú, agus cuireann sé na torthaí ar ais chuig an gcliant. Is cliaint mhaith agus chearta iad seo.

Tá cásanna ann go bhfuil an cliant ceangailte, coinníonn sé an nasc, ach ní dhéanann sé rud ar bith. Tá sé sa stát díomhaoin.

Ach tá droch-chliant ann. Mar shampla, cheangail an cliant céanna, d'oscail idirbheart, rinne sé rud éigin sa bhunachar sonraí, agus ansin chuaigh sé isteach sa chód, mar shampla, chun rochtain a fháil ar fhoinse sheachtrach nó chun na sonraí a fuarthas a phróiseáil ann. Ach ag an am céanna, níor dhún sé an t-idirbheart. Agus hangs an t-idirbheart sa bhunachar sonraí agus tá an glas ar an líne. Is droch-staid é seo. Agus más rud é go tobann an t-iarratas áit éigin taobh istigh thiteann sé ag eisceacht (Eisceacht), ansin is féidir an t-idirbheart fanacht ar oscailt ar feadh tréimhse an-fhada. Agus bíonn tionchar díreach aige seo ar fheidhmíocht PostgreSQL. Rithfidh PostgreSQL níos moille. Dá bhrí sin, tá sé tábhachtach cliaint den sórt sin a rianú in am agus deireadh a chur lena gcuid oibre go forneartach. Agus ní mór duit d'iarratas a bharrfheabhsú ionas nach mbeidh a leithéid de chásanna ann.

Tá droch-chliant eile ag fanacht le cliaint. Ach éiríonn siad olc mar gheall ar imthosca. Mar shampla, idirbheart simplí díomhaoin: is féidir leis idirbheart a oscailt, glais a ghlacadh ar roinnt línte, ansin beidh sé ag titim áit éigin sa chód, rud a fhágann idirbheart crochta. Beidh cliant eile teacht, a iarraidh ar na sonraí céanna, ach beidh sé trasna ar glas, toisc go bhfuil an t-idirbheart crochta cheana féin i seilbh glais ar roinnt sraitheanna is gá. Agus beidh an dara idirbheart ar crochadh in oirchill nuair a bheidh an chéad idirbheart críochnaithe nó nuair a dhúnann a riarthóir go héigeantach é. Mar sin, is féidir le hidirbhearta atá ar feitheamh teorainn nasc an bhunachair sonraí a charnadh agus a shárú. Agus nuair a bhíonn an teorainn iomlán, ní féidir leis an bhfeidhmchlár oibriú leis an mbunachar sonraí a thuilleadh. Is cás éigeandála é seo don tionscadal cheana féin. Dá bhrí sin, ní mór droch-chustaiméirí a rianú agus a fhreagairt go tráthúil.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Sampla eile de mhonatóireacht. Agus seo painéal réasúnta. Tá eolas ar naisc ó thuas. DB nasc - 8 píosaí. Agus tá sé ar fad. Níl aon fhaisnéis againn faoi cé na cliaint atá gníomhach, cé na cliaint atá díomhaoin, gan aon rud a dhéanamh. Níl aon fhaisnéis faoi idirbhearta crochta agus naisc ar feitheamh, i.e. is figiúr é seo a thaispeánann líon na nasc agus sin é. Agus ansin buille faoi thuairim duit féin.
Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Dá réir sin, chun an fhaisnéis seo a chur le monatóireacht, ní mór duit tagairt a dhéanamh don dearcadh córais pg_stat_activity. Má chaitheann tú go leor ama i PostgreSQL, ansin is radharc an-mhaith é seo ar cheart a bheith mar chara agat, mar go léiríonn sé an ghníomhaíocht reatha in PostgreSQL, ie cad atá ag tarlú ann. Tá líne ar leith ann do gach próiseas a thaispeánann faisnéis faoin bpróiseas seo: cén t-óstach a rinneadh an nasc, cén t-úsáideoir, cén t-ainm, cathain a tosaíodh an t-idirbheart, cén t-iarratas atá á fhorghníomhú faoi láthair, cén t-iarratas a cuireadh i gcrích go deireanach. Agus, dá réir sin, is féidir linn staid an chliaint a mheas de réir an réimse stat. Go réasúnta, is féidir linn a ghrúpáil de réir an réimse seo agus na stats sin atá sa bhunachar sonraí anois agus líon na nasc atá leis an stat seo sa bhunachar sonraí a fháil. Agus is féidir linn na huimhreacha atá faighte cheana féin a sheoladh chuig ár monatóireacht agus graif a tharraingt orthu.
Tá sé tábhachtach freisin fad an idirbhirt a mheas. Dúirt mé cheana féin go bhfuil sé tábhachtach fad na bhfolús a mheas, ach déantar idirbhearta a mheas ar an mbealach céanna freisin. Tá réimsí xact_start agus query_start ann. Léiríonn siad, go réasúnta, am tosaithe an idirbhirt agus am tosaithe an iarratais. Glacaimid an fheidhm now(), a thaispeánann an stampa ama reatha, agus bainimid an t-idirbheart agus iarraimid stampaí ama. Agus faigheann muid fad an idirbhirt, fad an iarratais.

Má fheiceann muid idirbhearta fada, ba cheart dúinn iad a chomhlánú cheana féin. Le haghaidh ualach OLTP, tá idirbhearta fada níos mó ná 1-2-3 nóiméad cheana féin. Le haghaidh ualach OLAP, tá idirbhearta fada gnáth, ach má tá siad ar siúl ar feadh níos mó ná dhá uair an chloig, ansin is comhartha é seo freisin go bhfuil sceab againn áit éigin.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Nuair a bheidh na cliaint nasctha leis an mbunachar sonraí, tosaíonn siad ag obair lenár sonraí. Faigheann siad rochtain ar tháblaí, faigheann siad rochtain ar innéacsanna chun sonraí a fháil ó thábla. Agus tá sé tábhachtach meastóireacht a dhéanamh ar an gcaoi a n-oibríonn custaiméirí leis na sonraí seo.

Tá sé seo riachtanach chun ár n-ualach oibre a mheas agus a thuiscint go garbh cé na táblaí a bhfuil an “teo” againn. Mar shampla, tá sé seo riachtanach i gcásanna inar mian linn táblaí “te” a chur ar stóráil SSD tapa de chineál éigin. Mar shampla, is féidir roinnt táblaí cartlainne nár bhaineamar úsáid astu le fada an lá a aistriú chuig cartlann “fuar” éigin, chuig dioscaí SATA agus ligean dóibh cónaí ann, beidh rochtain orthu de réir mar is gá.

Tá sé úsáideach freisin chun aimhrialtachtaí a bhrath tar éis aon scaoileadh agus imscaradh. Ligean le rá gur cuireadh gné nua éigin leis an tionscadal. Mar shampla, chuireamar feidhmiúlacht nua leis chun oibriú leis an mbunachar sonraí. Agus má thógaimid graif le húsáid táblaí, is féidir linn na haimhrialtachtaí seo a bhrath go héasca ar na graif seo. Mar shampla, pléasctha nuashonraithe nó scrios pléasctha. Beidh sé an-fheiceálach.

Is féidir freisin aimhrialtachtaí i staitisticí "snámh" a bhrath. Céard is brí leis? Tá pleanálaí fiosrúcháin an-láidir agus an-mhaith ag PostgreSQL. Agus caitheann na forbróirí go leor ama lena fhorbairt. Conas a oibríonn sé? D'fhonn pleananna maithe a thógáil, bailíonn PostgreSQL staitisticí maidir le dáileadh sonraí i dtáblaí le eatramh áirithe ama, le roinnt tréimhsiúlacht. Is iad seo na luachanna is minice: líon na luachanna uathúla, faisnéis faoi NULLComment sa tábla, a lán faisnéise.

Bunaithe ar na staitisticí seo, tógann an pleanálaí roinnt fiosrúchán, roghnaíonn sé an ceann is fearr, agus úsáideann an plean fiosrúcháin seo chun an cheist a chur i gcrích é féin agus sonraí a sheoladh ar ais.

Agus tarlaíonn sé go bhfuil na staitisticí “ar snámh”. D'athraigh na sonraí cáilíochta agus cainníochta ar bhealach éigin sa tábla, ach níor bailíodh na staitisticí. Agus b'fhéidir nach bhfuil na pleananna a foirmíodh optamach. Agus má tharlaíonn sé go bhfuil ár bpleananna fo-optamach ó thaobh na monatóireachta atá á mbailiú, de réir na dtáblaí, beimid in ann na haimhrialtachtaí sin a fheiceáil. Mar shampla, áit éigin d’athraigh na sonraí go cáilíochtúil agus in ionad an innéacs, thosaigh pas seicheamhach tríd an tábla a úsáid, i.e. más gá don cheist ach 100 ró a thabhairt ar ais (tá teorainn 100 ann), ansin déanfar áireamhacht iomlán don cheist seo. Agus tá éifeacht an-dona aige seo i gcónaí ar fheidhmíocht.

Agus is féidir linn é a fheiceáil i monatóireacht. Agus cheana féin breathnú ar an gceist seo, a dhéanamh mínigh dó, staitisticí a bhailiú, a thógáil innéacs breise nua. Agus freagra a thabhairt ar an bhfadhb seo cheana féin. Dá bhrí sin tá sé tábhachtach.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Sampla eile de mhonatóireacht. Sílim go n-aithníonn go leor daoine é mar tá an-tóir air. Cé a úsáideann ina gcuid tionscadal Prometheus? Agus cé a úsáideann an táirge seo i gcomhar le Prometheus? Is é fírinne an scéil go bhfuil painéal chun oibriú le PostgreSQL i stór caighdeánach na monatóireachta seo - postgres_onnmhaireoir Prometheus. Ach tá droch-mhionsonra amháin anseo.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Tá roinnt cairteacha ann. Agus sonraítear bearta mar aontacht, i.e. tá 5 ghraf ann. Is iad seo sonraí Ionsáigh, Nuashonraigh sonraí, Scrios sonraí, Faigh sonraí agus sonraí Tuairisceáin. Sonraítear bearta mar thoise an aonaid. Ach is é fírinne an scéil go dtugann staitisticí i PostgreSQL sonraí ar ais i tuple (sraitheanna). Agus, dá réir sin, is bealach an-mhaith iad na graif seo chun d'ualach oibre a mheas faoina luach arís agus arís eile, an iliomad uaireanta, toisc nach beart é tuple, is teaghrán é tuple, is iomaí beart é agus bíonn fad athraitheach i gcónaí ann. Is é sin, is tasc neamhréadúil nó an-deacair é an t-ualach oibre i mbearta a ríomh ag baint úsáide as tuples. Dá bhrí sin, nuair a úsáideann tú painéal nó monatóireacht ionsuite, tá sé tábhachtach i gcónaí a thuiscint go n-oibríonn sé i gceart agus go dtugann sé sonraí measúnaithe i gceart ar ais chugat.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Conas staitisticí a fháil ar na táblaí seo? Chun seo a dhéanamh, tá teaghlach tuairimí ag PostgreSQL. Agus is é an príomh-amharc pg_stat_user_tables. User_tables - ciallaíonn sé seo go gcruthaítear na táblaí thar ceann an úsáideora. I gcodarsnacht leis sin, tá tuairimí córais ann, a úsáideann PostgreSQL féin. Agus tá tábla achoimre Alltables, a chuimsíonn an córas agus an t-úsáideoir araon. Is féidir leat tosú ó aon cheann acu is mó a thaitníonn leat.

Is féidir na réimsí thuas a úsáid chun meastachán a dhéanamh ar líon na n-iontrálacha, nuashonruithe agus scriosta. Úsáideann an painéal samplach a d’úsáid mé na réimsí seo chun saintréithe an ualaigh oibre a mheas. Mar sin, is féidir linn tógáil orthu freisin. Ach is fiú a mheabhrú gur tuples iad seo, ní bytes, mar sin ní féidir linn é a thógáil agus bearta a dhéanamh.

Bunaithe ar na sonraí seo, is féidir linn na táblaí TopN mar a thugtar orthu a thógáil. Mar shampla, Top-5, Top-10. Agus is féidir leat súil a choinneáil ar na táblaí te sin a úsáidtear níos mó ná a chéile. Mar shampla, 5 tábla "te" le cur isteach. Agus de réir na dtáblaí TopN seo, déanaimid ár n-ualach oibre a mheas agus is féidir linn pléascanna ualaigh oibre a mheas tar éis aon eisiúintí agus nuashonruithe, agus imscaradh.

Tá sé tábhachtach freisin chun meastóireacht a dhéanamh ar mhéid an tábla, mar gheall ar uaireanta rolladh forbróirí amach gné nua, agus ár táblaí tús a swell i gcuid méideanna móra, mar gheall ar shocraigh siad a chur leis méid breise de shonraí, ach ní raibh a thuar conas a bheadh ​​sé seo. tionchar ar mhéid an bhunachair sonraí. Is ábhar iontais dúinn cásanna den sórt sin freisin.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Agus anois ceist bheag duit. Cad é an cheist nuair a thugann tú faoi deara an t-ualach ar an bhfreastalaí bunachar sonraí? Cad í do chéad cheist eile?

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Ach is é seo a leanas an cheist fíor. Cad iad na hiarratais is cúis leis an ualach? Is é sin, níl sé suimiúil féachaint ar na próisis a eascraíonn an t-ualach. Tá sé soiléir má tá an t-óstach le bunachar sonraí, go bhfuil an bunachar sonraí ag rith ann agus is léir nach ndéanfar ach bunachair shonraí a dhiúscairt ann. Má osclaíonn muid Barr, feicfimid ann liosta de na próisis PostgreSQL atá ag déanamh rud éigin. Ó Barr ní bheidh sé soiléir cad atá ar siúl acu.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Dá réir sin, ní mór duit na ceisteanna sin is cúis leis an ualach is mó a fháil, mar go dtugann tiúnadh fiosrúcháin, mar riail, níos mó brabúis ná cumraíocht PostgreSQL nó tiúnadh córas oibriúcháin, nó fiú tiúnadh crua-earraí. De réir mo mheastacháin, tá sé seo thart ar 80-85-90%. Agus déantar é seo i bhfad níos tapúla. Tá sé níos tapúla an t-iarratas a cheartú ná an chumraíocht a cheartú, atosú a sceidealú, go háirithe mura féidir an bunachar sonraí a atosú, nó crua-earraí a chur leis. Tá sé níos éasca an cheist a athscríobh áit éigin nó innéacs a chur leis chun toradh níos fearr a fháil ón gceist seo.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Dá réir sin, is gá monatóireacht a dhéanamh ar iarratais agus ar a leordhóthanacht. Glacaimis sampla eile de mhonatóireacht. Agus anseo, freisin, is cosúil go bhfuil monatóireacht den scoth. Tá faisnéis ann maidir le macasamhlú, tá faisnéis ann maidir le tréchur, blocáil, úsáid acmhainní. Tá gach rud go breá, ach níl aon fhaisnéis ar iarratais. Níl sé soiléir cé na fiosruithe atá ar siúl inár mbunachar sonraí, cé chomh fada agus a ritheann siad, cé mhéad de na fiosrúcháin sin. Ní mór dúinn an fhaisnéis seo a bheith againn i gcónaí i monatóireacht.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Agus chun an fhaisnéis seo a fháil, is féidir linn an modúl pg_stat_statements a úsáid. Ar a bhonn, is féidir leat a thógáil ar éagsúlacht na grafaicí. Mar shampla, is féidir leat faisnéis a fháil ar na hiarratais is minice, is é sin, na hiarratais sin a dhéantar is minice. Sea, tar éis imscaradh tá sé an-úsáideach freisin breathnú air agus a thuiscint an bhfuil aon ardú ar iarratais.

Is féidir leat monatóireacht a dhéanamh ar na ceisteanna is faide, i.e. na ceisteanna sin is faide a ritheann. Ritheann siad ar an bpróiseálaí, itheann siad I/O. Is féidir linn é seo a mheas de réir na réimsí total_time, mean_time, blk_write_time agus blk_read_time.

Is féidir linn na hiarratais is troime a mheas agus monatóireacht a dhéanamh orthu i dtéarmaí úsáid acmhainní, iad siúd a léann ó dhiosca, iad siúd a oibríonn le cuimhne, nó, os a choinne sin, a chruthaíonn ualach scríbhneoireachta de chineál éigin.

Is féidir linn na hiarratais is flaithiúla a mheas. Is iad seo na ceisteanna a chuireann líon mór sraitheanna ar ais. Mar shampla, d’fhéadfadh gur iarratas de chineál éigin a bheadh ​​i gceist ina ndearna siad dearmad teorainn a shocrú. Agus ní dhéanann sé ach ábhar iomlán an tábla nó an cheist ar na táblaí iarrtha a sheoladh ar ais.

Agus is féidir leat monatóireacht a dhéanamh freisin ar fhiosruithe a úsáideann comhaid shealadacha nó táblaí sealadacha.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky
Agus tá próisis chúlra fós againn. Is seicphointí iad próisis chúlra go príomha nó tugtar seicphointí orthu freisin, is iad sin uathfholús agus macasamhlú.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Sampla eile de mhonatóireacht. Tá cluaisín Cothabhála ar thaobh na láimhe clé, téigh chuige agus tá súil agam rud éigin úsáideach a fheiceáil. Ach anseo, níl ach am an fholús agus bailiú staitisticí, rud ar bith eile. Is faisnéis an-lag é seo, mar sin ní mór duit eolas a bheith agat i gcónaí ar an gcaoi a n-oibríonn próisis chúlra inár mbunachar sonraí agus cibé an bhfuil aon fhadhbanna ann óna gcuid oibre.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Nuair a fhéachaimid ar sheicphointí, ba chóir a mheabhrú go sreabhann ár seicphointí leathanaigh "salach" ón limistéar cuimhne roinnte go diosca, ansin cruthaítear seicphointe. Agus is féidir an seicphointe seo a úsáid cheana féin mar áit le linn aisghabhála, má cuireadh deireadh go tobann le PostgreSQL i gcás éigeandála.

Dá réir sin, chun na leathanaigh "salach" go léir a shruthlú go diosca, ní mór duit méid áirithe scríbhneoireachta a dhéanamh. Agus, mar riail, ar chórais le méid mór de chuimhne, tá sé seo go leor. Agus má dhéanaimid seicphointí go minic i roinnt eatramh gearr, ansin beidh feidhmíocht diosca ag dul in olcas go mór. Agus beidh iarratais cliant ag fulaingt ó easpa acmhainní. Beidh siad san iomaíocht le haghaidh acmhainní agus beidh easpa táirgiúlachta acu.

Dá réir sin, trí pg_stat_bwriter ar na réimsí sonraithe, is féidir linn monatóireacht a dhéanamh ar líon na seicphointí a tharlaíonn. Agus má tá go leor seicphointí againn ar feadh tréimhse áirithe ama (ar feadh 10-15-20 nóiméad, ar feadh leathuaire), mar shampla, 3-4-5, ansin is féidir leis seo a bheith ina fhadhb cheana féin. Agus ní mór duit cheana féin chun breathnú ar an mbunachar sonraí, breathnú sa chumraíocht, cad is cúis le raidhse seicphointí den sórt sin. B’fhéidir go bhfuil taifead mór éigin ag teacht. Is féidir linn an t-ualach oibre a mheas cheana féin, toisc go bhfuil cairteacha ualaigh oibre curtha leis againn cheana féin. Is féidir linn na paraiméadair brisphointe a athrú cheana féin agus a chinntiú nach gcuireann siad isteach go mór ar fheidhmíocht na gceisteanna.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Táim ag dul ar ais go dtí an autovacuum arís mar is é an cineál ruda, mar a dúirt mé, is féidir a chur suas go héasca ar fheidhmíocht diosca agus ceisteanna, agus mar sin tá sé tábhachtach i gcónaí méid an uathfholús a thomhas.

Tá teorainn le líon na n-oibrithe uathfholús sa bhunachar sonraí. De réir réamhshocraithe, tá trí cinn acu, mar sin má tá triúr oibrithe againn ag obair sa bhunachar sonraí an t-am ar fad, ciallaíonn sé seo go bhfuil ár n-uathfholús tearcchumraithe, ní mór dúinn na teorainneacha a ardú, na socruithe autovacuum a athbhreithniú agus tóg isteach sa chumraíocht cheana féin.
Tá sé tábhachtach a mheas cé na hoibrithe bhfolús a oibríonn dúinn. Ceachtar gur seoladh é ón úsáideoir, tháinig an DBA isteach agus sheol sé folús de shaghas éigin lena lámha, agus chruthaigh sé seo ualach. Tá fadhb éigin againn. Nó is é seo líon na bhfolús a dhíscriú an cuntar idirbheart. I gcás roinnt leaganacha de PostgreSQL, is folúis an-trom iad seo. Agus is féidir leo feidhmíocht a chur leis go héasca toisc go bhfuil siad ag dealú an tábla ar fad, ag scanadh na bloic go léir sa tábla seo.

Agus, ar ndóigh, fad na bhfolús. Má tá folúis fhada againn a ritheann ar feadh tréimhse an-fhada, ansin ciallaíonn sé seo gur chóir dúinn aird a thabhairt arís ar chumraíocht an fholús agus b'fhéidir athmhachnamh a dhéanamh ar a chuid socruithe. Toisc go bhféadfadh cás teacht chun cinn nuair a oibríonn an bhfolús ar an tábla ar feadh i bhfad (3-4 uair an chloig), ach le linn an ama a bhí an bhfolús ag obair, d'éirigh le líon mór sraitheanna marbh a charnadh arís sa tábla. Agus a luaithe a bheidh an fholús thart, ní mór dó an tábla seo a fholúsú arís. Agus tagann muid ar chás - folús gan teorainn. Agus sa chás seo, ní théann an bhfolús i ngleic lena chuid oibre, agus tosaíonn na táblaí ag dul i méid de réir a chéile, cé go bhfuil an méid sonraí úsáideacha ann fós mar a chéile. Dá bhrí sin, i bhfolús fada, táimid i gcónaí ag féachaint ar an gcumraíocht agus déanaimid iarracht é a bharrfheabhsú, ach ag an am céanna, ionas nach mbeidh feidhmíocht iarratais na gcliant ag fulaingt.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Anois níl beagnach aon suiteáil PostgreSQL ann nach raibh aon mhacasamhlú sruthú ann. Is éard is macasamhlú ann ná an próiseas ina n-aistrítear sonraí ó mháistir go macasamhail.

Socraítear macasamhlú i PostgreSQL trí logáil idirbheart. Gineann an máistir logáil idirbheart. Téann an logáil idirbheart ar an nasc líonra chuig an macasamhail, ansin tá sé a atáirgeadh ar an macasamhail. Tá gach rud simplí.

Dá réir sin, úsáidtear an t-amharc pg_stat_replication chun monatóireacht a dhéanamh ar an mhoill ar mhacasamhlú. Ach níl sé éasca di. I leagan 10, rinneadh roinnt athruithe ar an radharc. Ar dtús, athainmníodh cuid de na réimsí. Agus tá cuid de na réimsí curtha leis. Sa 10ú leagan, bhí réimsí le feiceáil a ligeann duit an t-am moille maidir le macasamhlú i soicindí a mheas. Tá sé an-chompordach. Roimh leagan 10, bhíothas in ann aga moille an mhacasamhlú i mbearta a mheas. D’fhan an ghné seo sa 10ú leagan, i.e. is féidir leat a roghnú cad atá níos áisiúla duit - meastóireacht a dhéanamh ar an aga moille i mbeart nó luacháil an aga moille i soicindí. Déanann go leor an dá rud.

Mar sin féin, chun aga moille an mhacasamhlú a mheas, ní mór duit fios a bheith agat faoi shuíomh an logáil isteach san idirbheart. Agus tá na suíomhanna seo den logáil idirbheart díreach sa dearcadh pg_stat_replication. I gcomparáid leis sin, is féidir linn an fheidhm pg_xlog_location_diff() a úsáid chun dhá phointe a thógáil sa loga idirbheart. Ríomh an deilte eatarthu agus faigh an mhoill ar mhacasamhlú i mbearta. Tá sé an-áisiúil agus simplí.

I leagan 10 athainmníodh an fheidhm seo go pg_wal_lsn_diff(). Go ginearálta, i ngach feidhm, tuairimí, fóntais, áit a bhfuarthas an focal "xlog", cuireadh an luach "wal" ina ionad. Tá sé seo i gceist ó thaobh radhairc agus feidhmeanna araon. Is nuálaíocht den sórt sin é seo.

Ina theannta sin, sa 10ú leagan, cuireadh línte leis a léiríonn go sonrach an t-aga moille. Is iad seo aga moille scríobh, aga moille dúisithe, aga moille athimeartha. Is é sin, tá sé tábhachtach monatóireacht a dhéanamh ar na rudaí seo. Má fheicimid go bhfuil aga moille againn maidir le macasamhlú, ansin caithfimid imscrúdú a dhéanamh ar an bhfáth gur dhealraigh sé, cén áit ar tháinig sé agus an fhadhb a réiteach.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Le méadracht an chórais, tá beagnach gach rud in ord. Nuair a rugadh aon mhonatóireacht, tosaíonn sé le méadracht an chórais. Is é seo an úsáid a bhaint as próiseálaithe, cuimhne, babhtála, líonra agus diosca. Ach mar sin féin, níl go leor paraiméadair ann de réir réamhshocraithe.

Má tá gach rud in ord leis an bpróiseas a dhiúscairt, ansin tá fadhbanna ann maidir le diúscairt an diosca. De ghnáth, cuireann forbróirí monatóireachta faisnéis bandaleithead leis. Is féidir é a bheith in iops nó i mbearta. Ach déanann siad dearmad faoi latency agus úsáid gléas diosca. Is paraiméadair níos tábhachtaí iad seo a ligeann dúinn meastóireacht a dhéanamh ar cé chomh luchtaithe agus atá ár gcuid dioscaí agus cé chomh mall agus atá siad. Má tá latency ard againn, ansin ciallaíonn sé seo go bhfuil roinnt fadhbanna leis na dioscaí. Má tá úsáid ard againn, ciallaíonn sé seo nach féidir leis na dioscaí dul i ngleic. Is saintréithe cáilíochtúla iad seo ná bandaleithead.

Is féidir na staitisticí seo a fháil freisin ón gcóras comhad /proc, áfach, mar a dhéantar maidir le hathchúrsáil próiseálaithe. Cén fáth nach gcuirtear an fhaisnéis seo leis an monatóireacht, níl a fhios agam. Ach tá sé tábhachtach fós é a bheith i do mhonatóireacht.

Tá an rud céanna fíor maidir le comhéadain líonra. Tá faisnéis faoi bandaleithead líonra i bpacáistí, i mbearta, ach mar sin féin níl aon fhaisnéis ann faoi latency agus gan aon fhaisnéis maidir le húsáid, cé gur faisnéis úsáideach é seo freisin.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Tá míbhuntáistí ag baint le haon mhonatóireacht. Agus is cuma cén cineál monatóireachta a ghlacann tú, ní theipeann air i gcónaí critéir áirithe a chomhlíonadh. Ach mar sin féin, forbraíonn siad, cuirtear gnéithe nua leis, rudaí nua, mar sin roghnaigh rud éigin agus críochnaigh é.

Agus chun críochnú, ní mór duit smaoineamh i gcónaí cad a chiallaíonn na staitisticí a thugtar agus conas is féidir leat fadhbanna a réiteach leis.

Agus cúpla príomhphointí:

  • Ní mór duit i gcónaí chun monatóireacht a dhéanamh ar infhaighteacht, tá dashboards ionas gur féidir leat a mheas go tapa go bhfuil gach rud in ord leis an mbonn.
  • Ní mór duit smaoineamh i gcónaí ar na cliaint atá ag obair le do bhunachar sonraí chun droch-chliant a ghlanadh agus iad a lámhach.
  • Tá sé tábhachtach meastóireacht a dhéanamh ar an gcaoi a n-oibríonn na cliaint seo le sonraí. Ní mór smaoineamh a bheith agat faoin ualach oibre atá agat.
  • Tá sé tábhachtach conas a chruthaítear an t-ualach oibre seo a mheas, le cabhair ó na ceisteanna. Is féidir leat fiosruithe a mheas, is féidir leat iad a bharrfheabhsú, iad a athfhachtóiriú, innéacsanna a thógáil dóibh. Tá sé an-tábhachtach.
  • Is féidir le próisis chúlra tionchar diúltach a imirt ar iarratais cliant, mar sin tá sé tábhachtach a chinntiú nach n-úsáideann siad an iomarca acmhainní.
  • Ligeann méadracht chórais duit pleananna a dhéanamh le haghaidh scálaithe, chun cumas do fhreastalaithe a mhéadú, agus mar sin tá sé tábhachtach iad a rianú agus a mheas freisin.

Bunús monatóireachta PostgreSQL. Alexey Lesovsky

Má tá suim agat san ábhar seo, is féidir leat na naisc seo a leanúint.
http://bit.do/stats_collector na doiciméid oifigiúla ón bhailitheoir staidrimh. Tá cur síos ar na tuairimí staitistiúla go léir agus cur síos ar na réimsí go léir. Is féidir leat iad a léamh, a thuiscint agus a anailísiú. Agus ar a mbonn, tóg do chairteacha féin, cuir le do mhonatóireacht.

Iarr samplaí:
http://bit.do/dataegret_sql
http://bit.do/lesovsky_sql

Is é seo ár stór corparáideach agus mo chuid féin. Tá iarratais shamplacha acu. Níl aon cheisteanna ón tsraith roghnaithe*, rud éigin ann. Tá iarratais réamhdhéanta ann cheana féin le ceangail, ag baint úsáide as feidhmeanna suimiúla a ligeann duit luachanna inléite, áisiúla a dhéanamh ó amhuimhreacha, is é sin, is bearta, am iad seo. Is féidir leat iad a phiocadh, féachaint orthu, anailís a dhéanamh orthu, iad a chur le do mhonatóireacht, do mhonatóireacht féin a thógáil bunaithe orthu.

ceisteanna

Ceist: Dúirt tú nach bhfógródh tú brandaí, ach tá mé fós ag smaoineamh - cén cineál deais a úsáideann tú i do thionscadail?
Freagra: Ar bhealaí éagsúla. Tarlaíonn sé go dtagann muid chuig an gcustaiméir agus tá a mhonatóireacht féin aige cheana féin. Agus cuirimid in iúl don chustaiméir cad is gá a chur leis an monatóireacht a dhéanann sé. Is le Zabbix an cás is measa. Toisc nach bhfuil an cumas aige TopN-grafaicí a thógáil. Úsáideann muid féin Okmetertoisc go ndeachaigh muid i gcomhairle leis na guys seo maidir le monatóireacht. Rinne siad monatóireacht PostgreSQL bunaithe ar ár TOR. Tá mo thionscadal peataí féin á scríobh agam, a bhailíonn sonraí trí Prometheus agus a tharraingíonn isteach é grafana. Is é an tasc atá agam ná m'onnmhaireoir féin a dhéanamh i Prometheus agus ansin gach rud i Grafana a tharraingt.

Ceist: An bhfuil aon analógacha de thuarascálacha AWR nó ... comhiomláin? An bhfuil tú ar an eolas faoi rud éigin mar seo?
Freagra: Sea, tá a fhios agam cad é AWR, is rud fionnuar é. I láthair na huaire, tá éagsúlacht na rothair a chur i bhfeidhm thart ar an múnla seo a leanas. Ag eatraimh ama éigin, scríobhtar roinnt bonnlínte chuig an PostgreSQL céanna nó chuig stóras ar leithligh. Is féidir leat iad a google ar an Idirlíon, tá siad. Suíonn ceann de na forbróirí a leithéid de rud ar an bhfóram sql.ru sa snáithe PostgreSQL. Is féidir leat é a ghabháil ann. Sea, tá rudaí den sórt sin ann, is féidir iad a úsáid. móide ina pgIonad Scríobhaim rud freisin a ligeann duit an rud céanna a dhéanamh.

PS1 Má tá postgres_exporter á úsáid agat, cén painéal atá á úsáid agat? Tá roinnt acu. Tá siad as dáta cheana féin. An féidir leis an bpobal teimpléad nuashonraithe a chruthú?

PS2 Bainte pganalyze toisc gur tairiscint SaaS dílseánaigh é a dhíríonn ar mhonatóireacht feidhmíochta agus ar mholtaí tiúnta uathoibrithe.

Ní féidir ach le húsáideoirí cláraithe páirt a ghlacadh sa suirbhé. Sínigh isteach, le do thoil.

Cén monatóireacht postgresql féin-óstach (le painéal) is fearr, dar leat?

  • 30,0%Zabbix + breiseanna ó Alexey Lesovsky nó zabbix 4.4 nó 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%Is SaaS dílseánaigh é pganalyze - ní féidir é a scriosadh1

  • 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

Vótáil 10 úsáideoir. Staon 26 úsáideoir.

Foinse: will.com

Add a comment