He huarahi ahumahi ki te whakatika i te PostgreSQL: nga whakamatautau me nga papaa raraunga. Nikolay Samokhvalov

Ka kii ahau kia panui koe i te tuhinga o te purongo a Nikolai Samokhvalov "Te huarahi ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga"

Shared_buffers = 25% – he nui, he iti ranei? He tika ranei? Me pehea koe e mohio ai mena he tika tenei - he mea tawhito - he mea tika mo to keehi?

Kua tae ki te wa ki te whakatata ki te take o te kowhiri i nga tawhā postgresql.conf "penei i te pakeke." Ehara i te awhina a matapo "auto tuners" he tohutohu tawhito mai i nga tuhinga me nga blogs, engari i runga i:

  1. Ko nga whakamatautau kua tino whakamanahia i runga i nga papaa raraunga, ka mahia aunoa, i roto i nga rahinga nui me nga tikanga e tata ana ki te "whawhai" i nga mea,
  2. te tino mohio ki nga ahuatanga o te DBMS me te OS.

Ma te whakamahi i a Nancy CLI (https://gitlab.com/postgres.ai/nancy), ka titiro tatou ki tetahi tauira motuhake - nga shared_buffers rongonui - i roto i nga ahuatanga rereke, i roto i nga kaupapa rereke me te ngana ki te whakaaro me pehea te whiriwhiri i te waahi tino pai mo o taatau hanganga, papaa raraunga me te utaina.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Ka korero tatou mo nga whakamatautau me nga papaa raraunga. He korero tenei mo te ono marama te roa.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

He iti mo au. He wheako me nga Postgres neke atu i te 14 tau. He maha nga kamupene whatunga hapori kua whakatuu. I whakamahia a Postgres ki nga waahi katoa.

Ko te roopu RuPostgres ano hoki mo te Huihuinga, te waahi tuarua o te ao. Kei te ata tata matou ki te 2 tangata. RuPostgres.org.

A, i nga PC o nga huihuinga rereke, tae atu ki te Highload, kei ahau te kawenga mo nga papaunga raraunga, ina koa ko Postgres mai i te timatanga.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

A i roto i nga tau tata nei, kua timata ano ahau i taku mahi tohutohu a Postgres 11 nga waahi waahi mai i konei.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

A, i taku mahi i tenei i etahi tau ki muri, kua pakaru au i nga mahi a-ringa kaha me Postgres, mai i te tau 2010 pea. I miharo ahau ki te iti o te whakarereketanga o nga mahinga mahi o te DBA, me te nui o nga mahi a-ringa hei whakamahi. Na ka whakaaro tonu ahau kua he tetahi mea i konei, me whakaaunoa au i nga mea katoa.

A, i te mea he mamao katoa, ko te nuinga o nga kaihoko kei nga kapua. A he maha kua oti te mahi aunoa, ma te marama. Ake ake mo tenei. Arā, ko enei mea katoa i puta mai te whakaaro kia maha nga taputapu, ara, etahi momo papa ka whakaaunoa tata ki nga mahi DBA katoa kia taea ai te whakahaere i te maha o nga papaa raraunga.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Karekau tenei purongo e whai:

  • “Matā hiriwa” me nga korero penei - whakaritea te 8 GB ranei 25% shared_buffers ka pai koe. Kare e nui te korero mo shared_buffers.
  • Hardcore "roto".

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Ka ahatia?

  • Ka puta nga maataapono arotautanga ka whakamahia, ka whanakehia e tatou. Ka puta nga momo whakaaro katoa i runga i te huarahi me nga momo taputapu ka hangaia e matou mo te nuinga o te waahanga i roto i te Open Source, ara, ka hangaia e matou te turanga i roto i te Open Source. I tua atu, kei a matou nga tikiti, ko nga korero katoa ko te Open Source. Ka taea e koe te kite he aha ta matou e mahi nei, he aha nga mea ka puta i te tukunga e whai ake nei, etc.
  • Ka whai wheako ano ki te whakamahi i enei maataapono, enei taputapu i roto i te maha o nga kamupene: mai i nga timatanga iti ki nga kamupene nui.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

He pehea te whakawhanaketanga o tenei katoa?

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Tuatahi, ko te mahi matua a te DBA, hei taapiri atu ki te whakarite i te hanganga o nga tauira, te whakatakotoranga o nga taapiri, me era atu, ko te rapu i nga kaapapa me te arotau i nga mahi.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Inaianei kua whakaritea penei. Ka titiro matou ki te aroturuki, ka kite matou i tetahi mea, engari kei te ngaro etahi korero. Ka timata taatau ki te keri pai, ko te nuinga o nga ringaringa, me te mohio ki te mahi ki tetahi huarahi.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

A e rua nga huarahi. Ko nga Pg_stat_statements te otinga taunoa mo te tautuhi i nga patai puhoi. Me te tātaritanga o nga raarangi Postgres ma te whakamahi pgBadger.

Ko ia huarahi he tino ngoikoretanga. I te huarahi tuatahi, kua maka atu e matou nga tawhā katoa. A, ki te kite tatou i nga roopu SELECT * FROM tepu e rite ana te pou ki te "?" "$" ranei mai i te Postgres 10. Kaore matou e mohio mena he tohu tohu tenei, he karapa seq ranei. Ka whakawhirinaki nui ki te tawhā. Mena ka whakakapihia e koe he uara kare e kitea ana ki reira, he karapa taurangi. Mena ka whakakapihia e koe tetahi uara e noho ana i te 90% o te tepu i reira, ka kitea te matawai o muri, na te mea e mohio ana a Postgres ki nga tatauranga. A he raru nui tenei o nga pg_stat_statements, ahakoa kei te haere tonu etahi mahi.

Ko te tino kino o te tātari rangitaki ko te kore e taea e koe te utu "log_min_duration_statement = 0" hei tikanga. A ka korero ano tatou mo tenei. No reira, kaore koe e kite i te pikitia katoa. A ko etahi patai, he tere rawa, ka pau pea te nui o nga rauemi, engari kaore koe e kite na te mea kei raro i to paepae.

Me pehea nga DBA e whakaoti rapanga ka kitea e ratou?

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Hei tauira, i kitea e matou etahi raruraru. He aha te nuinga o te mahi? Mena he kaiwhakawhanake koe, katahi ka mahi koe i tetahi mea kaore i te rite te rahi. Mena he DBA koe, katahi ka whai waahi koe. Na kotahi anake ka taea. A e ono marama i muri mai. A ka whakaaro koe ka haere koe ki te whakaputa. A tae noa ki nga DBA mohio ka tirotirohia te mahi, i runga i te tauira. A ka tupu ka hangaia e ratou he tohu mo te wa poto, kia mohio kei te awhina, ka tukuna ka hoatu ki nga kaihanga kia taea ai e ratou te whakauru ki roto i nga konae heke. Koia nei te ahua poauau e tupu nei. A he raruraru tenei.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

  • Whakaritenga oro.
  • Arotauhia te huinga taupū.
  • Hurihia te uiui SQL ake (koinei te tikanga tino uaua).
  • Tāpirihia te kaha (ko te huarahi ngawari ki te nuinga o nga keehi).

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

He maha nga mahi e pa ana ki enei mea. He maha nga kakau kei Postgres. He nui te mohio. He maha nga tohu i roto i te Postgres, he mihi ano ki nga kaiwhakarite o tenei hui. A ko enei mea katoa e tika ana kia mohiohia, koinei te ahua o nga DBA-kore e mahi ana i nga mahi makutu pango. Arā, me ako koe mo nga tau 10 kia mohio ai koe ki enei mea katoa.

A he tangata whawhai ahau ki tenei makutu pango. Kei te pirangi ahau ki te mahi i nga mea katoa kia puta he hangarau, kaore hoki he mohiotanga i roto i enei mea katoa.

Ko nga tauira o te ora tonu

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

I kite ahau i tenei i roto i nga kaupapa e rua neke atu, me taku ake. Ko tetahi atu pou rangitaki e kii ana he pai te uara o te 1 mo te default_statistict_target. Kaati, me whakamatau i roto i te hanga.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Na, kei konei matou, ma te whakamahi i ta maatau taputapu i nga tau e rua i muri mai, me te awhina o nga whakamatautau i runga i nga papaa raraunga e korerohia ana i tenei ra, ka taea e taatau te whakataurite i te waa me te aha kua puta.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Na mo tenei me hanga he whakamatautau. E wha nga wahanga.

  • Ko te tuatahi ko te taiao. Kei te hiahia tatou i tetahi taputapu taputapu. A, ka tae mai ahau ki etahi kamupene ka haina i tetahi kirimana, ka kii atu ahau ki a ratou kia homai ki ahau nga taputapu rite ki te hanga. Mo ia Kaiwhakaako, me kotahi te iti rawa o nga taputapu penei. He miihini mariko tenei i Amazon, i a Google ranei, kei te hiahia au kia rite tonu te taputapu. Arā, kei te pirangi au ki te hanga ano i te taiao. Na i roto i te kaupapa o te taiao ka whakauruhia e matou te waahanga nui o Postgres.
  • Ko te waahanga tuarua ko te kaupapa o ta maatau rangahau. He pātengi raraunga tēnei. Ka taea te hanga i roto i nga huarahi maha. Ka whakaatu ahau ki a koe me pehea.
  • Ko te wahanga tuatoru ko te kawenga. Koinei te waa tino uaua.
  • A ko te wahanga tuawha ko ta tatou e tirotiro, ara, he aha ta tatou e whakataurite ki te aha. Me kii ka taea e tatou te huri i tetahi, neke atu ranei nga tawhā i roto i te whirihora, ka taea ranei te hanga taurangi, aha atu.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Kei te whakarewahia e matou he whakamatautau. Anei nga pg_stat_statements. Kei te taha maui te mea i tupu. I te taha matau - he aha te mea i tupu.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Kei te taha maui default_statistics_target = 100, kei te taha matau =1. Ka kite matou na tenei i awhina i a matou. I te katoa, i pai ake nga mea katoa ma te 000%.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Engari ki te panuku ki raro, tera ano nga roopu tono mai i pgBadger mai i pg_stat_statements ranei. E rua nga whiringa. Ka kite tatou kua heke iho etahi tono ma te 88%. Na ka tae mai te huarahi miihini. Ka taea e tatou te keri atu ki roto na te mea e miharo ana tatou he aha i totohu ai. Me mohio koe ki nga mea i pa ki nga tatauranga. He aha te nui ake o nga peere i roto i nga tatauranga ka kino ake nga hua.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Kaore ranei e taea e tatou te keri, engari me mahi "ALTER TABLE ... ALTER COLUMN" ka whakahoki 100 peere ki nga tatauranga o tenei pou. Na me tetahi atu whakamatautau ka taea e maatau te mohio kua awhina tenei papaki. Katoa. He huarahi hangarau tenei hei awhina i a maatau ki te kite i te ahua nui me te whakatau i runga i nga raraunga kaore i runga i te maarama.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Ko etahi tauira mai i etahi atu waahi. He maha nga tau kua whakamatauhia nga whakamatautau CI. A kaore he kaupapa i roto i tona hinengaro tika e ora ki te kore he whakamatautau aunoa.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

I roto i etahi atu ahumahi: i roto i te rererangi, i roto i te ahumahi automotive, ka whakamatautauhia e matou te aerodynamics, ka whai waahi ano matou ki te mahi whakamatautau. E kore matou e whakarewa i tetahi mea mai i te tuhi tika ki te waahi, karekau ranei e mau tonu i etahi waka ki runga i te ara. Hei tauira, he kauhanga hau.

Ka taea e taatau te whakatau mai i nga tirohanga o etahi atu ahumahi.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Tuatahi, he taiao motuhake to tatou. He tata ki te hanga, engari kaore i te tata. Ko te mea nui ko te utu, ka taea te whakahoki me te mahi aunoa. A me whai taputapu motuhake mo te whakahaere i nga tātaritanga taipitopito.

Ko te mea pea, ina whakarewahia he waka rererangi me te rere, he iti ake te whai waahi ki te ako i ia mirimita o te mata o te parirau i to tatou i roto i te kauhanga hau. He maha atu nga taputapu tātaritanga. Ka taea e tatou te kawe i nga mea taumaha e kore e taea e tatou te kawe ki runga i te waka rererangi i te rangi. He rite ano ki nga Postgres. Ka taea e matou, i etahi wa, te whakaahei i te katoa o te takiuru patai i nga wa o nga whakamatautau. A kaore matou e pai ki te mahi i tenei i roto i te whakaputa. Ka whakamahere pea maatau ki te whakahohe i tenei ma te whakamahi auto_explain.

Ka rite ki taku korero, ko te taumata teitei o te automation te tikanga ka pehi tatou i te paatene ka whakahoki ano. Me penei, kia nui te whakamatautau, kia noho ki runga i te awa.

Nancy CLI - te turanga o te "taiwhanga raraunga"

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Na ka mahia e matou tenei mahi. Arā, i kōrero au mō ēnei whakaaro i te marama o Hune, tata ki te kotahi tau ki muri. Na kei a matou ano te mea e kiia nei ko Nancy CLI i Open Source. Koinei te tūāpapa mō te hanga taiwhanga pātengi raraunga.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Nancy — Kei te Open Source, kei Gitlab. Ka taea e koe te kii, ka taea e koe te whakamatau. I hoatu e ahau he hononga ki nga kiriata. Ka taea e koe te paato i runga ka noho ki reira tauturu i i roto i nga ahuatanga katoa.

Ko te tikanga, he maha tonu te whakawhanaketanga. He maha nga whakaaro kei reira. Engari he mea tenei e whakamahia ana e matou i nga ra katoa. A, ka whai whakaaro tatou - he aha te mea ka mukua e tatou nga rarangi 40, ka heke katoa ki te IO, katahi ka taea e tatou te whakahaere i tetahi whakamatautau me te tirotiro i nga korero mo te mohio ki nga mea kei te tupu katahi ka ngana ki te whakatika i runga i te rere. Arā, kei te mahi whakamātau. Hei tauira, ka takawiri tatou i tetahi mea ka kite i nga mea ka puta i te mutunga. A e kore matou e mahi i tenei i roto i te hanga. Koinei te tino o te whakaaro.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Kei hea tenei mahi? Ka taea te mahi i te rohe, ara, ka taea e koe ki hea, ka taea e koe te whakahaere i runga i te MacBook. Kei te hiahia matou he kaitautoko, me haere. Heoi ano. Ka taea e koe te whakahaere i etahi wa i runga i tetahi taputapu, i roto ranei i te miihini mariko, ki hea.

A tera ano te whai waahi ki te rere mamao i Amazon i roto i te EC2 Instance, i nga waahi. A he waahi tino pai tenei. Hei tauira, inanahi nei i whakahaeretia e matou neke atu i te 500 nga whakamatautau mo te tauira i3, timata mai i te mea iti ka mutu ki te i3-16-xlarge. A e 500 nga whakamatautau ka pau te $64. 15 meneti te roa o ia meneti. Arā, na te mea kei te whakamahia nga waahi ki reira, he iti rawa te utu - he 70% hekenga, ko te nama mo ia-tuarua a Amazon. Ka taea e koe te mahi nui. Ka taea e koe te mahi rangahau pono.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

A e toru nga waahanga nui o Postgres e tautokohia ana. Ehara i te mea uaua ki te whakaoti i etahi o nga mea tawhito me te putanga 12 hou ano hoki.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Ka taea e tatou te tautuhi i tetahi mea ma nga huarahi e toru. Tenei:

  • Putunga/sql kōnae.
  • Ko te huarahi matua ko te kati i te whaiaronga PGDATA. Hei tikanga, ka tangohia mai i te tūmau pūrua. Mēnā he pūrua ā-rua noa koe, ka taea e koe te hanga irama mai i reira. Mena kei a koe nga kapua, na te tari kapua pera i a Amazon me Google ka mahi maau. Koinei te huarahi tino nui ki te whakakao i nga mahi tuturu. Koinei te ahua o to maatau korero.
  • A ko te tikanga whakamutunga e tika ana mo te rangahau ina hiahia koe ki te mohio me pehea te mahi o tetahi mea i Postgres. Ko pgbench tenei. Ka taea e koe te whakaputa ma te whakamahi pgbench. Kotahi noa te waahanga "db-pgbench". Ka korerotia e koe he aha te tauine. A ka hangaia nga mea katoa i roto i te kapua, pera i te korero.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Me te utaina:

  • Ka taea e taatau te kawe i te uta ki tetahi miro SQL. Koinei te huarahi tino tuatahi.
  • A ka taea e tatou te whai i te kawenga. A ka taea e tatou te pee i te tuatahi o nga mea katoa i roto i te huarahi e whai ake nei. Me kohikohi katoa nga poro. A he mamae. Ka whakaatu ahau ki a koe he aha. Ma te whakamahi i te pgreplay ka takaro matou, ka hangaia ki a Nancy.
  • Ko tetahi atu whiringa ranei. Ko te mea e kiia nei ko te utaina toi, e mahia ana e matou me te whakapau kaha. Ma te tātari i a maatau kawenga o naianei mo te punaha whawhai, ka tangohia e matou nga roopu o runga o nga tono. Ma te whakamahi i te pgbench ka taea e taatau te peehi i tenei kawenga i roto i te taiwhanga.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

  • Me mahi ano tatou i etahi momo SQL, ara, ka tirohia e tatou etahi momo hekenga, hanga he taurangi ki reira, mahia te ANALAZE ki reira. A ka titiro tatou ki nga mea i tupu i mua i te waatea me muri i te waatea. I roto i te whānui, tetahi SQL.
  • Ka huri tatou i tetahi, neke atu ranei nga tawhā i roto i te whirihora. Ka taea e matou te korero ki a maatau ki te tirotiro, hei tauira, 100 uara i Amazon mo to maatau paataka terabyte. A i roto i etahi haora ka whai hua koe. Ka rite ki te tikanga, he maha nga haora ka roa koe ki te tuku i te paataka raraunga terabyte. Engari he papaki kei roto i te whakawhanaketanga, kei a maatau he raupapa ka taea, ara ka taea e koe te whakamahi i nga pgdata kotahi i runga i te tūmau kotahi me te tirotiro. Ka timata ano nga Postgres ka tautuhi ano nga keteroki. A ka taea e koe te peia te kawenga.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

  • Ka tae mai he whaiaronga me nga momo konae rereke, timata mai i nga whakaahua pgkāwanatanga***. Ko te mea tino pai ko pg_stat_statements, pg_stat_kcacke. E rua enei toronga e tātari ana i nga tono. Na kei roto i te pg_stat_bgwriter ehara i te tatauranga pgwriter anake, engari kei runga ano hoki i te waahi tirotiro me te pehea o nga tuara ki te neke atu i nga kaipara paru. A he mea whakamere katoa te kite. Hei tauira, i te wa i whakarite ai matou i nga shared_buffers, he mea tino pai ki te kite i te nui o te whakakapinga a te katoa.
  • Kei te tae mai ano nga raarangi poutini. E rua nga raarangi - he raarangi whakarite me tetahi raarangi purei kawenga.
  • He ahuatanga hou ko FlameGraphs.
  • Ano, ki te whakamahia e koe nga whiringa pgreplay, pgbench ranei mo te takaro i te kawenga, katahi ka puta mai to raatau putanga. A ka kite koe i te torohūtanga me te TPS. Ka taea te mohio me pehea i kite ai ratou.
  • Nga korero a te punaha.
  • Nga arowhai PTM me te IO. He nui ake tenei mo te tauira EC2 i Amazon, ina hiahia koe ki te whakarewa i nga tauira 100 i roto i te miro me te whakahaere 100 rereke rereke ki reira, katahi ka 10 nga whakamatautau. A me tino mohio koe kia kore koe e pa ki tetahi tauira koha e pehia ana e tetahi. Ko etahi atu kei te kaha ki runga i tenei taputapu, he iti noa nga rauemi e toe ana. He pai ake te whakakore i nga hua penei. Na me te awhina o te sysbench mai i a Alexey Kopytov, ka mahia e matou etahi arowhai poto ka tae mai ka taea te whakataurite ki etahi atu, ara ka mohio koe ki te mahi a te PTM me te mahi a te IO.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

He aha nga raruraru hangarau i runga i te tauira o nga kamupene rereke?

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Me kii e hiahia ana tatou ki te whakahoki ano i te tino kawenga ma te whakamahi rakau. He whakaaro pai mena ka tuhia ki runga Open Source pgreplay. Ka whakamahia e matou. Engari kia pai ai te mahi, me whakaahei koe ki te whakauru i nga tawhā me te wa.

He raruraru kei te roa me te tohu waahi. Ka pau tenei kihini katoa. Ko te patai matua mena ka taea e koe te utu, kaore ranei?

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

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

Ko te raru ko te kore pea e waatea. Tuatahi, me mohio koe he aha te awa ka tuhia ki te poro. Mena kei a koe nga pg_stat_statements, ka taea e koe te whakamahi i tenei patai (ka waatea te hono ki nga kiriata) kia mohio ai koe ki te maha o nga paita ka tuhia mo ia hekona.

Ka tirohia te roa o te tono. Kei te warewarehia te meka karekau he tawhā, engari e mohio ana matou ki te roa o te tono ka mohio matou e hia nga wa mo ia hekona i mahia ai. Ma tenei ka taea e tatou te whakatau tata ki te maha o nga paita mo ia hekona. Ka rua pea te hapa o taatau, engari ka tino marama taatau ki te ota penei.

Ka kite tatou e 802 nga wa mo ia hekona ka mahia tenei tono. A ka kite tatou ko nga paita_ia hekona - 300 kB/s ka tuhia te taapiri, te iti ranei. A, hei tikanga, ka taea e tatou te utu i taua rere.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Engari! Ko te meka he rereke nga punaha takiuru. A ko te taunoa a te tangata ko te "syslog".

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

A, ki te whai koe i te syslog, tera pea kei a koe he pikitia penei. Ka tangohia e matou te pgbench, ka taea te takiuru uiui ka kite ka ahatia.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Karekau he takiuru - koinei te pou kei te taha maui. I whiwhi matou 161 TPS. Ma te syslog - kei Ubuntu 000 tenei i runga i Amazon, ka whiwhi tatou i te 16.04 TPS. A, ki te huri tatou ki etahi atu tikanga takiuru e rua, katahi ka pai ake te ahuatanga. Arā, i tumanako matou ka heke iho, engari karekau e rite.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

A, i runga i te CentOS 7, ka uru ano te hautaka, ka huri i nga raarangi ki te whakatakotoranga takirua mo te rapu ngawari, me etahi atu, katahi he moemoea kino ki reira, ka heke 44 nga wa i roto i te TPS.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

A koinei te noho a te tangata. A he maha nga wa i roto i nga kamupene, ina koa nga mea nui, he tino uaua tenei ki te whakarereke. Mena ka taea e koe te mawehe atu i te syslog, tena koa mawehe atu.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

  • Aromātai IOPS me te tuhi rerenga.
  • Tirohia to punaha takiuru.
  • Mēnā he nui rawa atu te uta i matapaetia, whakaarohia te tauira.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Kei a matou nga pg_stat_statements. Ka rite ki taku korero, me noho tonu. A ka taea e matou te tango me te whakaahua i ia roopu tono i roto i tetahi huarahi motuhake i roto i te konae. Na ka taea e taatau te whakamahi i tetahi waahanga tino watea ki te pgbench - koinei te kaha ki te whakauru i nga konae maha ma te whakamahi i te "-f" kōwhiringa.

Kei te mohio ki te maha o "-f". A ka taea e koe te korero me te awhina o "@" i te mutunga he aha te wahanga o ia konae. Arā, ka taea e tatou te kii ka mahia tenei i roto i te 10% o nga keehi, me tenei i te 20%. Na tenei ka whakatata atu tatou ki nga mea e kitea ana e tatou i roto i nga mahi whakaputa.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Me pehea tatou e mohio ai he aha ta tatou i roto i te whakaputa? He aha te wahanga me pehea? He ahua kee tenei. He hua ano ta matou postgres-checkup. He turanga ano kei Open Source. Na kei te kaha tonu taatau ki te whakawhanake.

I whanau ia mo etahi take rereke. Mo nga take kaore e ranea te aroturuki. Arā, haere mai koe, tirohia te turanga, tirohia nga raruraru e noho nei. A, hei tikanga, ka mahi koe i te hauora_tirotiro. Mena he tohunga mohio koe ki te DBA, katahi koe ka mahi hauora_tiro. I titiro matou ki te whakamahi i nga tohu tohu, me etahi atu. Mena kei a koe te OKmeter, he pai. He tirohanga pai tenei mo Postgres. OKmeter.io - tena koa whakauruhia, he pai nga mahi katoa ki reira. Kua utua.

Mena karekau he kotahi, karekau he nui i a koe. I roto i te aro turuki, i te nuinga o te waa he PTM, IO, katahi me nga rahui, katahi ano. A me nui ake ano taatau. Me kite tatou me pehea te mahi a te autovacuum, me pehea te mahi o te waahi tirotiro, i roto i te io me wehe te waahi tirotiro mai i te bgwriter me nga tuara, etc.

Ko te raruraru ka awhina koe i tetahi kamupene nui, kaore e taea e raatau te whakatinana tere. Kaore e taea e ratou te hoko tere i te OKmeter. Tera pea ka hokona e ratou i roto i te ono marama. Kaore e taea e ratou te tuku tere i etahi kete.

Na ka puta mai te whakaaro e hiahia ana matou ki tetahi taputapu motuhake kaore e hiahia kia whakauruhia tetahi mea, ara, kaore koe e whakauru i tetahi mea mo te hanga. Tāutahia ki tō pona, ki runga rānei i te tūmau mātakitaki mai i te wāhi ka whakahaerehia e koe. A ka tātarihia te maha o nga mea: te punaha whakahaere, te punaha konae, me te Postgres ano, ma te hanga i etahi patai maamaa ka taea te whakahaere tika ki te whakaputanga kaore he mea e taka.

I huaina e matou ko Postgres-checkup. Mo nga tikanga hauora, he tirotiro hauora auau tenei. Mena he kaupapa motika, ka rite ki te tiaki. Ka tiaki koe i to waka ia ono marama, ia tau ranei, i runga i te waitohu. Kei te tiaki koe i to turanga? Arā, he rangahau hōhonu koe i ia te wā? Me mahi. Mena ka mahi koe i nga taapiri, katahi ka tirotirohia, he mea nui tenei.

Na kei a matou he taputapu pera. I timata ki te puta kaha noa i te toru marama ki muri. He tamariki tonu ia, engari he nui kei reira.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Te kohikohi i nga roopu patai "whakaawe" tino - ripoata K003 i te Postgres-checkup

A he roopu purongo K. E toru nga purongo i tenei wa. A he purongo penei K003. Kei runga mai i nga pg_stat_statements, kua kōmakahia ma te tape_time.

Ka whakarōpūhia e matou nga roopu tono ma te waa_toha, kei runga ka kite matou i te roopu e utaina ana i a maatau punaha, ara, ka pau nga rauemi. He aha ahau i whakaingoa ai i nga roopu patai? Na te mea i maka atu e matou nga tawhā. Ehara enei i nga tono, engari ko nga roopu tono, ara, kua wetekina.

A, ki te arotau tatou mai i runga ki raro, ka mama tatou i a tatou rauemi me te whakaroa i te wa e hiahia ana tatou ki te whakapai ake. He huarahi tino pai tenei ki te penapena moni.

Tena pea ehara tenei i te huarahi tino pai ki te tiaki i nga kaiwhakamahi, na te mea kare pea tatou e kite i nga keehi onge, engari he tino hoha ki te tatari te tangata mo te 15 hēkona. I roto i te katoa, he onge noa e kore e kitea e matou, engari kei te mahi matou ki nga rauemi.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

He aha te mea i tupu i tenei tepu? E rua nga whakaahua i tangohia e matou. Ka hoatu e te Postgres_checkup he tohu mo ia inenga: te wa-katoa, nga waea, nga rarangi, shared_blks_read, me era atu. Koia, kua tatauhia te delta. Ko te raruraru nui ki nga pg_stat_statements ko te kore e mahara ki te wa i tautuhia ano. Mena ka maumahara pg_stat_database, karekau nga pg_stat_statements e maumahara. Ka kite koe he 1 te maha, engari kaore matou e mohio no hea matou i tatau ai.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

I konei e mohio ana matou, e rua nga whakaahua. E mohio ana matou ko te delta i tenei keehi ko te 56 hēkona. He waahi poto rawa. Kōmakahia mā te wā_katoa. Na ka taea e tatou te wehewehe, ara, ka wehewehea nga inenga katoa ki te roa. Mena ka wehewehea ia inenga ki te roanga, ka whiwhi tatou i te maha o nga waea mo ia hekona.

Panuku, tapeke_wa ia hekona taku ine tino pai. Ka ine i roto i te hēkona, ia hēkona, arā, e hia hēkona te roa o tā mātou pūnaha ki te whakatutuki i tēnei rōpū tono mō ia hēkona. Mena ka kite koe i te neke atu i te hekona mo ia hekona ki reira, ko te tikanga me nui ake i te kotahi te matua. He ine tino pai tenei. Ka taea e koe te mohio ko tenei hoa, hei tauira, me toru nga waahanga.

Ko to tatou mohiotanga tenei, kare ano au i kite i tetahi penei i nga waahi katoa. Kia mahara - he mea tino ngawari tenei - hekona ia hekona. I etahi wa, ka 100% to PTM, katahi te hawhe haora mo ia hekona, ara, he hawhe haora i pau koe ki te mahi i enei tono.

Whai muri ka kite tatou i nga rarangi mo ia hekona. E mohio ana matou e hia nga rarangi mo ia hekona i hoki mai ai.

Na tera ano tetahi mea whakamere. E hia nga shared_buffers ka panuihia ia hekona mai i nga shared_buffers ake. Kua tae ke nga tohu, a ka tangohia e matou nga rarangi mai i te keteroki punaha whakahaere, mai i te kōpae ranei. Ko te waahanga tuatahi he tere, a ko te tuarua ka tere, kaore ranei i te tere, i runga i te ahuatanga.

A ko te huarahi tuarua mo te wehewehe ko te wehewehe i te maha o nga tono i roto i tenei roopu. I te pou tuarua ka wehea e koe tetahi patai mo ia patai. Na he mea whakamere - e hia nga manomano i roto i tenei tono. E mohio ana matou ki te ahua o tenei patai i te toharite. 101 mirihakona i hiahiatia mo ia tono. Koinei te inenga tawhito me maarama tatou.

E hia nga haupae i hoki mai ia patai i te toharite? Ka kite matou 8 tenei roopu ka hoki mai. I te toharite, e hia nga mea i tangohia mai i te keteroki me te panui. Ka kite tatou he pai te keteroki o nga mea katoa. He pakari mo te roopu tuatahi.

A ko te aho tuawha o ia rarangi he aha te ōrau o te tapeke. Kei a matou nga waea. Me kii 1. A ka mohio tatou he aha te takoha a tenei roopu. Ka kite tatou i tenei keehi ko te roopu tuatahi he iti iho i te 000%. Arā, he pōturi rawa, kare e kitea i roto i te pikitia whānui. A ko te roopu tuarua he 000% mo nga waea. Arā, 0,01% o ngā waea katoa ko te roopu tuarua.

He mea whakamere hoki te wa_ta katoa. I whakapaua e matou te 14% o ta matou wa mahi katoa mo te roopu tuatahi o nga tono. Na mo te tuarua - 11%, etc.

E kore ahau e haere ki nga korero, engari kei reira nga hianga. Ka whakaatuhia he hapa ki runga, na te mea ka whakatairitehia, ka rewa pea nga whakaahua, ara, ka taka etahi tono ka kore e tae atu ki te tuarua, ka puta etahi mea hou. A i reira ka tatau tatou i te hapa. Mena ka kite koe i te 0, he pai tena. Karekau he hapa. Mena kei te 20% te reeti hapa, kei te pai.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Katahi ka hoki ki ta tatou kaupapa. Me hanga e tatou nga mahi. Ka tangohia mai i runga ki raro ka haere kia tae ki te 80%, ki te 90%. Ko te tikanga he 10-20 nga roopu tenei. Na ka hanga e matou nga konae mo pgbench. Ka whakamahi matapōkere mātou i reira. I etahi wa karekau tenei e mahi. A i roto i te Postgres 12 ka nui ake nga waahi ki te whakamahi i tenei huarahi.

Na ka riro tatou 80-90% i roto i te tapeke_time i tenei ara. He aha taku me whakatakoto i muri i te "@"? Ka titiro tatou ki nga waea, ka titiro ki te nui o te huamoni me te mohio kei te nui o tatou nama ki konei. Mai i enei pahekeheke ka mohio tatou me pehea te whakataurite i ia o nga konae. I muri i tera ka whakamahi matou i te pgbench ka haere ki te mahi.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Kei a matou ano te K001 me te K002.

Ko K001 tetahi aho nui me nga aho iti e wha. He ahuatanga tenei o ta tatou kawenga katoa. Tirohia te pou tuarua me te rarangi tuarua. Ka kite tatou mo te kotahi me te haurua hekona mo ia hekona, ara, ki te rua nga matua, katahi ka pai. Ka tata ki te 75% te kaha. A ka mahi penei. Mena he 10 a maatau, ka noho marino tatou. Ma tenei ka taea e tatou te arotake i nga rauemi.

Ko te K002 te mea e kiia nei e au ko nga karaehe patai, ara ko te KORERO, KAUPAPA, KAUPAPA, KAUPAPA. A wehea KŌWHIRINGA MO TE WHAKAARO, na te mea he raka.

Na konei ka taea e tatou te whakatau ko SELECT he kaipānui noa - 82% o nga waea katoa, engari i te wa ano - 74% i roto i te katoa_time. Arā, e kiia ana he nui, engari he iti ake nga rauemi.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

A ka hoki ano ki te patai: "Me pehea e whiriwhiri ai i nga momo_buffers tika?" Ka kite ahau ko te nuinga o nga tohu tohu i ahu mai i runga i te whakaaro - kia kite tatou he aha te putanga, ara, he aha te putanga. Ko te tikanga ka inehia ki TPS, QPS ranei.

A ka ngana taatau ki te kohi i nga tauwhitinga maha mo ia hēkona mai i te motuka ma te whakamahi i nga tawhā oro. Anei te 311 mo ia hekona mo te kowhiri.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Engari karekau he tangata e peia ana ki te mahi me te hoki ki te kainga ma te tere. He poauau tenei. He rite ano ki nga papaa raraunga. Kare e tika kia peia i runga i te tere katoa, karekau he tangata. Karekau he tangata e noho ana ki te hanga, he 100% te PTM. Ahakoa, ka ora pea tetahi, engari kaore tenei i te pai.

Ko te whakaaro ko te tikanga ka peia e matou i te 20 paiheneti o te kaha, me kaua e neke ake i te 50%. A ka ngana matou ki te arotau i te wa whakautu mo o maatau kaiwhakamahi i runga ake i te katoa. Arā, me huri o tatou puku kia iti ake te torohūtanga i te 20% tere, herenga. He whakaaro tenei ka ngana ano matou ki te whakamahi i roto i o maatau whakamatautau.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Ka mutu, ko nga taunakitanga:

  • Kia mohio koe ki te mahi Database Lab.
  • Mena ka taea, mahia i runga i te tono kia matara mo te wa poto - takaro ka maka atu. Mena he kapua koe, karekau he korero, ara, he nui te tu.
  • Kia pakiki. A, ki te he tetahi mea, katahi ka tirohia me nga whakamatautau me pehea te mahi. Ka taea te whakamahi a Nancy ki te whakangungu ia koe ki te tirotiro i te mahi o te turanga.
  • Me whai mo te wa whakautu iti rawa.
  • A kaua e mataku ki nga puna o Postgres. Ina mahi koe me nga puna korero, me mohio koe ki te reo Ingarihi. He nui nga korero kei reira, kua whakamaramatia nga mea katoa ki reira.
  • A ka tirotirohia te hauora o te papaaarangi i nga wa katoa, i te iti rawa kia kotahi i nga marama e toru, ma te ringa, me te Postgres-checkup.

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Au uiui

Nga mihi nui! He mea tino whakamere.

E rua nga wahanga.

Ae, e rua nga wahanga. Ko au anake kaore au i tino marama. I te wa e mahi ana maua ko Nancy, ka taea e taatau te takawiri kotahi noa te tawhā, te roopu katoa ranei?

He tawhā whirihora delta ta matou. Ka taea e koe te huri ki reira i nga wa e hiahia ana koe. Engari me mohio koe ka huri koe i nga mea maha, ka taea e koe te whakatau i nga whakatau he.

Ae. He aha ahau i patai ai? Na te mea he uaua ki te whakahaere whakamatautau ina kotahi noa te tawhā. Whakapaia e koe, tirohia te mahi. I peia ia e ahau ki waho. Na ka timata koe i te waa e whai ake nei.

Ka taea e koe te whakakaha i te wa ano, engari kei runga i te ahuatanga, o te akoranga. Engari he pai ake te whakamatautau i tetahi whakaaro. I whai whakaaro matou inanahi. He tino tata matou. E rua nga whirihora. A kaore i taea e maatau te maarama he aha te rereketanga nui. Na ka puta te whakaaro me whakamahi koe i te dichotomy kia mohio ai koe me te kimi he aha te rereketanga. Ka taea e koe te hanga kia rite tonu te haurua o nga tawhā, katahi ko te hauwha, aha atu. He ngawari nga mea katoa.

A tera ano tetahi patai. He rangatahi te kaupapa, kei te whanake haere. Kua reri kē nga tuhinga, he whakamaarama taipitopito?

I hanga e ahau he hononga ki reira ki te whakaahuatanga o nga tawhā. Kei reira. Engari he maha nga mea kaore ano kia tae mai. Kei te rapu ahau mo nga tangata rite te whakaaro. A ka kitea e au i a au e mahi ana. He tino hauhautanga tenei. Kei te mahi kee tetahi ki ahau, i awhina tetahi me te mahi i tetahi mea ki reira. A, ki te hiahia koe ki tenei kaupapa, tukuna he urupare mo nga mea e ngaro ana.

Kia hangahia e matou te taiwhanga, tera pea ka puta he urupare. Kia kite tatou. Mauruuru koe!

Kia ora! Nga mihi mo te ripoata! I kite ahau he tautoko a Amazon. He mahere hei tautoko i te GSP?

He patai pai. I timata matou ki te mahi. Na ka whakatio matou mo tenei wa na te mea kei te pirangi matou ki te penapena moni. Arā, he tautoko te whakamahi run on localhost. Ka taea e koe te hanga tauira me te mahi i to rohe. Ma te ara, koinei ta matou mahi. Ka mahia e au i Getlab, i reira i GSP. Engari kare ano matou e kite i te take o te mahi i nga mahi whakahiato, na te mea karekau he waahi iti a Google. Kei reira??? nga wa, engari he herenga. Ko te tuatahi, he 70% noa iho te utu kare e taea e koe te takaro me te utu i reira. I runga i nga waahi, ka whakanuia e matou te utu ma te 5-10% hei whakaiti i te tupono ka whana koe. Arā, ka tiakina e koe nga waahi, engari ka taea te tango atu i a koe i nga wa katoa. Mena he iti ake to tono i etahi atu, ka mate koe i muri mai. He rereke nga korero a Google. A tera ano tetahi mea tino kino - e ora ana mo te 24 haora. A i etahi wa ka hiahia matou ki te whakahaere i tetahi whakamatautau mo nga ra e 5. Engari ka taea e koe te mahi i nga waahi; i etahi wa ka roa nga waahi mo nga marama.

Kia ora! Nga mihi mo te ripoata! I korero koe mo te tirotiro. Me pehea e tatau ai koe i nga hapa korero_statut?

Tino pai te patai. Ka taea e au te whakaatu me te korero nui ki a koe. Hei poto, ka titiro tatou ki te rere o te huinga o nga roopu tono: e hia kua hinga, e hia nga roopu hou kua puta. Na ka titiro tatou ki nga inenga e rua: tapeke_wa me nga waea, na e rua nga hapa. A ka titiro ki te koha o nga roopu maanu. E rua nga roopu iti: ko te hunga i wehe me te hunga i tae mai. Kia kite tatou he aha ta ratou takoha ki te pikitia katoa.

Kaore koe e mataku ka huri ki reira e rua, e toru nga wa i waenga i nga whakaahua?

Ara, i rehita ano ratou, he aha ranei?

Hei tauira, kua tukuna ano tenei tono i mua kotahi, katahi ka tae mai ka tukuna ano, katahi ka hoki mai ka tukuna ano. Nau i tatau tetahi mea ki konei, kei hea katoa?

He patai pai, me titiro tatou.

He rite ano taku mahi. He maamaa ake, o te akoranga, i mahia e au anake. Engari me tautuhi ano ahau, te tautuhi i nga tatauranga_tauākī me te whakaaro i te wa o te whakaahua he iti ake i tetahi hautau, kaore ano kia eke ki te tuanui o te nui o nga tatauranga_tauākī ka taea ki reira. A ko taku mohio ko tera pea, kaore he mea i nekehia.

Ae Ae.

Engari kaore au i te marama me pehea atu te mahi pono.

Kia aroha mai, kare au e tino maumahara mena ka whakamahia e matou te tuhinga patai kei reira, he patai ranei me nga pg_stat_statements me te aro ki runga. Mena ka aro tatou ki te queryid, i roto i te ariā kei te whakataurite tatou i nga mea rite.

Kao, ka taea e ia te peia i nga wa maha i waenga i nga whakaahua ka hoki mai ano.

Me te id ano?

Ae.

Ka ako tatou i tenei. He patai pai. Me ako tatou. Engari mo tenei wa, ko ta tatou e kite nei ko te tuhi 0...

Ae ra, he keehi onge tenei, engari i ohorere ahau i taku kitenga ka taea e stat_statemetns te neke ki reira.

He maha nga mea kei roto Pg_stat_statements. I tae mai matou ki te mea kei a koe te track_utility = kei runga, ka whaia ano o huinga.

Tuhinga o mua.

A, ki te whai koe i te java hibernate, he mea matapōkere, katahi ka timata te tepu hash ki reira. A, ka whakawetohia e koe tetahi tono tino utaina, ka mutu koe ki nga roopu 50-100. A he nui ake, iti iho ranei nga mea katoa i reira. Ko tetahi huarahi ki te whawhai i tenei ko te whakanui i nga pg_stat_statements.max.

Ae, engari me mohio koe ki te nui. A me titiro tonu tatou ki a ia. Koia taku mahi. Arā, kei a au pg_stat_statements.max. A ka kite ahau i te wa o te whakaahua kaore au i eke ki te 70%. Ka pai, no reira kaore i ngaro tetahi mea. Kia tautuhi ano. Na ka whakaora ano tatou. Mena he iti iho i te 70 te whakaahua e whai ake nei, kare pea koe i ngaro tetahi mea.

Ae. Ko te taunoa inaianei ko te 5. A he nui tenei mo te tini o nga tangata.

Ko te tikanga ae.

Ataata:

PS Mo ahau ake, ka tapiritia e ahau mehemea kei roto i te Postgres nga raraunga matatapu a kaore e taea te whakauru ki te taiao whakamatautau, ka taea e koe te whakamahi PostgreSQL Anonymizer. He penei te kaupapa:

Te huarahi Ahumahi ki te whakatikatika i te PostgreSQL: nga whakamatautau i runga i nga papaa raraunga." Nikolay Samokhvalov

Source: will.com

Tāpiri i te kōrero