Tushen sa ido na PostgreSQL. Alexei Lesovsky

Ina ba da shawarar ku karanta kwafin rahoton Alexey Lesovsky daga Data Egret "Tsarin sa ido na PostgreSQL"

A cikin wannan rahoto, Alexey Lesovsky zai yi magana game da mahimman bayanai na kididdigar bayanan bayan-gress, abin da suke nufi, da kuma dalilin da ya sa ya kamata su kasance a cikin kulawa; game da waɗanne jadawali ya kamata su kasance a cikin sa ido, yadda za a ƙara su da yadda za a fassara su. Rahoton zai kasance da amfani ga masu gudanar da bayanai, masu gudanar da tsarin da masu haɓakawa waɗanda ke da sha'awar magance matsalar Postgres.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Sunana Alexey Lesovsky, Ina wakiltar kamfanin Data Egret.

Kalmomi kaɗan game da kaina. Na fara da dadewa a matsayin mai sarrafa tsarin.

Na gudanar da kowane nau'i na tsarin Linux daban-daban, na yi aiki a kan abubuwa daban-daban da suka shafi Linux, watau virtualization, monitoring, aiki tare da proxies, da dai sauransu. Amma a wani lokaci na fara aiki tare da bayanan bayanai, PostgreSQL. Ina matukar son shi. Kuma a wani lokaci na fara aiki akan PostgreSQL mafi yawan lokutan aiki na. Don haka a hankali na zama PostgreSQL DBA.

Kuma a tsawon aikina, koyaushe ina sha'awar batutuwan kididdiga, sa ido, da na'urar sadarwa. Kuma lokacin da nake mai kula da tsarin, na yi aiki tare da Zabbix sosai. Kuma na rubuta ƙananan rubutun kamar zabbix- kari. Ya shahara sosai a lokacinsa. Kuma a can yana yiwuwa a sa ido kan abubuwa masu mahimmanci daban-daban, ba Linux kaɗai ba, har ma da sassa daban-daban.

Yanzu ina aiki akan PostgreSQL. Na riga na rubuta wani abu wanda zai ba ku damar yin aiki tare da kididdigar PostgreSQL. Ana kiranta pgCenter (labarin kan Habre - Ƙididdiga bayan-gress ba tare da jijiyoyi da tashin hankali ba).

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Bayanan gabatarwa kadan. Wadanne yanayi abokan cinikinmu, abokan cinikinmu suke? Akwai wani nau'in haɗari mai alaƙa da ma'ajin bayanai. Kuma da an riga an maido da ma’ajiyar bayanai, sai shugaban sashen ko kuma shugaban ci gaba ya zo ya ce: “Yan uwa, muna bukatar mu sanya ido a kan ma’adanar bayanai, domin wani mummunan abu ya faru, kuma muna bukatar mu hana faruwar hakan nan gaba.” Kuma a nan ne aka fara tsari mai ban sha'awa na zabar tsarin kulawa ko daidaita tsarin kulawa da ke akwai ta yadda za ku iya saka idanu akan bayananku - PostgreSQL, MySQL ko wasu. Kuma abokan aiki sun fara ba da shawara: "Na ji cewa akwai irin wannan kuma irin wannan bayanan. Mu yi amfani da shi." Abokan aiki sun fara jayayya da juna. Kuma a ƙarshe ya bayyana cewa muna zaɓar wani nau'in bayanan bayanai, amma ana gabatar da saka idanu na PostgreSQL a cikinsa da kyau kuma koyaushe dole ne mu ƙara wani abu. Ɗauki wasu ma'ajin ajiya daga GitHub, haɗa su, daidaita rubutun, kuma ko ta yaya ke tsara su. Kuma a ƙarshe ya ƙare zama wani nau'i na aikin hannu.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Don haka, a cikin wannan magana zan yi ƙoƙarin ba ku ɗan ilimi kan yadda za ku zaɓi saka idanu ba kawai don PostgreSQL ba, har ma da bayanan bayanai. Kuma ba ku ilimin da zai ba ku damar kammala sa ido don samun ɗan fa'ida daga gare ta, ta yadda za ku iya sanya ido kan bayananku tare da fa'ida, don guje wa duk wani yanayi na gaggawa da ke tafe.

Kuma ra'ayoyin da za su kasance a cikin wannan rahoto za a iya daidaita su kai tsaye zuwa kowane rumbun adana bayanai, walau DBMS ko noSQL. Saboda haka, ba kawai PostgreSQL ba, amma za a sami girke-girke da yawa akan yadda ake yin haka a PostgreSQL. Za a sami misalan tambayoyi, misalan abubuwan da PostgreSQL ke da shi don saka idanu. Kuma idan DBMS ɗinku yana da abubuwa iri ɗaya waɗanda ke ba ku damar sanya su cikin saka idanu, kuna iya daidaita su, ƙara su kuma zai yi kyau.

Tushen sa ido na PostgreSQL. Alexei LesovskyBa zan kasance cikin rahoton ba
magana game da yadda ake bayarwa da adana awo. Ba zan ce komai ba game da aiwatar da bayanan da gabatar da su ga mai amfani. Kuma ba zan ce komai game da faɗakarwa ba.
Amma yayin da labarin ke ci gaba, zan nuna hotunan kariyar kwamfuta daban-daban na saka idanu na yanzu kuma ko ta yaya zan soki su. Amma duk da haka, zan yi ƙoƙarin kada in faɗi sunaye don kada in ƙirƙiri talla ko tallan tallace-tallace na waɗannan samfuran. Don haka, duk abin da ya faru ba daidai ba ne kuma an bar shi ga tunanin ku.
Tushen sa ido na PostgreSQL. Alexei Lesovsky
Da farko, bari mu gano menene saka idanu. Sa ido abu ne mai matukar muhimmanci a samu. Kowa ya fahimci haka. Amma a lokaci guda, saka idanu ba shi da alaƙa da samfurin kasuwanci kuma baya shafar ribar kamfani kai tsaye, don haka ana keɓe lokaci koyaushe don saka idanu akan saura. Idan muna da lokaci, to muna yin sa ido; idan ba mu da lokaci, to Ok, za mu sanya shi a cikin bayanan baya kuma wata rana za mu dawo kan waɗannan ayyukan.

Sabili da haka, daga aikinmu, lokacin da muka zo ga abokan ciniki, saka idanu sau da yawa bai cika ba kuma ba shi da wani abu mai ban sha'awa wanda zai taimaka mana muyi aiki mafi kyau tare da bayanan. Sabili da haka sa ido koyaushe yana buƙatar kammalawa.

Databases abubuwa ne masu sarkakiya wadanda suma suke bukatar a sanya ido a kansu, domin ma’adanar bayanai ma’adanar bayanai ne. Kuma bayanin yana da matukar mahimmanci ga kamfani; ba za a iya rasa ta kowace hanya ba. Amma a lokaci guda, ma'ajin bayanai suna da sarƙaƙƙiya na software. Sun ƙunshi babban adadin sassa. Kuma da yawa daga cikin waɗannan abubuwan suna buƙatar kulawa.

Tushen sa ido na PostgreSQL. Alexei LesovskyIdan muna magana ne musamman game da PostgreSQL, to ana iya wakilta shi a cikin nau'i na makirci wanda ya ƙunshi babban adadin abubuwa. Wadannan sassan suna hulɗa da juna. Kuma a lokaci guda, PostgreSQL yana da tsarin da ake kira Stats Collector subsystem, wanda ke ba ka damar tattara kididdiga game da ayyukan waɗannan ƙananan tsarin da kuma samar da wani nau'i na dubawa ga mai gudanarwa ko mai amfani don ya iya duba waɗannan ƙididdiga.

Ana gabatar da waɗannan ƙididdiga a cikin nau'i na takamaiman ayyuka da ra'ayoyi. Hakanan ana iya kiran su tebur. Wato, ta amfani da abokin ciniki na psql na yau da kullun, zaku iya haɗawa zuwa bayanan bayanai, zaɓi waɗannan ayyuka da ra'ayoyi, sannan ku sami takamaiman lambobi game da aiki na ƙananan tsarin PostgreSQL.

Kuna iya ƙara waɗannan lambobi zuwa tsarin sa ido da kuka fi so, zana hotuna, ƙara ayyuka da samun nazari a cikin dogon lokaci.

Amma a cikin wannan rahoto ba zan rufe duk waɗannan ayyuka gaba ɗaya ba, saboda yana iya ɗaukar tsawon yini. Zan magance abubuwa biyu, uku ko hudu a zahiri kuma in gaya muku yadda suke taimakawa wajen inganta sa ido.
Tushen sa ido na PostgreSQL. Alexei Lesovsky
Kuma idan muka yi magana game da saka idanu na bayanai, to menene ya kamata a sa ido? Da farko dai muna bukatar mu sanya ido a kan yadda ake samu, domin ma’adanin bayanai sabis ne da ke ba da damar samun bayanai ga abokan hulda kuma muna bukatar lura da yadda ake samu, da kuma samar da wasu halaye masu inganci da adadi.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Har ila yau, muna buƙatar saka idanu abokan ciniki waɗanda ke haɗi zuwa bayanan mu, saboda suna iya zama abokan ciniki na yau da kullum da kuma abokan ciniki masu cutarwa waɗanda zasu iya cutar da bayanan. Haka kuma suna bukatar a sanya ido a kansu tare da bin diddigin ayyukansu.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Lokacin da abokan ciniki suka haɗu da bayanan bayanan, a bayyane yake cewa sun fara aiki tare da bayananmu, don haka muna buƙatar saka idanu yadda abokan ciniki ke aiki tare da bayanan: tare da waɗanne tebur, kuma zuwa ƙarami, tare da waɗanne alamomi. Wato, muna buƙatar kimanta nauyin aikin da abokan cinikinmu suka ƙirƙira.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Amma nauyin aiki kuma ya ƙunshi, ba shakka, buƙatun. Aikace-aikace sun haɗa zuwa ma'ajin bayanai, samun damar bayanai ta amfani da tambayoyi, don haka yana da mahimmanci a tantance irin tambayoyin da muke da su a cikin ma'ajin bayanai, kula da ingancinsu, cewa ba a rubuta su cikin karkata ba, wasu zaɓuɓɓukan suna buƙatar sake rubutawa kuma a yi su don yin aiki cikin sauri. kuma tare da mafi kyawun aiki.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Kuma tun da muna magana ne game da ma'ajin bayanai, ma'ajin bayanai koyaushe suna aiwatar da bayanan baya. Ayyukan bayanan baya suna taimakawa kiyaye aikin bayanai a kyakkyawan matakin, don haka suna buƙatar takamaiman adadin albarkatun don kansu don aiki. Kuma a lokaci guda, za su iya daidaitawa tare da albarkatun buƙatar abokin ciniki, don haka tsarin tsarin ƙima na iya shafar aikin buƙatun abokin ciniki kai tsaye. Don haka, su ma suna bukatar a sanya ido a kan su da kuma bin diddigin su, ta yadda ba a samu wata karkata ba ta fuskar tsarin baya.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Kuma duk wannan dangane da lura da bayanai ya kasance a cikin ma'aunin tsarin. Amma idan aka yi la'akari da cewa yawancin abubuwan more rayuwa na mu suna motsawa zuwa gajimare, ma'auni na tsarin kowane mai masaukin baki koyaushe yana faɗuwa zuwa bango. Amma a cikin bayanan bayanai har yanzu suna da dacewa kuma, ba shakka, yana da mahimmanci don saka idanu akan ma'aunin tsarin.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Komai ya fi ko žasa lafiya tare da ma'aunin tsarin, duk tsarin sa ido na zamani sun riga sun goyi bayan waɗannan ma'auni, amma gaba ɗaya, wasu sassan ba su isa ba kuma wasu abubuwa suna buƙatar ƙarawa. Zan kuma taba su, za a yi nuni da yawa game da su.

Tushen sa ido na PostgreSQL. Alexei Lesovsky
Batun farko na shirin shine samun dama. Menene dama? Kasancewa a cikin fahimtata shine ikon tushe zuwa haɗin sabis, watau tushe ya tashi, shi, azaman sabis, yana karɓar haɗin kai daga abokan ciniki. Kuma ana iya tantance wannan damar ta wasu halaye. Yana da matukar dacewa don nuna waɗannan halayen akan dashboards.

Tushen sa ido na PostgreSQL. Alexei Lesovsky
Kowa ya san menene dashboards. Wannan shine lokacin da kuka kalli allon da aka taƙaita mahimman bayanai akansa. Kuma nan da nan zaku iya tantance ko akwai matsala a cikin ma'ajin bayanai ko a'a.
Saboda haka, samuwar ma'ajin bayanai da sauran mahimman halaye ya kamata koyaushe a nuna su akan allon dash don wannan bayanin ya kasance a hannu kuma koyaushe yana samuwa gare ku. Wasu ƙarin cikakkun bayanai waɗanda suka riga sun taimaka wajen binciken abubuwan da suka faru, lokacin da ake bincikar wasu al'amuran gaggawa, sun riga sun buƙaci a sanya su a kan dashboards na biyu, ko ɓoye cikin hanyoyin haɗin gwiwa waɗanda ke haifar da tsarin sa ido na ɓangare na uku.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Misalin sanannen tsarin kulawa. Wannan tsarin sa ido ne sosai. Ta tattara bayanai da yawa, amma daga ra'ayi na, tana da wani bakon ra'ayi na dashboards. Akwai hanyar haɗi don "ƙirƙirar dashboard". Amma lokacin da ka ƙirƙiri dashboard, za ka ƙirƙiri jerin ginshiƙai biyu, jerin jadawali. Kuma lokacin da kake buƙatar duba wani abu, sai ka fara danna tare da linzamin kwamfuta, gungurawa, neman ginshiƙi da ake so. Kuma wannan yana ɗaukar lokaci, watau babu dashboards kamar haka. Akwai jerin ginshiƙi kawai.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Menene ya kamata ku ƙara zuwa waɗannan dashboards? Kuna iya farawa da irin wannan sifa kamar lokacin amsawa. PostgreSQL yana da ra'ayi pg_stat_statements. An kashe shi ta tsohuwa, amma yana ɗaya daga cikin mahimman ra'ayoyin tsarin da yakamata a kunna kuma a yi amfani da su koyaushe. Yana adana bayanai game da duk tambayoyin da ke gudana waɗanda aka aiwatar a cikin ma'ajin bayanai.

Dangane da haka, zamu iya farawa daga gaskiyar cewa zamu iya ɗaukar jimlar lokacin aiwatar da duk buƙatun kuma mu raba ta da adadin buƙatun ta amfani da filayen da ke sama. Amma wannan shine matsakaicin zafin jiki a asibiti. Za mu iya farawa daga wasu filayen - mafi ƙarancin lokacin aiwatar da tambaya, matsakaicin matsakaici da matsakaici. Kuma muna iya ma gina kaso; PostgreSQL yana da ayyuka masu dacewa don wannan. Kuma za mu iya samun wasu lambobi waɗanda ke nuna lokacin amsawar bayanan mu don buƙatun da aka riga aka kammala, watau ba ma aiwatar da buƙatun karya 'zaɓi 1' kuma mu kalli lokacin amsawa, amma muna nazarin lokacin amsa tambayoyin da aka riga aka kammala kuma zana zane. ko dai wani adadi daban, ko kuma mu gina jadawali bisa shi.

Hakanan yana da mahimmanci don saka idanu akan adadin kurakuran da tsarin ke haifarwa a halin yanzu. Kuma don wannan zaku iya amfani da kallon pg_stat_database. Muna mai da hankali kan filin xact_rollback. Wannan filin yana nuna ba kawai adadin jujjuyawar da ke faruwa a cikin bayanan ba, har ma yana la'akari da adadin kurakurai. Dangane da magana, za mu iya nuna wannan adadi a cikin dashboard ɗin mu kuma mu ga kurakurai nawa muke da su a halin yanzu. Idan akwai kurakurai da yawa, to wannan dalili ne mai kyau don bincika cikin rajistan ayyukan don ganin irin kurakurai da kuma dalilin da yasa suke faruwa, sannan saka hannun jari a warware su.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Kuna iya ƙara irin wannan abu kamar Tachometer. Waɗannan su ne adadin ma'amaloli a sakan daya da adadin buƙatun daƙiƙa. Dangane da magana, zaku iya amfani da waɗannan lambobi azaman aikin bayanan ku na yanzu kuma ku lura ko akwai kololuwar buƙatu, kololuwar ma'amaloli, ko kuma, akasin haka, ko bayanan ba a cika lodawa ba saboda wasu bayanan baya sun gaza. Yana da mahimmanci a koyaushe ku kalli wannan adadi kuma ku tuna cewa don aikinmu irin wannan aikin yana da al'ada, amma dabi'un da ke sama da ƙasa sun riga sun kasance wasu nau'ikan matsala da rashin fahimta, wanda ke nufin muna buƙatar duba dalilin da yasa waɗannan lambobi suke. haka babba.

Don ƙididdige adadin ma'amaloli, za mu iya sake komawa ga ra'ayin pg_stat_database. Za mu iya ƙara adadin aikatawa da adadin sake dawowa da samun adadin ma'amaloli a sakan daya.

Shin kowa ya fahimci cewa buƙatun da yawa na iya shiga cikin ma'amala ɗaya? Saboda haka TPS da QPS sun ɗan bambanta.

Ana iya samun adadin buƙatun daƙiƙa ɗaya daga pg_stat_statements kuma a sauƙaƙe ƙididdige jimlar duk buƙatun da aka kammala. A bayyane yake cewa muna kwatanta darajar yanzu tare da na baya, cire shi, samun delta, mu sami adadi.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Kuna iya ƙara ƙarin ma'auni idan ana so, wanda kuma yana taimakawa kimanta samuwar bayanan mu da saka idanu ko an sami raguwar lokaci.

Ɗaya daga cikin waɗannan ma'auni shine lokacin aiki. Amma lokacin aiki a cikin PostgreSQL yana da ɗan wahala. Zan gaya muku dalili. Lokacin da PostgreSQL ya fara, lokacin aiki yana fara bayar da rahoto. Amma idan a wani lokaci, alal misali, wasu ayyuka suna gudana da dare, wani OOM-killer ya zo ya dakatar da tsarin yaro na PostgreSQL, to, a cikin wannan yanayin PostgreSQL ya ƙare haɗin duk abokan ciniki, ya sake saita yankin ƙwaƙwalwar ajiya kuma ya fara dawowa daga. wurin bincike na karshe. Kuma yayin da wannan farfadowa daga wurin bincike ya ƙare, bayanan bayanan ba su yarda da haɗin kai ba, watau ana iya kimanta wannan yanayin a matsayin raguwa. Amma ba za a sake saita ma'aunin lokacin aiki ba, saboda yana la'akari da lokacin farawa na gidan waya daga farkon lokacin. Don haka, ana iya tsallake irin waɗannan yanayi.

Hakanan ya kamata ku sanya ido kan adadin ma'aikatan injin. Shin kowa ya san abin da autovacuum ke cikin PostgreSQL? Wannan tsari ne mai ban sha'awa a cikin PostgreSQL. An yi rubuce-rubuce da yawa game da ita, an yi rahotanni da yawa. Akwai tattaunawa da yawa game da vacuum da yadda yakamata yayi aiki. Mutane da yawa suna la'akari da shi a matsayin mummuna dole. Amma haka abin yake. Wannan wani nau'in kwatankwacin kwatankwacin shara ne wanda ke tsaftace tsoffin juzu'in layuka waɗanda ba sa buƙatar kowane ciniki kuma yana 'yantar da sarari a cikin teburi da fihirisa don sabbin layuka.

Me yasa kuke buƙatar saka idanu? Domin vacuum wani lokacin yana ciwo da yawa. Yana cinye babban adadin albarkatun kuma buƙatun abokin ciniki sun fara wahala a sakamakon haka.

Kuma ya kamata a kula da shi ta hanyar pg_stat_activity view, wanda zan yi magana game da shi a sashe na gaba. Wannan ra'ayi yana nuna ayyukan yanzu a cikin ma'ajin bayanai. Kuma ta wannan aikin za mu iya bin diddigin adadin guraben da ke aiki a yanzu. Za mu iya waƙa da vacuums mu ga cewa idan mun wuce iyaka, to wannan dalili ne don duba cikin saitunan PostgreSQL kuma ko ta yaya inganta aikin injin.

Wani abu game da PostgreSQL shine cewa PostgreSQL yana da rashin lafiya na dogon lokaci ma'amaloli. Musamman daga ma'amaloli da ke ratayewa na dogon lokaci kuma ba su yi komai ba. Wannan shine abin da ake kira stat-in-transaction. Irin wannan ma'amala yana riƙe makullai kuma yana hana injin yin aiki. Kuma a sakamakon haka, allunan sun kumbura kuma suna karuwa a girman. Kuma tambayoyin da ke aiki tare da waɗannan allunan sun fara aiki a hankali, saboda kuna buƙatar ɗaukar duk tsoffin juzu'in layuka daga ƙwaƙwalwar ajiya zuwa diski da baya. Sabili da haka, lokacin, tsawon tsawon ma'amaloli, mafi tsayin buƙatun buƙatun kuma yana buƙatar kulawa. Kuma idan muka ga wasu matakai da suka daɗe suna gudana, sun riga sun wuce minti 10-20-30 don nauyin OLTP, to muna buƙatar kula da su kuma mu dakatar da su da karfi, ko inganta aikace-aikacen don su. ba a kira kuma ba a rataye su tsawon haka. Don nauyin aikin nazari, mintuna 10-20-30 na al'ada ne; akwai kuma masu tsayi.

Tushen sa ido na PostgreSQL. Alexei Lesovsky
Na gaba muna da zaɓi tare da abokan ciniki da aka haɗa. Lokacin da muka riga mun ƙirƙiri dashboard kuma mun sanya ma'aunin isar da maɓalli a kai, za mu iya ƙara ƙarin bayani game da abokan cinikin da aka haɗa a wurin.

Bayani game da abokan ciniki da aka haɗa yana da mahimmanci saboda, daga hangen nesa na PostgreSQL, abokan ciniki sun bambanta. Akwai abokan ciniki masu kyau kuma akwai abokan ciniki mara kyau.

Misali mai sauƙi. Ta abokin ciniki na fahimci aikace-aikacen. Aikace-aikacen ya haɗa da ma'ajin bayanai kuma nan da nan ya fara aika buƙatunsa a can, tsarin bayanai yana aiwatar da su, kuma ya mayar da sakamakon ga abokin ciniki. Waɗannan abokan ciniki ne masu kyau kuma daidai.

Akwai yanayi lokacin da abokin ciniki ya haɗa, yana riƙe haɗin, amma ba ya yin komai. Yana cikin zaman banza.

Amma akwai miyagun abokan ciniki. Misali, abokin ciniki ɗaya ya haɗa, buɗe ma'amala, ya yi wani abu a cikin ma'ajin bayanai sannan ya shiga cikin lambar, alal misali, don isa ga tushen waje ko aiwatar da bayanan da aka karɓa a wurin. Amma bai rufe cinikin ba. Kuma ma'amalar tana rataye a cikin ma'ajin bayanai kuma ana gudanar da ita a cikin kulle akan layi. Wannan mummunan yanayi ne. Kuma idan ba zato ba tsammani aikace-aikacen wani wuri a cikin kanta ya gaza tare da keɓancewa, to, ciniki zai iya kasancewa a buɗe na dogon lokaci. Kuma wannan yana rinjayar aikin PostgreSQL kai tsaye. PostgreSQL zai kasance a hankali. Sabili da haka, yana da mahimmanci don bin diddigin irin waɗannan abokan ciniki a cikin lokaci kuma da ƙarfi su dakatar da aikin su. Kuma kuna buƙatar inganta aikace-aikacenku don kada irin waɗannan yanayi su faru.

Sauran miyagun abokan ciniki suna jiran abokan ciniki. Amma sun zama marasa kyau saboda yanayi. Misali, ma'amala mara aiki mai sauƙi: yana iya buɗe ma'amala, ɗaukar makullai akan wasu layukan, sannan wani wuri a cikin lambar zai gaza, yana barin ma'amala mai rataye. Wani abokin ciniki zai zo ya nemi bayanai iri ɗaya, amma zai ci karo da kulle, saboda wannan ciniki na rataye ya riga ya riƙe makullai akan wasu layuka da ake buƙata. Kuma ciniki na biyu zai rataya ne a jira kafin ciniki na farko ya kammala ko kuma a tilasta masa rufe ta. Saboda haka, ma'amaloli masu jiran gado na iya tarawa da cika iyakar haɗin bayanai. Kuma lokacin da iyaka ya cika, aikace-aikacen ba zai iya yin aiki tare da bayanan bayanai ba. Wannan ya riga ya zama yanayin gaggawa don aikin. Don haka, muna buƙatar bin diddigin abokan ciniki da ba da amsa a kan lokaci.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Wani misali na saka idanu. Kuma tuni akwai ingantaccen dashboard anan. Akwai bayani kan haɗin kai a sama. Haɗin DB - guda 8. Kuma shi duka. Ba mu da wani bayani game da waɗanne abokan ciniki ke aiki, waɗanda abokan ciniki ba su da aiki kawai, ba su yin komai. Babu wani bayani game da ma'amaloli masu jiran aiki da haɗin kai, watau wannan adadi ne da ke nuna adadin haɗin kuma shi ke nan. Sannan kiyi tunanin kanku.
Tushen sa ido na PostgreSQL. Alexei Lesovsky
Don haka, don ƙara wannan bayanin zuwa saka idanu, kuna buƙatar samun damar duba tsarin pg_stat_activity. Idan kun yi amfani da lokaci mai yawa a PostgreSQL, to wannan ra'ayi ne mai kyau wanda ya kamata ya zama abokin ku, saboda yana nuna ayyukan da ake yi a PostgreSQL, watau abin da ke faruwa a ciki. Ga kowane tsari akwai keɓaɓɓen layi wanda ke nuna bayanai game da wannan tsari: daga wanda aka yi haɗin gwiwar, a ƙarƙashin wane mai amfani, a ƙarƙashin wane suna, lokacin da aka fara ciniki, menene buƙatar ke gudana a halin yanzu, menene buƙata ta ƙarshe da aka aiwatar. Kuma, bisa ga haka, za mu iya kimanta jihar abokin ciniki ta amfani da filin ƙididdiga. Dangane da magana, za mu iya haɗawa ta wannan filin kuma mu sami waɗannan ƙididdiga waɗanda suke a halin yanzu a cikin ma'ajin bayanai da adadin haɗin da ke da wannan ƙididdiga a cikin bayanan. Kuma za mu iya aika lambobin da aka riga aka karɓa zuwa saka idanu da zana hotuna bisa su.
Hakanan yana da mahimmanci don kimanta tsawon lokacin ciniki. Na riga na faɗi cewa yana da mahimmanci don kimanta tsawon lokacin vacuums, amma ana kimanta ma'amaloli ta hanya ɗaya. Akwai filayen xact_start da query_start. Su, in mun gwada da magana, suna nuna farkon lokacin ciniki da farkon lokacin buƙatun. Muna ɗaukar aikin yanzu(), wanda ke nuna tambarin lokaci na yanzu, kuma mu cire ma'amala da buƙatar tambarin lokaci. Kuma muna samun tsawon lokacin ciniki, tsawon lokacin buƙatar.

Idan muka ga dogon ma'amaloli, ya kamata mu kammala su riga. Don nauyin OLTP, dogon ma'amaloli sun riga sun wuce mintuna 1-2-3. Don nauyin aikin OLAP, ma'amala mai tsawo na al'ada ne, amma idan sun ɗauki fiye da sa'o'i biyu don kammalawa, to wannan ma alama ce cewa muna da skew a wani wuri.

Tushen sa ido na PostgreSQL. Alexei Lesovsky
Da zarar abokan ciniki sun haɗa zuwa bayanan bayanai, za su fara aiki tare da bayanan mu. Suna samun damar tebur, suna samun damar fihirisa don samun bayanai daga tebur. Kuma yana da mahimmanci don kimanta yadda abokan ciniki ke hulɗa da wannan bayanan.

Wannan yana da mahimmanci don auna nauyin aikinmu da kuma fahimtar wane tebur ne "mafi zafi" a gare mu. Misali, ana buƙatar wannan a cikin yanayi inda muke son sanya tebur "zafi" akan wani nau'in ajiyar SSD mai sauri. Misali, wasu teburan kayan tarihi waɗanda ba mu daɗe da amfani da su ba za a iya matsar da su zuwa wani nau'in tarihin “sanyi”, zuwa mashinan SATA kuma a bar su su zauna a can, za a iya isa gare su idan an buƙata.

Wannan kuma yana da amfani don gano abubuwan da ba su da kyau bayan kowane fitowa da turawa. Bari mu ce aikin ya fito da wani sabon fasali. Misali, mun kara sabbin ayyuka don aiki tare da bayanan bayanai. Kuma idan muka tsara zane-zane na amfani da tebur, za mu iya gano waɗannan abubuwan da ba su da kyau a cikin waɗannan jadawali. Misali, sabunta fashe ko share fashe. Zai zama bayyane sosai.

Hakanan zaka iya gano abubuwan da ba su da kyau a cikin kididdigar "mai iyo". Me ake nufi? PostgreSQL yana da ƙarfi sosai kuma mai tsara tsarin tambaya. Kuma masu haɓakawa suna ba da lokaci mai yawa don ci gabanta. Ta yaya yake aiki? Domin yin kyawawan tsare-tsare, PostgreSQL yana tattara ƙididdiga akan rarraba bayanai a cikin tebur a wani ɗan lokaci kuma tare da mitar. Waɗannan su ne mafi yawan dabi'u: adadin ƙima na musamman, bayani game da NULL a cikin tebur, bayanai da yawa.

Dangane da waɗannan ƙididdiga, mai tsarawa yana gina tambayoyi da yawa, ya zaɓi mafi kyawu, kuma yana amfani da wannan tsarin tambayar don aiwatar da tambayar da kanta da dawo da bayanai.

Kuma yana faruwa cewa kididdigar "taso kan ruwa". Bayanai masu inganci da yawa sun canza ko ta yaya a cikin tebur, amma ba a tattara kididdigar ba. Kuma tsare-tsaren da aka kafa bazai zama mafi kyau ba. Kuma idan shirye-shiryenmu sun zama mafi ƙanƙanta dangane da sa ido da aka tattara, bisa ga tebur, za mu iya ganin waɗannan abubuwan da ba su da kyau. Misali, wani wuri bayanan sun canza da inganci kuma a maimakon maƙasudin, an fara amfani da hanyar wucewa ta jeri ta tebur, watau. idan tambaya tana buƙatar dawo da layuka 100 kawai (akwai iyaka 100), to za a yi cikakken bincike don wannan tambayar. Kuma wannan ko da yaushe yana da mummunar tasiri akan aiki.

Kuma muna iya ganin wannan a cikin saka idanu. Kuma riga duba wannan tambaya, gudanar da bayani game da shi, tattara statistics, gina wani sabon ƙarin fihirisa. Kuma tuni ya amsa wannan matsala. Shi ya sa yake da muhimmanci.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Wani misali na saka idanu. Ina tsammanin mutane da yawa sun gane shi saboda ya shahara sosai. Wanda ke amfani da shi a cikin ayyukan su Prometheus? Wanene ke amfani da wannan samfurin tare da Prometheus? Gaskiyar ita ce, a cikin daidaitattun ma'auni na wannan saka idanu akwai dashboard don aiki tare da PostgreSQL - postgres_exporter Prometheus. Amma akwai wani mummunan daki-daki.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Akwai jadawali da yawa. Kuma ana nuna bytes a matsayin haɗin kai, watau akwai jadawali 5. Waɗannan su ne Saka bayanai, Sabunta bayanai, Share bayanai, Dauke bayanai da Koma bayanai. Ma'aunin naúrar bytes ne. Amma abu shine ƙididdiga a cikin PostgreSQL yana dawo da bayanai a cikin tuple ( layuka). Kuma, a kan haka, waɗannan jadawali hanya ce mai kyau don rage yawan nauyin aikin ku sau da yawa, sau goma, saboda tuple ba byte ba ne, tuple shine kirtani, yana da yawa bytes kuma yana da tsawon lokaci. Wato, ƙididdige nauyin aiki a cikin bytes ta amfani da tuples aiki ne marar gaskiya ko kuma mai wuyar gaske. Don haka, lokacin da kake amfani da dashboard ko ginanniyar sa ido, yana da mahimmanci koyaushe ka fahimci cewa yana aiki daidai kuma yana mayar maka da bayanan da aka tantance daidai.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Yadda za a sami kididdiga akan waɗannan tebur? Don wannan dalili, PostgreSQL yana da takamaiman dangin ra'ayi. Kuma babban ra'ayi shine pg_stat_user_tables. User_tables - wannan yana nufin allunan da aka ƙirƙira a madadin mai amfani. Sabanin haka, akwai ra'ayoyin tsarin da PostgreSQL ke amfani dashi. Kuma akwai taƙaitaccen tebur Alltables, wanda ya ƙunshi duka tsarin da na masu amfani. Kuna iya farawa daga kowane ɗayan su wanda kuka fi so.

Yin amfani da filayen da ke sama zaku iya kimanta adadin abubuwan da aka saka, sabuntawa da sharewa. Misalin dashboard ɗin da na yi amfani da shi yana amfani da waɗannan filayen don kimanta halayen nauyin aiki. Saboda haka, mu ma za mu iya yin gini a kansu. Amma yana da kyau a tuna cewa waɗannan tuples ne, ba bytes ba, don haka ba za mu iya yin shi kawai a cikin bytes ba.

Dangane da wannan bayanan, zamu iya gina abubuwan da ake kira Tables na TopN. Misali, Top-5, Top-10. Kuma kuna iya bin waɗannan tebur masu zafi waɗanda aka sake yin fa'ida fiye da sauran. Misali, tebur 5 "zafi" don sakawa. Kuma ta yin amfani da waɗannan tebur na TopN muna ƙididdige yawan aikinmu kuma muna iya kimanta fashewar nauyin aiki bayan kowane sakewa, sabuntawa, da turawa.

Hakanan yana da mahimmanci don kimanta girman tebur, saboda wasu lokuta masu haɓakawa suna fitar da sabon fasalin, kuma tebur ɗinmu suna fara kumbura a cikin manyan girmansu, saboda sun yanke shawarar ƙara ƙarin adadin bayanai, amma ba su faɗi yadda hakan zai kasance ba. shafi girman rumbun adana bayanai. Irin wadannan al’amura ma sun zo mana da mamaki.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Yanzu kuma 'yar tambaya gare ku. Wace tambaya ce ke tasowa lokacin da kuka lura da nauyin da ke kan uwar garken bayananku? Menene tambaya ta gaba ku?

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Amma a gaskiya tambaya ta taso kamar haka. Wadanne buƙatu ne nauyin ya haifar? Wato, ba abin sha'awa ba ne a kalli hanyoyin da kaya ke haifarwa. A bayyane yake cewa idan mai watsa shiri yana da ma'ajiyar bayanai, to rumbun adana bayanai na aiki a wurin kuma a bayyane yake cewa za a zubar da bayanan ne kawai a wurin. Idan muka buɗe Top, za mu ga akwai jerin matakai a cikin PostgreSQL waɗanda ke yin wani abu. Ba zai fito fili daga Top abin da suke yi ba.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Don haka, kuna buƙatar nemo waɗannan tambayoyin da ke haifar da mafi girman nauyi, saboda tambayoyin kunnawa, a matsayin mai mulkin, yana ba da ƙarin riba fiye da kunna PostgreSQL ko tsarin tsarin aiki, ko ma daidaita kayan aikin. Bisa ga kimanta na, wannan shine kusan 80-85-90%. Kuma ana yin hakan da sauri. Yana da sauri don gyara buƙatun fiye da gyara tsarin aiki, tsara jadawalin sake farawa, musamman idan ba za a iya sake kunna bayanai ba, ko ƙara kayan aiki. Yana da sauƙi a sake rubuta tambayar a wani wuri ko ƙara fihirisa don samun kyakkyawan sakamako daga wannan tambayar.

Tushen sa ido na PostgreSQL. Alexei Lesovsky
Saboda haka, ya zama dole don saka idanu akan buƙatun da isassun su. Bari mu dauki wani misali na saka idanu. Kuma a nan ma, da alama akwai kyakkyawan sa ido. Akwai bayanai game da kwafi, akwai bayanai kan kayan aiki, toshewa, amfani da albarkatu. Komai yana da kyau, amma babu bayani akan buƙatun. Ba a bayyana irin tambayoyin da ke gudana a cikin bayananmu ba, tsawon lokacin da suke aiki, nawa ne daga cikin waɗannan tambayoyin. Kullum muna buƙatar samun wannan bayanin a cikin sa ido.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Kuma don samun wannan bayanin za mu iya amfani da pg_stat_statements module. Dangane da shi, zaku iya gina zane-zane iri-iri. Misali, zaku iya samun bayanai akan tambayoyin da suka fi yawa, wato akan waɗancan tambayoyin da ake aiwatarwa akai-akai. Ee, bayan turawa yana da matukar amfani a dube shi kuma fahimtar idan akwai karuwar buƙatun.

Kuna iya saka idanu mafi tsayin tambayoyin, wato, tambayoyin da suke ɗaukar mafi tsawo kafin a kammala. Suna gudana akan processor, suna cinye I/O. Hakanan zamu iya kimanta wannan ta amfani da filayen total_time, mean_time, blk_write_time da blk_read_time.

Za mu iya kimantawa da saka idanu mafi girman buƙatun dangane da amfani da albarkatu, waɗanda ke karantawa daga faifai, waɗanda ke aiki tare da ƙwaƙwalwar ajiya, ko, akasin haka, ƙirƙirar wani nau'in nauyin rubutu.

Za mu iya kimanta buƙatun mafi karimci. Waɗannan su ne tambayoyin da ke mayar da adadi mai yawa na layuka. Misali, wannan na iya zama wasu buƙatun inda suka manta saita iyaka. Kuma kawai yana mayar da dukkan abubuwan da ke cikin tebur ko tambaya a cikin teburin da aka nema.

Hakanan zaka iya saka idanu akan tambayoyin da ke amfani da fayilolin wucin gadi ko tebur na wucin gadi.

Tushen sa ido na PostgreSQL. Alexei Lesovsky
Kuma har yanzu muna da matakai na baya. Tsarin baya shine farkon wuraren bincike ko kuma ana kiran su wuraren bincike, waɗannan su ne autovacuum da maimaitawa.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Wani misali na saka idanu. Akwai shafin Maintenance a gefen hagu, je zuwa gare shi da fatan ganin wani abu mai amfani. Amma a nan ne kawai lokacin aikin injin motsa jiki da tattara kididdiga, ba komai ba. Wannan bayanin mara kyau ne, don haka koyaushe muna buƙatar samun bayanai game da yadda tsarin bayanan baya ke aiki a cikin bayananmu da ko akwai wasu matsaloli daga aikinsu.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Lokacin da muka kalli wuraren bincike, ya kamata mu tuna cewa wuraren bincike suna fitar da datti daga wurin ma'adanar ƙwaƙwalwar ajiya zuwa faifai, sannan ƙirƙirar wurin bincike. Kuma ana iya amfani da wannan wurin bincike a matsayin wuri don farfadowa idan an dakatar da PostgreSQL ba zato ba tsammani a cikin gaggawa.

Saboda haka, don zubar da duk shafukan "datti" zuwa faifai, kuna buƙatar yin takamaiman adadin rubutu. Kuma, a matsayin mai mulkin, akan tsarin tare da yawan ƙwaƙwalwar ajiya, wannan yana da yawa. Kuma idan muka yi wuraren bincike sau da yawa a cikin ɗan gajeren lokaci, to aikin diski zai ragu sosai. Kuma buƙatun abokin ciniki za su sha wahala daga rashin albarkatu. Za su yi takara don albarkatu kuma ba su da yawan aiki.

Saboda haka, ta hanyar pg_stat_bgwriter ta amfani da takamaiman filayen za mu iya sa ido kan adadin wuraren bincike da ke faruwa. Kuma idan muna da wuraren bincike da yawa a kan wani ɗan lokaci (a cikin minti 10-15-20, a cikin rabin sa'a), misali, 3-4-5, to wannan na iya zama matsala. Kuma kun riga kuna buƙatar bincika bayanan bayanai, duba cikin tsarin, abin da ke haifar da yawan wuraren bincike. Wataƙila akwai wani irin babban rikodin da ke gudana. Za mu iya riga kimanta aikin, saboda mun riga mun ƙara jadawali na aiki. Mun riga mun iya tweak sigogin wuraren bincike kuma mu tabbatar da cewa ba sa tasiri sosai kan aikin tambaya.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Zan sake dawowa ga autovacuum saboda abu ne, kamar yadda na fada, wanda zai iya haɓaka duka diski da aikin tambaya cikin sauƙi, don haka yana da mahimmanci koyaushe a kimanta adadin autovacuum.

An iyakance adadin ma'aikatan autovacuum a cikin ma'ajin bayanai. Ta hanyar tsoho, akwai uku daga cikinsu, don haka idan koyaushe muna da ma'aikata uku da ke aiki a cikin ma'ajin bayanai, wannan yana nufin cewa autovacuum ɗinmu ba a daidaita shi ba, muna buƙatar haɓaka iyakoki, sake duba saitunan autovacuum kuma shiga cikin tsarin.
Yana da mahimmanci a tantance waɗanne ma'aikatan injin da muke da su. Ko dai an ƙaddamar da shi daga mai amfani, DBA ta zo ta ƙaddamar da wani nau'i na vacuum da hannu, kuma wannan ya haifar da kaya. Muna da wata irin matsala. Ko kuma wannan shine adadin vacuums da ke warware ma'aunin ma'amala. Ga wasu nau'ikan PostgreSQL waɗannan guraben ruwa ne masu nauyi sosai. Kuma suna iya ƙara yawan wasan kwaikwayon cikin sauƙi saboda suna karanta dukan tebur, bincika duk tubalan da ke cikin wannan tebur.

Kuma, ba shakka, da duration na vacuums. Idan muna da vacuums masu ɗorewa waɗanda ke gudana na dogon lokaci, wannan yana nufin cewa muna buƙatar sake mai da hankali ga tsarin injin kuma wataƙila mu sake yin la'akari da saitunan sa. Domin yanayi na iya tasowa lokacin da injin yana aiki a kan tebur na dogon lokaci (sa'o'i 3-4), amma a lokacin da injin ke aiki, babban adadin layuka masu yawa sun sake tarawa a cikin tebur. Kuma da zarar injin ya gama, yana buƙatar sake share wannan tebur ɗin. Kuma mun zo ga wani yanayi - mara iyaka mara iyaka. Kuma a cikin wannan yanayin, injin ba ya jimre wa aikinsa, kuma tebur a hankali ya fara girma a cikin girman, ko da yake ƙarar bayanai masu amfani a ciki ya kasance iri ɗaya. Saboda haka, a lokacin dogon vacuums, mu ko da yaushe duba da sanyi da kuma kokarin inganta shi, amma a lokaci guda don haka da abokin ciniki buƙatun ba sha wahala.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

A zamanin yau kusan babu shigarwar PostgreSQL wanda ba shi da kwafin yawo. Kwafi shine tsarin tafiyar da bayanai daga mai sarrafa zuwa kwafi.

Maimaitawa a cikin PostgreSQL ana yin ta ta hanyar ma'amala. Mayen yana haifar da log ɗin ciniki. Rubutun ma'amala yana tafiya akan haɗin yanar gizon zuwa kwafi, sannan ana sake bugawa akan kwafin. Yana da sauki.

Don haka, ana amfani da ra'ayin pg_stat_replication don saka idanu kan koma bayan kwafi. Amma ba komai ba ne mai sauƙi tare da ita. A cikin sigar 10, ra'ayi ya sami canje-canje da yawa. Na farko, wasu filayen an sake suna. Kuma an kara wasu filayen. A cikin sigar 10, filayen sun bayyana waɗanda ke ba ku damar ƙididdige koma bayan kwafi a cikin daƙiƙa. Yana da dadi sosai. Kafin sigar 10, yana yiwuwa a ƙididdige ƙarancin kwafi a cikin bytes. Wannan zabin ya kasance a cikin sigar 10, watau zaku iya zaɓar abin da ya fi dacewa da ku - ƙididdige lag a cikin bytes ko kimanta lag a cikin daƙiƙa. Mutane da yawa suna yin duka biyun.

Amma duk da haka, don kimanta lag na maimaitawa, kuna buƙatar sanin matsayin log a cikin ma'amala. Kuma waɗannan wuraren rajistar ma'amala suna daidai a cikin pg_stat_replication view. Dangantakar da magana, zamu iya ɗaukar maki biyu a cikin log ɗin ciniki ta amfani da aikin pg_xlog_location_diff(). Yi ƙididdige delta tsakanin su kuma sami lag ɗin maimaitawa a cikin bytes. Yana da matukar dacewa da sauƙi.

A cikin sigar 10, an canza wannan aikin zuwa pg_wal_lsn_diff(). Gabaɗaya, a cikin duk ayyuka, ra'ayoyi, da abubuwan amfani inda kalmar "xlog" ta bayyana, an maye gurbinta da darajar "wal". Wannan ya shafi duka ra'ayoyi da ayyuka. Irin wannan bidi'a ce.

Bugu da ƙari, a cikin sigar 10, an ƙara layukan da ke nuna rashin ƙarfi. Waɗannan su ne lag ɗin rubutu, lag ɗin ruwa, sake kunnawa. Wato yana da mahimmanci a sanya idanu akan waɗannan abubuwa. Idan muka ga cewa muna da koma baya, to muna bukatar mu bincika dalilin da ya sa ya bayyana, inda ya fito da kuma gyara matsalar.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Kusan komai yana cikin tsari tare da ma'aunin tsarin. Lokacin da kowane saka idanu ya fara, yana farawa da ma'aunin tsarin. Wannan shine zubar da na'urori masu sarrafawa, ƙwaƙwalwar ajiya, musanyawa, hanyar sadarwa da faifai. Koyaya, sigogi da yawa basa can ta tsohuwa.

Idan komai yana cikin tsari tare da tsarin sake amfani da shi, to akwai matsaloli tare da sake amfani da faifai. A matsayinka na mai mulki, masu haɓaka masu saka idanu suna ƙara bayanai game da kayan aiki. Yana iya zama a cikin iops ko bytes. Amma sun manta game da latency da kuma amfani da na'urorin faifai. Waɗannan su ne mafi mahimmancin sigogi waɗanda ke ba mu damar tantance yadda ake loda faifan mu da kuma yadda suke jinkirin. Idan muna da babban latency, to wannan yana nufin cewa akwai wasu matsaloli tare da faifai. Idan muna da babban amfani, yana nufin cewa faifai ba su jurewa ba. Waɗannan halaye ne masu kyau fiye da abin da aka fitar.

Haka kuma, ana iya samun waɗannan ƙididdiga daga tsarin fayil ɗin /proc, kamar yadda ake yin na'urori masu sarrafawa. Ban san dalilin da yasa ba a ƙara wannan bayanin zuwa saka idanu ba. Amma duk da haka, yana da mahimmanci a sami wannan a cikin sa ido.

Hakanan ya shafi hanyoyin sadarwa na cibiyar sadarwa. Akwai bayanai game da hanyar sadarwa ta hanyar sadarwa a cikin fakiti, a cikin bytes, amma duk da haka babu wani bayani game da latency kuma babu bayani game da amfani, kodayake wannan ma bayanai ne masu amfani.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Duk wani saka idanu yana da lahani. Kuma ko wane irin sa ido ka dauka, ba zai cika wasu sharudda ba. Amma duk da haka, suna haɓakawa, ana ƙara sabbin abubuwa da sabbin abubuwa, don haka zaɓi wani abu kuma ƙarasa shi.

Kuma don gamawa, dole ne koyaushe ku kasance da ra'ayin abin da kididdigar da aka bayar ke nufi da yadda zaku iya amfani da su don magance matsaloli.

Da kuma wasu mahimman bayanai:

  • Yakamata koyaushe ku saka idanu akan samuwa kuma kuna da dashboards don ku iya tantancewa da sauri cewa komai yana cikin tsari tare da bayanan bayanai.
  • Kullum kuna buƙatar samun ra'ayi game da abin da abokan ciniki ke aiki tare da bayanan ku don kawar da miyagun abokan ciniki da harba su.
  • Yana da mahimmanci don kimanta yadda waɗannan abokan ciniki ke aiki tare da bayanai. Kuna buƙatar samun ra'ayi game da nauyin aikinku.
  • Yana da mahimmanci don kimanta yadda aka kafa wannan nauyin aikin, tare da taimakon waɗanne tambayoyi. Kuna iya kimanta tambayoyin, zaku iya inganta su, sake fasalin su, gina maƙasudi a gare su. Yana da matukar muhimmanci.
  • Tsarin bayanan baya na iya yin tasiri ga buƙatun abokin ciniki mara kyau, don haka yana da mahimmanci a saka idanu cewa basa amfani da albarkatu da yawa.
  • Ma'auni na tsarin yana ba ku damar yin tsare-tsare don ƙima da haɓaka ƙarfin sabar ku, don haka yana da mahimmanci don bin diddigin su da kimanta su.

Tushen sa ido na PostgreSQL. Alexei Lesovsky

Idan kuna sha'awar wannan batu, to kuna iya bin waɗannan hanyoyin haɗin gwiwa.
http://bit.do/stats_collector - wannan takaddun hukuma ne daga mai tattara kididdiga. Akwai bayanin duk ra'ayoyin ƙididdiga da bayanin duk fage. Kuna iya karantawa, fahimta da kuma nazarin su. Kuma akan su, gina jadawali kuma ƙara su cikin sa ido.

Misali buƙatun:
http://bit.do/dataegret_sql
http://bit.do/lesovsky_sql

Wannan shi ne ma'ajiyar kamfani namu kuma nawa. Suna ɗauke da tambayoyin misali. Babu tambayoyi daga zaɓi * daga jerin can. An riga an riga an shirya tambayoyin da aka yi tare da haɗin kai, ta yin amfani da ayyuka masu ban sha'awa waɗanda ke ba ku damar canza lambobi masu ƙima zuwa abubuwan da za a iya karantawa, dabi'u masu dacewa, i.e. waɗannan su ne bytes, lokaci. Kuna iya ɗaukar su, duba su, bincika su, ƙara su cikin saka idanu, gina sa ido akan su.

Tambayoyi

Tambaya: Kun ce ba za ku tallata samfuran ba, amma har yanzu ina sha'awar - wane irin dashboards kuke amfani da su a cikin ayyukanku?
Amsa: Ya bambanta. Yana faruwa cewa mun zo wurin abokin ciniki kuma ya riga ya sami nasa kulawa. Kuma muna ba abokin ciniki shawara game da abin da ya kamata a ƙara a cikin sa ido. Mafi munin yanayi shine tare da Zabbix. Domin ba shi da ikon gina TopN graphs. Mu kanmu muna amfani Okmeter, domin muna tuntubar wadannan mutanen kan sa ido. Sun sa ido kan PostgreSQL bisa ƙayyadaddun fasaha na mu. Ina rubuta nawa aikin dabbobi, wanda ke tattara bayanai ta hanyar Prometheus kuma ya shigar da shi Grafana. Ayyukana shine in ƙirƙiri mai fitar da kaina a cikin Prometheus sannan in sanya komai a Grafana.

Tambaya: Shin akwai wasu misalan rahotannin AWR ko... tari? Shin kun san wani abu kamar wannan?
Amsa: Ee, na san menene AWR, abu ne mai daɗi. A halin yanzu akwai kekuna iri-iri da ke aiwatar da kusan irin wannan samfurin. A wasu tazara na lokaci, ana rubuta wasu tushe zuwa PostgreSQL iri ɗaya ko zuwa keɓan ma'ajiyar. Kuna iya google su akan Intanet, suna can. Ɗaya daga cikin masu haɓaka irin wannan abu yana zaune a kan dandalin sql.ru a cikin zaren PostgreSQL. Kuna iya kama shi a can. Haka ne, akwai irin waɗannan abubuwa, ana iya amfani da su. Ƙari a cikin sa pgCenter Ina kuma rubuta wani abu wanda zai ba ku damar yin abu ɗaya.

PS1 Idan kana amfani da postgres_exporter, wane dashboard kake amfani dashi? Akwai da yawa daga cikinsu. Sun riga sun tsufa. Wataƙila al'umma za su ƙirƙiri samfurin da aka sabunta?

An cire PS2 pganalyze saboda sadaukarwar SaaS ce ta mallaka wacce ke mai da hankali kan saka idanu akan ayyukan aiki da shawarwarin daidaitawa ta atomatik.

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Wanne saka idanu postgresql mai ɗaukar nauyi (tare da dashboard) kuke ɗaukar mafi kyau?

  • 30,0%Zabbix + ƙari daga Alexey Lesovsky ko zabbix 4.4 ko 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 SaaS ne na mallakar mallaka - Ba zan iya share shi ba1

  • 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

Masu amfani 10 sun kada kuri'a. Masu amfani 26 sun kaurace.

source: www.habr.com

Add a comment