Mokhoa oa indasteri oa ho lokisa PostgreSQL: liteko ka database. Nikolay Samokhvalov

Ke khothaletsa hore u bale sengoloa sa tlaleho ea Nikolai Samokhvalov "Mokhoa oa indasteri oa ho hlophisa PostgreSQL: liteko tsa database"

Shared_buffers = 25% - na e ngata kapa e nyane? Kapa hantle feela? U tseba joang haeba khothatso ee - e siiloe ke nako - e nepahetse molemong oa hau?

Ke nako ea ho atamela taba ea ho khetha li-parameter tsa postgresql.conf "joaloka motho e moholo." Eseng ka thuso ea "li-auto tuners" tse sa boneng kapa likeletso tsa khale tse tsoang ho lingoliloeng le li-blog, empa li ipapisitse le:

  1. liteko tse netefalitsoeng ka thata ho li-database, tse etsoang ka boiketsetso, ka bongata bo boholo le tlas'a maemo a haufi ka hohle kamoo ho ka khonehang ho "loana",
  2. kutloisiso e tebileng ea likarolo tsa DBMS le OS.

Ho sebelisa Nancy CLI (https://gitlab.com/postgres.ai/nancy), re tla sheba mohlala o ikhethileng - li-shared_buffers tse tummeng hampe - maemong a fapaneng, mererong e fapaneng mme re leke ho fumana mokhoa oa ho khetha maemo a nepahetseng bakeng sa meaho ea rona, database le mojaro.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Re tla bua ka liteko tse nang le database. Ena ke pale e nkang nako e fetang likhoeli tse tšeletseng.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Hanyenyane ka 'na. Boiphihlelo le Postgres ka lilemo tse fetang 14. Ho thehile lik'hamphani tse ngata tsa liwebsaete tseo batho ba etsang metsoalle ho tsona. Postgres e ne e sebelisoa ebile e sebelisoa hohle.

Hape sehlopha sa RuPostgres ho Meetup, sebaka sa 2nd lefatšeng. Re ntse re atamela batho ba 2 butle-butle. RuPostgres.org.

Le ho li-PC tsa likopano tse fapaneng, ho kenyeletsoa Highload, ke ikarabella bakeng sa li-database, haholo-holo Postgres ho tloha qalong.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me lilemong tse' maloa tse fetileng, ke qalile bocha boikoetliso ba ka ba Postgres ka linako tse 11 ho tloha mona.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Mme ha ke etsa sena lilemong tse 'maloa tse fetileng, ke ile ka ba le khefu mosebetsing oa matsoho le Postgres, mohlomong ho tloha 2010. Ke ile ka makala kamoo mokhoa oa ho sebetsa oa DBA o fetohileng o fokolang kateng, le hore na ho sa ntse ho hlokahala hore ho sebelisoe mosebetsi o mongata oa matsoho o kae. Mme hang-hang ke ile ka nahana hore ho na le ho phoso mona, ke hloka ho iketsetsa ntho e 'ngoe le e 'ngoe.

'Me kaha e ne e le hōle, boholo ba bareki ba ne ba le marung. 'Me tse ngata li se li ntse li iketsetsa, ho hlakile. Tse ling mabapi le sena hamorao. Ke hore, sena sohle se ile sa fella ka khopolo ea hore ho lokela ho ba le lisebelisoa tse ngata, ke hore, mofuta o mong oa sethala se tla iketsetsa hoo e batlang e le liketso tsohle tsa DBA e le hore palo e kholo ea li-database e ka laoloa.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Tlaleho ena e ke ke ea kenyelletsa:

  • "Silver bullets" le lipolelo tse kang - beha 8 GB kapa 25% shared_buffers 'me u tla phela hantle. Ha ho na ho ba le ho hongata ka shared_buffers.
  • Hardcore "innards".

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ho tla etsahala'ng?

  • Ho tla ba le melao-motheo ea optimization eo re e sebelisang le ho e ntlafatsa. Ho tla ba le mefuta eohle ea mehopolo e hlahang tseleng le lisebelisoa tse fapaneng tseo re li bōpileng haholo ho Open Source, ke hore re etsa motheo ho Open Source. Ho feta moo, re na le litekete, puisano eohle e batla e le Mohloli o Bulehileng. U ka bona seo re se etsang hona joale, se tla ba sefe tokollong e latelang, joalo-joalo.
  • Hape ho tla ba le phihlelo ea ho sebelisa melao-motheo ena, lisebelisoa tsena lik'hamphaning tse 'maloa: ho tloha ho tse nyenyane tse qalang ho ea ho lik'hamphani tse kholo.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

See sohle se etsahala joang?

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Taba ea mantlha, mosebetsi oa mantlha oa DBA, ntle le ho etsa bonnete ba ho theha maemo, ho tsamaisoa ha li-backups, joalo-joalo, ke ho fumana mathata le ho ntlafatsa ts'ebetso.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Jwale e sehilwe tjena. Re sheba monitoring, re bona ho hong, empa re haelloa ke lintlha tse ling. Re qala ho cheka ka hloko, hangata ka matsoho a rona, 'me re utloisisa seo re lokelang ho se etsa ka eona ka tsela e' ngoe kapa e 'ngoe.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me ho na le mekhoa e' meli. Pg_stat_statements ke tharollo ea kamehla ea ho tseba lipotso tse liehang. Le tlhahlobo ea li-logs tsa Postgres u sebelisa pgBadger.

Mokhoa o mong le o mong o na le mefokolo e tebileng. Ka mokhoa oa pele, re lahlile li-parameter tsohle. 'Me haeba re bona lihlopha KHETHA * HO TSOA tafoleng moo kholomo e lekanang le "?" kapa "$" ho tloha Postgres 10. Ha re tsebe hore na sena ke index ea index kapa seq scan. E itšetlehile haholo ka parameter. Haeba o kenya boleng boo o sa fumaneheng seoelo moo, e tla ba index ea index. Haeba u kenya sebaka sa boleng bo nang le 90% ea tafole moo, seq scan e tla ba e hlakileng, hobane Postgres o tseba lipalo-palo. Mme ena ke tšitiso e kholo ea pg_stat_statements, leha mosebetsi o mong o ntse o tsoela pele.

Phoso e kholo ka ho fetisisa ea tlhahlobo ea log ke hore ha u khone ho reka "log_min_duration_statement = 0" joalo ka molao. Mme le rona re tla bua ka taba ena. Ka hona, ha u bone setšoantšo sohle. 'Me potso e' ngoe, e potlakileng haholo, e ka ja lisebelisoa tse ngata, empa u ke ke ua e bona hobane e ka tlase ho moeli oa hau.

Li-DBA li rarolla mathata ao li a fumanang joang?

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ka mohlala, re fumane bothata bo itseng. Hangata ho etsoa eng? Haeba u mohlahlami, joale u tla be u etsa ntho e itseng ketsahalong e sa lekanang ka boholo. Haeba u DBA, joale u na le sethala. Mme ho ka ba le a le mong feela. Mme o ne a saletse morao ka dikgwedi tse tsheletseng. 'Me u nahana hore u tla ea tlhahiso. Mme le li-DBA tse nang le boiphihlelo ebe li sheba tlhahiso, ka setšoantšo. 'Me ho etsahala hore ba thehe index ea nakoana, etsa bonnete ba hore e thusa, e theohe le ho e fa baetsi ba eona e le hore ba ka e kenya lifaeleng tsa ho falla. Ena ke mofuta oa bosaoana o etsahalang hona joale. Mme hona ke bothata.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

  • Fetola litlhophiso.
  • Ntlafatsa sehlopha sa li-index.
  • Fetola potso ea SQL ka boeona (ena ke mokhoa o thata ka ho fetisisa).
  • Eketsa bokhoni (tsela e bonolo ka ho fetisisa maemong a mangata).

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ho na le lintho tse ngata tse etsahalang ka lintho tsena. Ho na le lithupa tse ngata ho Postgres. Ho na le lintho tse ngata tseo u lokelang ho li tseba. Ho na le li-index tse ngata ho Postgres, ke leboha hape le bahlophisi ba kopano ena. 'Me sena sohle se hloka ho tsejoa,' me sena ke sona se etsang hore bao e seng ba DBA ba utloe eka li-DBA li sebelisa boloi bo bobe. Ke hore, o hloka ho ithuta lilemo tse 10 ho qala ho utloisisa sena sohle ka tloaelo.

Mme ke mohlabani kgahlanong le boselamose bona. Ke batla ho etsa ntho e 'ngoe le e' ngoe e le hore ho be le theknoloji, 'me ha ho na intuition ho sena sohle.

Mehlala ea sebele ea bophelo

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ke hlokometse sena bonyane mererong e 'meli, ho kenyelletsa le ea ka. Poso e 'ngoe ea blog e re bolella hore boleng ba 1 bakeng sa default_statistict_target bo lokile. Ho lokile, ha re e leke tlhahisong.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me ke rona bana, re sebelisa sesebelisoa sa rona lilemo tse peli hamorao, ka thuso ea liteko ho li-database tseo re buang ka tsona kajeno, re ka bapisa se neng se le teng le se fetohileng.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me bakeng sa sena re hloka ho theha teko. E na le likarolo tse 'nè.

  • Ea pele ke tikoloho. Re hloka sekhechana sa hardware. 'Me ha ke fihla k'hamphaning e' ngoe 'me ke saena konteraka, ke ba bolella hore ba mphe hardware e tšoanang le ea tlhahiso. Bakeng sa mong le e mong oa Masters a hau, ke hloka bonyane karolo e le 'ngoe ea thepa e kang ena. Mohlomong ona ke mochini o sebetsang oa mohlala ho Amazon kapa Google, kapa ke hloka sekhechana se ts'oanang sa hardware. Ke hore, ke batla ho bopa tikoloho bocha. 'Me mohopolong oa tikoloho re kenyelletsa mofuta o moholo oa Postgres.
  • Karolo ea bobeli ke sepheo sa lipatlisiso tsa rona. Sena ke database. E ka bōptjoa ka litsela tse 'maloa. Ke tla u bontša joang.
  • Karolo ea boraro ke mojaro. Ena ke nako e thata ka ho fetisisa.
  • 'Me karolo ea bone ke seo re se hlahlobang, ke hore na re tla bapisa eng le eng. Ha re re re ka fetola paramente e le 'ngoe kapa ho feta ho config, kapa re ka etsa index, joalo-joalo.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Re thakhola teko. Mona ke pg_stat_statements. Ka ho le letšehali ke se ileng sa etsahala. Ka ho le letona - se etsahetseng.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ka ho le letšehali default_statistics_target = 100, ka ho le letona = 1. Rea bona hore sena se re thusitse. Ka kakaretso, ntho e 'ngoe le e' ngoe e ile ea ntlafala ka 000%.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Empa ha re theolela tlase, ho tla ba le lihlopha tsa likopo tse tsoang ho pgBadger kapa ho tsoa ho pg_stat_statements. Ho na le likhetho tse peli. Re tla bona hore kopo e 'ngoe e theohile ka 88%. 'Me mona ho tla mokhoa oa boenjiniere. Re ka cheka ho ea pele ka hare hobane rea ipotsa hore na ke hobane'ng ha e ile ea teba. U lokela ho utloisisa se etsahetseng ka lipalo-palo. Ke hobane'ng ha libakete tse ngata lipalo-palo li lebisa liphellong tse mpe.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Kapa ha re khone ho cheka, empa etsa "ALTER TABLE ... ALTER COLUMN" 'me u khutlisetse linkho tse 100 lipalo-palo tsa kholomo ena. Mme ka teko e nngwe re ka etsa bonnete ba hore patch ena e thusitse. Tsohle. Ona ke mokhoa oa boenjiniere o re thusang ho bona setšoantšo se seholo le ho etsa liqeto tse thehiloeng ho data ho fapana le ho intuition.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Mehlala e 'maloa e tsoang libakeng tse ling. Ho bile le liteko tsa CI litekong ka lilemo tse ngata. 'Me ha ho projeke kelellong ea eona e nepahetseng e neng e ka phela ntle le liteko tse ikemetseng.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Liindastering tse ling: ka lifofane, indastering ea likoloi, ha re hlahloba aerodynamics, re boetse re na le monyetla oa ho etsa liteko. Re ke ke ra hlahisa ntho e itseng ho tloha setšoantšong ka ho toba sebakeng, kapa re ke ke ra palamisa koloi hang-hang tseleng. Ka mohlala, ho na le kotopo ea moea.

Re ka etsa liqeto ho latela litebello tsa liindasteri tse ling.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Taba ea pele, re na le tikoloho e khethehileng. E haufi le tlhahiso, empa eseng haufi. Tšobotsi ea eona e ka sehloohong ke hore e lokela ho ba theko e tlaase, e ka phetoa hape e le e ikemetseng ka hohle kamoo ho ka khonehang. Hape ho tlameha ho be le lisebelisoa tse khethehileng tsa ho etsa tlhahlobo e qaqileng.

Ho ka etsahala hore ebe ha re qalisa sefofane le ho fofa, re ba le monyetla o fokolang oa ho ithuta millimeter e 'ngoe le e 'ngoe ea lepheo ho feta ha re le kotopong ea moea. Re na le lisebelisoa tse ngata tsa tlhahlobo. Re ka khona ho jara lintho tse boima haholo tseo re ke keng ra khona ho li beha sefofaneng moeeng. Hoa tšoana le ka Postgres. Maemong a mang, re ka lumella ho rema lifate ka botlalo nakong ea liteko. 'Me ha re batle ho etsa sena tlhahisong. Re kanna ra rera ho etsa sena re sebelisa auto_explain.

'Me joalo ka ha ke boletse, boemo bo phahameng ba boiketsetso bo bolela hore re tobetsa konopo ebe re pheta. Ke kamoo e lokelang ho ba kateng, e le hore ho be le liteko tse ngata, e le hore li be teng.

Nancy CLI - motheo oa "laboratori ea database"

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Mme kahoo re entse ntho ena. Ke hore, ke buile ka maikutlo ana ka Phuptjane, hoo e ka bang selemo se fetileng. Mme re se re na le seo ho thoeng ke Nancy CLI ho Open Source. Ona ke motheo oa ho aha laboratori ea database.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Nancy - E fumaneha ho Open Source, ho Gitlab. U ka e bua, u ka e leka. Ke fane ka sehokelo lilaeteng. U ka tobetsa ho eona 'me e tla ba teng Thusa ka litsela tsohle.

Ehlile, ho na le tse ngata tse ntseng li tsoela pele ho ntlafatsoa. Ho na le mehopolo e mengata moo. Empa sena ke ntho eo re e sebelisang hoo e ka bang letsatsi le leng le le leng. 'Me ha re e-na le maikutlo - ke hobane'ng ha re hlakola mela ea 40, kaofela e theohela ho IO, joale re ka etsa tlhahlobo le ho sheba ka ho qaqileng ho utloisisa se etsahalang ebe re leka ho e lokisa ha re ntse re tsamaea. Ke hore re etsa liteko. Ka mohlala, re fetola ntho e itseng ebe re bona se etsahalang qetellong. 'Me ha re etse sena tlhahisong. Sena ke motheo oa mohopolo.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

See se ka sebetsa hokae? Sena se ka sebetsa sebakeng sa heno, ke hore, o ka se etsa kae kapa kae, o ka se tsamaisa le MacBook. Re hloka docker, ha re tsamaee. Ke phetho. U ka e tsamaisa ka nako e 'ngoe ka sekotoana sa Hardware, kapa mochining oa sebele, kae kapa kae.

Hape ho na le monyetla oa ho matha u le hole ho Amazon ho EC2 Instance, libakeng. Mme ona ke monyetla o motle haholo. Mohlala, maobane re entse liteko tse fetang 500 ho mohlala oa i3, ho qala ka e monyane ho qetela ka i3-16-xlarge. Mme liteko tse 500 li re jella $64. E 'ngoe le e 'ngoe e ile ea nka metsotso e 15. Ke hore, ka lebaka la hore mabala a sebelisoa moo, a theko e tlaase haholo - theolelo ea 70%, tefo ea Amazon ka motsotsoana. O ka etsa ho hongata. U ka etsa lipatlisiso tsa 'nete.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me liphetolelo tse tharo tse kholo tsa Postgres lia tšehetsoa. Ha ho thata haholo ho qeta tse ling tsa khale le mofuta o mocha oa 12.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Re ka hlalosa ntho ka litsela tse tharo. Sena:

  • Tlosa / sql faele.
  • Tsela e ka sehloohong ke ho kopanya PGDATA directory. E le molao, e nkiloe ho seva sa "backup". Haeba u na le li-backups tse tloaelehileng tsa binary, u ka etsa li-clones ho tloha moo. Haeba u na le maru, joale ofisi ea leru joalo ka Amazon le Google e tla u etsetsa sena. Ena ke eona tsela ea bohlokoahali ea ho kopanya tlhahiso ea 'nete. Ena ke tsela eo re phutholohang ka eona.
  • 'Me mokhoa oa ho qetela o loketse ho etsa lipatlisiso ha u batla ho utloisisa hore na ntho e sebetsa joang Postgres. Ena ke pgbench. O ka hlahisa o sebelisa pgbench. Ke khetho e le 'ngoe feela ea "db-pgbench". U mo bolelle sekala se fe. 'Me tsohle li tla hlahisoa marung, joalo ka ha ho boletsoe.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Le ho laela:

  • Re ka phethahatsa mojaro ka khoele e le 'ngoe ea SQL. Ena ke tsela ea khale ka ho fetisisa.
  • Mme re ka etsisa mojaro. Mme re ka e etsisa pele ho tsohle ka tsela e latelang. Re hloka ho bokella likutu tsohle. Mme ho bohloko. Ke tla u bontša lebaka. 'Me re sebelisa pgreplay eo re e bapalang, e hahiloeng ho Nancy.
  • Kapa khetho e 'ngoe. Seo ho thoeng ke craft load, eo re e etsang ka boikitlaetso bo itseng. Ha re hlahloba mojaro oa rona oa hona joale tsamaisong ea ntoa, re ntša lihlopha tse phahameng tsa likopo. 'Me re sebelisa pgbench re ka etsisa mojaro ona ka laboratoring.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

  • Ekaba re tlameha ho etsa mofuta o itseng oa SQL, ke hore, re lekola mofuta o mong oa ho falla, ho theha index moo, ho etsa ANALAZE moo. 'Me re sheba se ileng sa etsahala pele ho vacuum le ka mor'a sekheo. Ka kakaretso, SQL efe kapa efe.
  • Re fetola paramente e le 'ngoe kapa ho feta ho config. Re ka re joetsa hore re hlahlobe, mohlala, boleng ba 100 ho Amazon bakeng sa database ea rona ea terabyte. 'Me ka mor'a lihora tse seng kae u tla ba le sephetho. Joalo ka molao, ho tla u nka lihora tse 'maloa ho kenya database ea terabyte. Empa ho na le patch e nts'etsopele, re na le letoto le ka khonehang, ke hore, o ka sebelisa pgdata e ts'oanang ho seva se le seng mme o hlahlobe. Li-postgres li tla qala hape 'me li-cache li tla tsosolosoa. 'Me u ka khanna mojaro.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

  • Bukana e fihla ka bongata ba lifaele tse fapaneng, ho qala ho pg snapshotsboemo***. 'Me ntho e thahasellisang ka ho fetisisa moo ke pg_stat_statements, pg_stat_kcacke. Tsena ke likeketso tse peli tse sekasekang likopo. 'Me pg_stat_bgwriter ha e na lipalo-palo tsa pgwriter feela, empa hape le sebakeng sa tlhahlobo le hore na li-backends ka botsona li tlosa li-buffer tse litšila joang. 'Me ho tsohle tse thahasellisang ho bona. Mohlala, ha re theha shared_buffers, ho khahla haholo ho bona hore na motho e mong le e mong o nkile sebaka se kae.
  • Li-logs tsa postgres le tsona lia fihla. Li-log tse peli - logong ea ho itokisa le lethathamo la ho bapala ka mojaro.
  • Karolo e ncha ke FlameGraphs.
  • Hape, haeba u sebelisitse likhetho tsa pgreplay kapa pgbench ho bapala mojaro, tlhahiso ea bona e tla ba ea tlhaho. 'Me u tla bona latency le TPS. Ho tla khoneha ho utloisisa hore na ba e bone joang.
  • Lintlha tsa tsamaiso.
  • Liteko tsa mantlha tsa CPU le IO. Sena ke sa mohlala oa EC2 ho Amazon, ha u batla ho qala liketsahalo tse 100 tse ts'oanang ka khoele 'me u tsamaise li-run tse 100 tse fapaneng moo, u tla ba le liteko tse 10. 'Me u lokela ho etsa bonnete ba hore ha u kopane le ketsahalo e fosahetseng e seng e ntse e hatelloa ke motho e mong. Ba bang ba sebetsa sekheng sena sa Hardware mme o na le lisebelisoa tse nyane tse setseng. Ho molemo ho lahla liphello tse joalo. 'Me ka thuso ea sysbench ho tloha Alexey Kopytov, re etsa licheke tse' maloa tse khutšoanyane tse tla tla 'me li ka bapisoa le tse ling, ke hore u tla utloisisa hore na CPU e itšoara joang le hore na IO e itšoara joang.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ke mathata afe a tekheniki a ipapisitseng le mohlala oa lik'hamphani tse fapaneng?

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ha re re re batla ho pheta mojaro oa 'nete re sebelisa lifate. Ke mohopolo o motle haeba e ngotsoe ho Open Source pgreplay. Re e sebelisa. Empa hore e sebetse hantle, o tlameha ho lumella ho rema lifate ka botlalo ka liparamente le nako.

Ho na le mathata ka nako le setempe sa nako. Re tla tšolla kichineng ena kaofela. Potso e kholo ke hore na u ka khona ho e reka kapa che?

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

https://gist.github.com/NikolayS/08d9b7b4845371d03e195a8d8df43408

Bothata ke hore e kanna ea se be teng. Pele ho tsohle, o tlameha ho utloisisa hore na ho tla ngoloa molatsoana ofe ho log. Haeba u na le pg_stat_statements, u ka sebelisa potso ena (sehokelo se tla fumaneha lilaeteng) ho utloisisa hore na ke li-byte tse kae tse tla ngoloa motsotsoana.

Re sheba bolelele ba kopo. Re iphapanyetsa taba ea hore ha ho na liparamente, empa re tseba bolelele ba kopo mme rea tseba hore na e entsoe makhetlo a makae ka motsotsoana. Ka tsela ena re ka hakanya hore na ke li-byte tse kae motsotsoana. Re ka 'na ra etsa phoso ka makhetlo a mabeli, empa ka sebele re tla utloisisa taelo ka tsela ena.

Re ka bona hore makhetlo a 802 ka motsotsoana kopo ena e etsoa. 'Me rea bona hore bytes_per sec - 300 kB/s e tla ngoloa ho phaella kapa ho tlosa. 'Me, e le molao, re ka khona ho fana ka phallo e joalo.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Empa! 'Nete ke hore ho na le mekhoa e fapaneng ea ho rema lifate. Mme maemo a kamehla a batho hangata ke "syslog".

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me haeba u na le syslog, joale u ka ba le setšoantšo se kang sena. Re tla nka pgbench, re lumelle ho rema lifate 'me re bone se etsahalang.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ntle le ho rema lifate - ena ke kholomo e ka letsohong le letšehali. Re fumane 161 TPS. Ka syslog - sena se ho Ubuntu 000 ho Amazon, re fumana 16.04 TPS. 'Me haeba re fetohela mekhoeng e meng e 'meli ea ho rema lifate, joale boemo bo molemo haholo. Ke hore, re ne re lebelletse hore e tla theoha, empa eseng ka tekanyo e tšoanang.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me ho CentOS 7, eo koranta e boetse e kopanelang ho eona, ho fetola li-logs hore e be sebopeho sa binary bakeng sa ho batla habonolo, joalo-joalo, joale ke toro e bohloko moo, re oela ka makhetlo a 44 ho TPS.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Mme sena ke seo batho ba phelang le sona. 'Me hangata lik'hamphani, haholo-holo tse kholo, sena se thata haholo ho fetoha. Haeba o ka tloha ho syslog, ka kopo tloha ho eona.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

  • Lekola IOPS le ho ngola phallo.
  • Sheba mokhoa oa hau oa ho rema lifate.
  • Haeba mojaro o lebelletsoeng o le moholo ho feta tekano, nahana ka lisampole.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Re na le pg_stat_statements. Joalokaha ke boletse, e tlameha ebe e teng. 'Me re ka nka le ho hlalosa sehlopha ka seng sa likopo ka tsela e khethehileng ka faele. Ebe re ka sebelisa tšobotsi e bonolo haholo ho pgbench - ona ke bokhoni ba ho kenya lifaele tse 'maloa ka khetho ea "-f".

E utloisisa "-f" haholo. 'Me u ka tseba ka thuso ea "@" qetellong hore na faele ka 'ngoe e lokela ho ba le kabelo efe. Ke hore, re ka re etsa sena ka 10% ea linyeoe, 'me sena ka 20%. Mme sena se tla re atametsa ho seo re se bonang tlhahisong.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Re tla utloisisa joang seo re nang le sona tlhahisong? Kabelo efe, hona joang? Sena se batla se le ka thoko. Re na le sehlahisoa se le seng hape tlhahlobo ea postgres. Hape ke setsi sa Open Source. 'Me hona joale re e ntlafatsa ka mafolofolo.

O hlahile ka mabaka a fapaneng hanyane. Ka mabaka a hore ho beha leihlo ha hoa lekana. Ke hore u tle, u shebe base, u shebe mathata a teng. 'Me, joalo ka molao, u etsa tlhahlobo ea bophelo bo botle. Haeba u DBA ea nang le boiphihlelo, joale u etsa health_check. Re shebile tšebeliso ea li-index, joalo-joalo Haeba u na le OKmeter, joale e kholo. Ena ke tlhahlobo e ntle bakeng sa Postgres. OKmeter.io - ka kopo e kenye, ntho e 'ngoe le e' ngoe e etsoa hantle haholo moo. E lefelletsoe.

Haeba ha u na eona, joale hangata ha u na ho hongata. Ha ho lekoa, hangata ho na le CPU, IO, ebe ka lipehelo, 'me ke phetho. Mme re hloka tse ding. Re hloka ho bona hore na autovacuum e sebetsa joang, hore na tlhahlobo e sebetsa joang, ho io re hloka ho arola sebaka sa tlhahlobo ho tsoa ho bgwriter le ho li-backends, joalo-joalo.

Bothata ke hore ha u thusa k'hamphani e kholo, ha e khone ho kenya tšebetsong ntho e itseng kapele. Ha ba khone ho reka OKmeter kapele. Mohlomong ba tla e reka ka mor'a likhoeli tse tšeletseng. Ha ba khone ho tlisa liphutheloana tse ling kapele.

'Me re ile ra hlahisa maikutlo a hore re hloka sesebelisoa se khethehileng se sa hlokeng hore ho kenngoe letho, ke hore ha ho hlokahale hore u kenye letho ho hang tlhahisong. E kenye ho laptop ea hau, kapa ho seva e shebileng moo u tla e tsamaisa teng. 'Me e tla sekaseka lintho tse ngata: sistimi ea ts'ebetso, sistimi ea faele, le Postgres ka boeona, e etsa lipotso tse bobebe tse ka tsamaisoang ka kotloloho ho tlhahiso mme ha ho letho le tla hloleha.

Re e bitsitse Postgres-checkup. Ka mantsoe a bongaka, sena ke tlhahlobo ea kamehla ea bophelo bo botle. Haeba e le sehlooho sa koloi, joale se tšoana le tlhokomelo. U lokisa koloi ea hau likhoeling tse ling le tse ling tse tšeletseng kapa ka selemo, ho latela mofuta oa koloi. A na u lokisa setsi sa hau? Ke hore, na u etsa lipatlisiso tse tebileng khafetsa? E tlameha ho etsoa. Haeba u etsa li-backups, joale etsa tlhahlobo, sena ha se bohlokoa hakaalo.

'Me re na le sesebelisoa se joalo. E ile ea qala ho hlaha ka mafolofolo feela likhoeling tse tharo tse fetileng. O sa le monyenyane, empa ho na le tse ngata moo.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ho bokella lihlopha tsa lipotso "tse nang le tšusumetso" - tlaleha K003 ho Postgres-checkup

'Me ho na le sehlopha sa litlaleho K. Litlaleho tse tharo ho fihlela joale. Mme ho na le tlaleho e joalo K003. Ho na le top ho tloha pg_stat_statements, e hlophisitsoeng ka total_time.

Ha re hlophisa lihlopha tsa kopo ka total_time, holimo re bona sehlopha se jarisang sistimi ea rona haholo, ke hore, se sebelisa lisebelisoa tse ngata. Hobaneng ke reha lihlopha tsa lipotso? Hobane re lahlile li-parameter. Tsena ha e sa le likopo, empa ke lihlopha tsa likopo, ke hore, ha li koaletsoe.

'Me haeba re ntlafatsa ho tloha holimo ho ea tlase, re tla bebofatsa lisebelisoa tsa rona le ho lieha nako eo re hlokang ho ntlafatsa. Ena ke mokhoa o motle haholo oa ho boloka chelete.

Mohlomong ena hase mokhoa o motle haholo oa ho hlokomela basebelisi, hobane re ka 'na ra se ke ra bona maemo a sa tloaelehang, empa a halefisa haholo moo motho a letileng metsotsoana ea 15. Ka kakaretso, li fumaneha ka seoelo hoo re sa li boneng, empa re sebetsana le lisebelisoa.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ho etsahetseng tafoleng ee? Re nkile linepe tse peli. Postgres_checkup e tla u fa delta bakeng sa metric ka 'ngoe: kakaretso ea nako, mehala, mela, shared_blks_read, joalo-joalo. Ke phetho, delta e baloa. Bothata bo boholo ka pg_stat_statements ke hore ha e hopole hore na e ile ea hlophisoa neng. Haeba pg_stat_database e hopola, joale pg_stat_statements ha e hopole. Ua bona hore ho na le palo ea 1, empa ha re tsebe hore na re balile hokae.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me mona rea ​​tseba, mona re na le linepe tse peli. Rea tseba hore delta tabeng ena e ne e le metsotsoana e 56. Lekhalo le lekgutshwane haholo. Hlophisa ka total_time. 'Me joale re ka khetholla, ke hore, re arola metrics eohle ka nako. Haeba re arola metric ka 'ngoe ka nako, re tla ba le palo ea mehala ka motsotsoana.

E latelang, total_time ka motsotsoana ke metric eo ke e ratang haholo. E lekanyetsoa ka metsotsoana, motsotsoana, ke hore na tsamaiso ea rona e nkile metsotsoana e mekae ho phethahatsa sehlopha sena sa likopo motsotsoana. Haeba u bona ho feta motsotsoana ka motsotsoana moo, ho bolela hore u tlameha ho fana ka lintlha tse fetang tse le 'ngoe. Ena ke metric e ntle haholo. U ka utloisisa hore motsoalle enoa, ka mohlala, o hloka bonyane li-cores tse tharo.

Ena ke tsebo ea rona, ha ke so bone ntho e joalo kae kapa kae. Ka kopo hlokomela - sena ke ntho e bonolo haholo - motsotsoana ka motsotsoana. Ka linako tse ling, ha CPU ea hau e le 100%, ebe halofo ea hora motsotsoana, ke hore, u qetile halofo ea hora u etsa likopo tsena feela.

Ka mor'a moo re bona mela ka motsotsoana. Rea tseba hore na e khutlisitse mela e mekae ka motsotsoana.

'Me joale ho boetse ho na le ntho e thahasellisang. Re bala li-buffers tse kae ka motsotsoana ho tsoa ho li-shared_buffers ka botsona. Li-hits li ne li se li le teng, 'me re nkile mela ho tsoa ho cache ea sistimi ea ts'ebetso kapa ho tsoa ho disk. Khetho ea pele e potlakile, 'me ea bobeli e ka' na ea e-ba kapele kapa e se ke ea e-ba teng, ho itšetlehile ka boemo.

'Me mokhoa oa bobeli oa ho khetholla ke ho arola palo ea likopo sehlopheng sena. Kholomong ea bobeli u tla lula u e-na le potso e le 'ngoe e arotsoeng potso ka 'ngoe. Ebe hoa khahla - hore na kopo ena e ne e le li-milliseconds tse kae. Rea tseba hore na potso ena e sebetsa joang ka karolelano. 101 milliseconds e ne e hlokahala bakeng sa kopo ka 'ngoe. Ena ke metric ea setso eo re hlokang ho e utloisisa.

Ka karolelano, potso ka 'ngoe e khutlisitse mela e mekae? Re bona 8 sehlopha sena se khutla. Ka karolelano, ke bokae bo nkiloeng ho cache 'me ba bala. Re bona hore ntho e 'ngoe le e' ngoe e bolokiloe hantle. Lipitso tse tiileng tsa sehlopha sa pele.

Mme substring ya bone moleng o mong le o mong ke peresente e kae ya kakaretso. Re na le mehala. Ha re re 1. 'Me re ka utloisisa hore na sehlopha sena se fana ka tlatsetso efe. Rea bona hore tabeng ena sehlopha sa pele se kenya letsoho ka tlaase ho 000%. Ke hore e lieha hoo re sa e boneng ka kakaretso. 'Me sehlopha sa bobeli ke 000% ka mehala. Ke hore, 0,01% ea mehala eohle ke sehlopha sa bobeli.

Total_time le eona ea thahasellisa. Re sebelisitse 14% ea kakaretso ea nako ea rona ea mosebetsi sehlopheng sa pele sa likopo. 'Me bakeng sa bobeli - 11%, joalo-joalo.

Ha ke na ho bua ka lintlha, empa ho na le lintho tse poteletseng moo. Re bonts'a phoso ka holimo, hobane ha re bapisa, li-snapshots li ka 'na tsa phaphamala, ke hore, likōpo tse ling li ka' na tsa se ke tsa hlola li e-ba teng ho ea bobeli, ha tse ling tse ncha li ka hlaha. Mme moo re bala phoso. Haeba u bona 0, joale ho lokile. Ha ho liphoso. Haeba sekhahla sa phoso se fihla ho 20%, ho lokile.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Ebe re khutlela sehloohong sa rona. Re tlameha ho lokisa mosebetsi. Re e nka ho tloha holimo ho ea tlase ebe re ea ho fihlela re fihla ho 80% kapa 90%. Hangata sena ke lihlopha tse 10-20. 'Me re etsa lifaele tsa pgbench. Re sebelisa ka tšohanyetso moo. Ka linako tse ling sena, ka bomalimabe, ha se sebetse. 'Me ho Postgres 12 ho tla ba le menyetla e mengata ea ho sebelisa mokhoa ona.

Ebe re fumana 80-90% ka kakaretso_nako ka tsela ena. Ke lokela ho beha eng ka mor'a "@"? Re sheba mehala, re sheba hore na ho na le phaello e kae mme re utloisisa hore re kolota tsoala e kaalo mona. Ho tsoa liphesenteng tsena re ka utloisisa mokhoa oa ho leka-lekanya e 'ngoe le e' ngoe ea lifaele. Ka mor'a moo re sebelisa pgbench ebe re ea mosebetsing.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Re boetse re na le K001 le K002.

K001 ke khoele e le 'ngoe e kholo e nang le likhoele tse nyane tse nne. Ena ke tšobotsi ea mojaro oohle oa rona. Sheba karolo ea bobeli le ea bobeli. Re bona hoo e ka bang metsotsoana e le 'ngoe le halofo ka motsotsoana, ke hore haeba ho na le li-cores tse peli, joale ho tla ba molemo. Ho tla ba le matla a ka bang 75%. 'Me e tla sebetsa tjena. Haeba re na le li-cores tse 10, ka kakaretso re tla khutsa. Ka tsela ena re ka hlahloba lisebelisoa.

K002 ke seo ke se bitsang query classes, ke hore KHETHA, INSERT, UPDATE, DELETE. 'Me ka thoko KHETHA FOR UPDATE, hobane ke senotlolo.

'Me mona re ka fihlela qeto ea hore KHETHA ke babali ba tloaelehileng - 82% ea li-call tsohle, empa ka nako e ts'oanang - 74% ka kakaretso_nako. Ke hore, li bitsoa tse ngata, empa li ja lisebelisoa tse fokolang.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Mme re khutlela potsong: "Re ka khetha joang li-shared_buffers tse nepahetseng?" Ke hlokometse hore lintlha tse ngata li ipapisitse le mohopolo - ha re boneng hore na phello e tla ba efe, ke hore na tlhahiso e tla ba efe. Hangata e lekantsoe ka TPS kapa QPS.

'Me re leka ho nyenyefatsa litšebelisano tse ngata ka motsotsoana ho tloha koloing re sebelisa li-parameter tsa tokiso. Mona ke 311 hantle motsotsoana bakeng sa khetho.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Empa ha ho motho ea khannang ho ea mosebetsing le ho khutlela hae ka lebelo le felletseng. Sena ke bothoto. Hoa tšoana le ka li-database. Ha rea ​​tlameha ho khanna ka lebelo le felletseng, 'me ha ho motho ea etsang joalo. Ha ho motho ea phelang tlhahiso, e nang le 100% CPU. Leha ho le joalo, mohlomong ho na le motho ea phelang, empa sena ha se molemo.

Maikutlo ke hore hangata re khanna ka liperesente tse 20 tsa matla, ka ho khetheha e se ke ea feta 50%. 'Me re leka ho ntlafatsa nako ea karabo bakeng sa basebelisi ba rona ho feta tsohle. Ke hore, re tlameha ho fetola likonopo tsa rona hore ho be le bonyane latency ka lebelo la 20%, ka maemo. Ena ke mohopolo oo re lekang ho o sebelisa le litekong tsa rona.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

'Me qetellong, litlhahiso:

  • Etsa bonnete ba hore u etsa Database Lab.
  • Haeba ho khoneha, e etse ka tlhokahalo e le hore e ka phutholoha nakoana - bapala 'me u e lahle. Haeba u na le maru, joale sena se tsamaea ntle le ho bua, ke hore, ho ba le boemo bo bongata.
  • E-ba le thahasello ea ho tseba. 'Me haeba ho hong ho phoso, joale hlahloba ka liteko hore na e itšoara joang. Nancy e ka sebelisoa ho ikoetlisa ho lekola hore na setsi se sebetsa joang.
  • 'Me u ikemisetse ho fumana bonyane nako ea karabo.
  • Hape u se ke ua tšaba mehloli ea Postgres. Ha o sebetsa le mehloli, o tlameha ho tseba Senyesemane. Ho na le maikutlo a mangata moo, ntho e 'ngoe le e' ngoe e hlalosoa moo.
  • 'Me u hlahlobe bophelo bo botle ba database kamehla, bonyane hang ka mor'a likhoeli tse tharo, ka letsoho, kapa Postgres-checkup.

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Lipotso

Ke leboha haholo! Ntho e khahlisang haholo.

Likotoana tse peli.

E, likotoana tse peli. Feela ke ne ke sa utloisise hantle. Ha 'na le Nancy re sebetsa, na re ka fetola paramente e le 'ngoe kapa sehlopha kaofela?

Re na le delta config parameter. U ka retelehela moo ka hohle kamoo u batlang ka nako e le 'ngoe. Empa u lokela ho utloisisa hore ha u fetola lintho tse ngata, u ka etsa liqeto tse fosahetseng.

Ee. Ke hobane'ng ha ke ile ka botsa? Hobane ho thata ho etsa liteko ha u na le parameter e le 'ngoe feela. U e tiisa, u bone kamoo e sebetsang kateng. Ke mo ntshitse. Ebe u qala e latelang.

U ka e tiisa ka nako e le 'ngoe, empa ho itšetlehile ka boemo, ho hlakile. Empa ho molemo ho leka mohopolo o le mong. Re bile le mohopolo maobane. Re ne re e-na le boemo bo haufi haholo. Ho ne ho e-na le li-configs tse peli. Mme re ne re sa utloisise hore na ke hobane'ng ha ho ne ho e-na le phapang e khōlō. Mme ho ile ha hlaha mohopolo oa hore o hloka ho sebelisa dichotomy ho utloisisa le ho fumana hore na phapang ke efe. Hang-hang u ka etsa halofo ea mekhahlelo e ts'oanang, joale kotara, joalo-joalo Ntho e 'ngoe le e' ngoe e fetoha.

Mme ho na le potso e nngwe hape. Morero o mocha ebile o ntse o tsoela pele. Litokomane li se li loketse, na ho na le tlhaloso e qaqileng?

Ka ho khetheha ke entse sehokelo moo ho tlhaloso ea li-parameter. E teng. Empa lintho tse ngata ha li e-so be teng. Ke batla batho ba likelello tse tšoanang. 'Me ke ba fumana ha ke etsa. Sena se monate haholo. Motho e mong o se a ntse a sebetsa le 'na, motho e mong o ile a thusa' me a etsa ho hong moo. 'Me haeba u thahasella sehlooho sena, fana ka maikutlo mabapi le se sieo.

Hang ha re aha laboratori, mohlomong ho tla ba le maikutlo. Ha re bone. Kea leboha!

Lumela! Re leboha tlaleho! Ke bone hore ho na le tšehetso ea Amazon. Na ho na le merero ea ho tšehetsa GSP?

Potso e ntle. Re ile ra qala ho e etsa. 'Me re e hatselitse hajoale hobane re batla ho boloka chelete. Ke hore, ho na le ts'ehetso ho sebelisa run on localhost. U ka iketsetsa mohlala le ho sebetsa sebakeng sa heno. Ka tsela, ke seo re se etsang. Ke etsa sena Getlab, mane GSP. Empa ha re bone ntlha ea ho etsa 'mino o joalo feela, hobane Google ha e na libaka tse theko e tlaase. Ho na le ??? maemo, empa a na le mefokolo. Taba ea pele, ba lula ba e-na le theolelo ea 70% feela 'me u ke ke ua bapala ka theko moo. Ka matheba, re eketsa theko ka 5-10% ho fokotsa monyetla oa hore o tla raha. Ke hore, u boloka matheba, empa a ka tlosoa ho uena ka nako leha e le efe. Haeba u etsa kopo e phahameng ho feta ba bang, u tla bolaoa hamorao. Google e na le lintlha tse fapaneng ka ho felletseng. 'Me ho na le moeli o mong o mobe haholo - ba phela lihora tse 24 feela. 'Me ka linako tse ling re batla ho etsa liteko matsatsi a 5. Empa o ka etsa sena ka matheba; ka linako tse ling matheba a nka likhoeli.

Lumela! Re leboha tlaleho! U boletse tlhahlobo. U bala liphoso tsa stat_statements joang?

Potso e ntle haholo. Nka u bontša le ho u bolella ka botlalo. Ka bokhutšoanyane, re sheba kamoo sehlopha sa lihlopha tsa kopo se phaphametseng kateng: ke ba bakae ba oeleng le hore na ke ba bakae ba bacha ba hlahileng. Ebe re sheba metrics tse peli: total_time le call, kahoo ho na le liphoso tse peli. 'Me re sheba tlatsetso ea lihlopha tse phaphametseng. Ho na le lihlotšoana tse peli: ba tlohileng le ba fihlileng. A re boneng hore na tlatsetso ea bona ke efe setšoantšong se akaretsang.

Na ha u tšabe hore e tla retelehela moo makhetlo a mabeli kapa a mararo nakong e pakeng tsa linepe?

Ke hore ba ile ba boela ba ngolisa kapa joang?

Mohlala, kopo ena e se e kile ea etsoa hanngoe, joale e ile ea tla 'me ea e-ba teng hape, ea tla hape' me ea etelloa hape. Mme o badile ho hong mona, mme tsohle di hokae?

Potso e ntle, re tla tlameha ho sheba.

Ke ile ka etsa ntho e tšoanang. E ne e le bonolo, ehlile, ke e entse ke le mong. Empa ke ile ka tlameha ho seta botjha, ke seta botjha stat_statements le ho fumana ka nako ya senepe hore ho ne ho na le karolo e ka tlase ho karolo e itseng, e neng e ntse e eso fihlele siling ya hore na stat_statements e ka bokellwa hakae moo. 'Me kutloisiso ea ka ke hore, mohlomong, ha ho letho le ileng la tlosoa.

Ee E.

Empa ha ke utloisise hore na nka e etsa joang hape ka botšepehi.

Ka bomalimabe, ha ke hopole hantle hore na re sebelisa mongolo oa potso moo kapa potso e nang le pg_stat_statements ebe re tsepamisa maikutlo ho eona. Haeba re tsepamisa maikutlo ho queryid, joale ka khopolo re bapisa lintho tse tšoanang.

Che, a ka qobelloa ho tsoa ka makhetlo a 'maloa pakeng tsa li-snapshots' me a tla hape.

Ka id e tšoanang?

E.

Re tla ithuta sena. Potso e ntle. Re lokela ho ithuta eona. Empa hajoale, seo re se bonang se ngotsoe 0 ...

Ehlile, ke taba e sa tloaelehang, empa ke ile ka makala ha ke fumana hore stat_statemetns e ka falla moo.

Ho ka ba le lintho tse ngata ho Pg_stat_statements. Re fumane taba ea hore haeba u na le track_utility = on, joale li-sete tsa hau le tsona lia lateloa.

Ho joalo.

'Me haeba u na le java hibernate, e leng ntho e sa tloaelehang, joale tafole ea hash e qala ho ba teng moo. 'Me hang ha u tima kopo e tletseng haholo, u qetella u e-na le lihlopha tse 50-100. Mme ntho e nngwe le e nngwe e batla e tsitsa moo. Tsela e 'ngoe ea ho loantša sena ke ho eketsa pg_stat_statements.max.

E, empa u hloka ho tseba hore na ke bokae. 'Me ka tsela e itseng re lokela ho mo beha leihlo. Ke seo ke se etsang. Ke hore, ke na le pg_stat_statements.max. 'Me ke bona hore ka nako ea snapshot ke ne ke sa fihla 70%. Ho lokile, kahoo ha rea ​​lahleheloa ke letho. Ha re setang bocha. Mme re boloka hape. Haeba senepe se latelang se ka tlase ho 70, mohlomong ha o so lahleheloe ke letho hape.

Ee. E sa feleng e se e le 5. 'Me sena se lekane batho ba bangata.

Hangata ho joalo.

Video:

PS Lebitsong la ka, ke tla eketsa hore haeba Postgres e na le data ea lekunutu 'me e ke ke ea kenyelletsoa tikolohong ea liteko, u ka e sebelisa. PostgreSQL Anonymizer. Sekema se batla se le tjena:

Mokhoa oa indasteri oa tokiso ea PostgreSQL: liteko ho database." Nikolay Samokhvalov

Source: www.habr.com

Eketsa ka tlhaloso