Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje tare da bayanan bayanai." Nikolai Samokhvalov

Ina ba da shawarar ku karanta kwafin rahoton Nikolai Samokhvalov "Tsarin masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai"

Shared_buffers = 25% - yana da yawa ko kadan? Ko dai dai? Ta yaya za ku san idan wannan - maimakon tsohon - shawarwarin ya dace a cikin yanayin ku na musamman?

Lokaci ya yi da za a kusanci batun zabar sigogin postgresql.conf "kamar babba." Ba tare da taimakon makafi "masu gyara auto" ko shawarwarin da suka wuce daga labarai da shafukan yanar gizo ba, amma bisa:

  1. ingantattun gwaje-gwajen da aka tabbatar akan bayanan bayanai, ana aiwatar da su ta atomatik, a cikin adadi mai yawa kuma a ƙarƙashin yanayi kusa da zai yiwu don “yaƙi” waɗanda,
  2. zurfin fahimtar fasalulluka na DBMS da OS.

Amfani da Nancy CLI (https://gitlab.com/postgres.ai/nancy), za mu dubi wani misali na musamman - sanannen shared_buffers - a cikin yanayi daban-daban, a cikin ayyuka daban-daban da kuma kokarin gano yadda za a zabi mafi kyawun wuri don kayan aikin mu, bayanai da kaya.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Za mu yi magana game da gwaje-gwaje tare da bayanan bayanai. Wannan labari ne wanda ya wuce watanni shida kadan.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kadan game da ni. Kwarewa tare da Postgres fiye da shekaru 14. Yawancin kamfanonin sadarwar zamantakewa sun kafa. Postgres ya kasance kuma ana amfani dashi a ko'ina.

Hakanan rukunin RuPostgres akan Meetup, matsayi na 2 a duniya. A hankali muna kusantar mutane 2. RuPostgres.org.

Kuma a PC na tarurruka daban-daban, ciki har da Highload, Ni ke da alhakin bayanan bayanai, musamman Postgres daga farkon.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma a cikin ƴan shekarun da suka gabata, na sake fara aikin tuntuɓar Postgres dina sau 11 daga nan.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma lokacin da na yi wannan ’yan shekarun da suka gabata, na sami ɗan hutu a cikin aikin hannu mai aiki tare da Postgres, wataƙila tun 2010. Na yi mamakin yadda ɗan aikin DBA ya canza, da yawan aikin hannu da har yanzu ake buƙatar amfani da shi. Kuma nan da nan na yi tunanin cewa wani abu ba daidai ba ne a nan, Ina bukatan in sarrafa fiye da komai.

Kuma tun da yake duk mai nisa ne, yawancin abokan ciniki sun kasance cikin gajimare. Kuma da yawa an riga an sarrafa su ta atomatik, a fili. Karin bayani kan wannan daga baya. Wato, duk wannan ya haifar da ra'ayin cewa ya kamata a sami kayan aiki da yawa, watau, wani nau'i na dandamali wanda zai sarrafa kusan dukkanin ayyukan DBA ta yadda za a iya sarrafa adadi mai yawa na bayanai.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Wannan rahoton ba zai haɗa da:

  • "Azurfa harsashi" da maganganu kamar - saita 8 GB ko 25% shared_buffers kuma za ku kasance lafiya. Ba za a sami abubuwa da yawa game da shared_buffers ba.
  • Hardcore "innards".

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Me zai faru?

  • Za a sami ƙa'idodin ingantawa waɗanda muke amfani da su da haɓakawa. Za a sami nau'ikan ra'ayoyin da suka taso a kan hanya da kayan aiki daban-daban waɗanda muke ƙirƙira galibi a cikin Buɗaɗɗen Tushen, watau muna yin tushe a cikin Open Source. Haka kuma, muna da tikiti, duk sadarwa a zahiri Buɗewa ce. Kuna iya ganin abin da muke yi yanzu, abin da zai kasance a cikin sakin gaba, da sauransu.
  • Hakanan za a sami ɗan gogewa ta amfani da waɗannan ka'idodin, waɗannan kayan aikin a cikin kamfanoni da yawa: daga ƙananan farawa zuwa manyan kamfanoni.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Ta yaya duk wannan ke tasowa?

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Da fari dai, babban aikin DBA, ban da tabbatar da ƙirƙirar al'amura, tura ma'auni, da dai sauransu, shine nemo ƙulla da haɓaka aiki.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Yanzu an saita shi kamar haka. Muna duban sa ido, muna ganin wani abu, amma muna rasa wasu bayanai. Mu fara tona sosai a hankali, yawanci da hannayenmu, kuma mu fahimci abin da za mu yi da shi ta wata hanya ko wata.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma akwai hanyoyi guda biyu. Pg_stat_statements shine tsohuwar mafita don gano jinkirin tambayoyin. Da kuma nazarin bayanan Postgres ta amfani da pgBadger.

Kowace hanya tana da babban lahani. A cikin hanyar farko, mun jefar da dukkan sigogi. Kuma idan muka ga ƙungiyoyi SELECT * DAGA tebur inda shafi yayi daidai da "?" ko "$" tun daga Postgres 10. Ba mu sani ba ko wannan sikanin fihirisa ne ko sikanin seq. Ya dogara sosai akan siga. Idan ka canza ƙimar da ba kasafai aka ci karo da ita a wurin ba, zai zama sikanin fihirisa. Idan kun canza darajar da ta mamaye kashi 90% na tebur a can, binciken na gaba zai kasance a bayyane, saboda Postgres ya san kididdigar. Kuma wannan babban koma baya ne na pg_stat_statements, kodayake wasu ayyuka suna gudana.

Babban hasara na binciken log shine cewa ba za ku iya samun "log_min_duration_statement = 0" a matsayin mai mulki ba. Kuma za mu yi magana game da wannan ma. Dangane da haka, ba ku ganin duka hoton. Kuma wasu tambayoyin, waɗanda suke da sauri sosai, na iya cinye albarkatu masu yawa, amma ba za ku gan ta ba saboda tana ƙasa da bakin kofa.

Ta yaya DBAs ke magance matsalolin da suka samu?

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Misali, mun sami matsala. Menene yawanci ake yi? Idan kai mai haɓakawa ne, to za ku yi wani abu akan wani misali wanda bai kai girman girman ba. Idan kun kasance DBA, to kuna da tsari. Kuma ana iya zama ɗaya kawai. Kuma ya kasance a baya wata shida. Kuma kuna tsammanin za ku je samarwa. Kuma ko da gogaggun DBAs sannan a duba samarwa, akan kwafi. Kuma ya faru cewa sun ƙirƙiri fihirisar wucin gadi, tabbatar da cewa ta taimaka, sauke ta kuma ba da ita ga masu haɓakawa don su sanya shi cikin fayilolin ƙaura. Irin wannan shirme ne ke faruwa a yanzu. Kuma wannan matsala ce.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

  • Tuna daidaitawa.
  • Inganta saitin firikwensin.
  • Canza tambayar SQL kanta (wannan ita ce hanya mafi wahala).
  • Ƙara iya aiki (hanya mafi sauƙi a mafi yawan lokuta).

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Akwai abubuwa da yawa da ke faruwa tare da waɗannan abubuwa. Akwai hannaye da yawa a cikin Postgres. Akwai abubuwa da yawa da za a sani. Akwai fihirisa da yawa a cikin Postgres, godiya kuma ga masu shirya wannan taro. Kuma duk wannan yana buƙatar sanin, kuma wannan shine abin da ke sa waɗanda ba DBA ba su ji kamar DBAs suna yin sihirin baƙar fata. Wato, kuna buƙatar yin karatu na tsawon shekaru 10 don fara fahimtar duk waɗannan al'ada.

Kuma ni mai yaki ne da wannan bakar sihiri. Ina so in yi komai don a sami fasaha, kuma babu hankali a cikin wannan duka.

Misalai na rayuwa na gaske

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Na lura da wannan a aƙalla ayyuka biyu, ciki har da nawa. Wani sakon bulogi yana gaya mana cewa ƙimar 1 don default_statistict_target yana da kyau. To, bari mu gwada shi a samarwa.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma a nan muna yin amfani da kayan aikinmu bayan shekaru biyu, tare da taimakon gwaje-gwajen da aka yi a kan bayanan da muke magana a yau, za mu iya kwatanta abin da ya kasance da abin da ya zama.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma don wannan muna buƙatar ƙirƙirar gwaji. Ya kunshi sassa hudu.

  • Na farko shi ne muhalli. Muna buƙatar yanki na kayan aiki. Kuma idan na zo wani kamfani na sanya hannu kan kwangila, nakan gaya musu su ba ni kayan aiki iri ɗaya kamar yadda ake samarwa. Ga kowane Masters ɗin ku, Ina buƙatar aƙalla kayan masarufi guda ɗaya kamar wannan. Ko dai wannan na'ura ce ta kama-da-wane a cikin Amazon ko Google, ko kuma ina buƙatar ainihin kayan masarufi iri ɗaya. Wato ina so in sake ƙirƙirar yanayi. Kuma a cikin tunanin muhalli mun haɗa da babban sigar Postgres.
  • Kashi na biyu shi ne abin bincikenmu. Wannan rumbun adana bayanai ne. Ana iya ƙirƙirar ta ta hanyoyi da yawa. Zan nuna maka yadda.
  • Kashi na uku shine kaya. Wannan shine lokacin mafi wahala.
  • Kuma kashi na hudu shi ne abin da muke dubawa, watau abin da za mu kwatanta da me. Bari mu ce za mu iya canza sigogi ɗaya ko fiye a cikin saitin, ko za mu iya ƙirƙirar fihirisa, da sauransu.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Muna ƙaddamar da gwaji. Anan pg_stat_statements. A hagu shine abin da ya faru. A dama - abin da ya faru.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

A hagu default_statistics_target = 100, a dama = 1. Mun ga cewa wannan ya taimake mu. Gabaɗaya, komai ya samu kyawu da kashi 000%.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Amma idan muka gungura ƙasa, za a sami ƙungiyoyin buƙatun daga pgBadger ko daga pg_stat_statements. Akwai zaɓuɓɓuka biyu. Za mu ga cewa wasu buƙatun sun ragu da kashi 88%. Kuma a nan ne tsarin injiniya ya zo. Za mu iya kara tono ciki domin muna mamakin dalilin da ya sa ya nutse. Kuna buƙatar fahimtar abin da ya faru tare da kididdigar. Me yasa ƙarin buckets a cikin ƙididdiga suna haifar da sakamako mafi muni.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Ko kuma ba za mu iya tono ba, amma mu yi “ALTER TABLE ... ALTER COLUMN” kuma mu mayar da buckets 100 zuwa kididdigar wannan shafi. Sannan tare da wani gwaji zamu iya tabbatar da cewa wannan facin ya taimaka. Duka. Wannan hanya ce ta injiniya wacce ke taimaka mana ganin babban hoto kuma mu yanke shawara dangane da bayanai maimakon a hankali.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Misalai biyu daga wasu yankuna. Akwai gwaje-gwajen CI a cikin gwaji shekaru da yawa. Kuma babu wani aiki a cikin zuciyarsa da zai rayu ba tare da gwaje-gwaje na atomatik ba.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

A wasu masana'antu: a cikin jirgin sama, a cikin masana'antar kera motoci, lokacin da muka gwada aerodynamics, mu ma muna da damar yin gwaje-gwaje. Ba za mu ƙaddamar da wani abu daga zane kai tsaye zuwa sararin samaniya ba, ko kuma ba za mu ɗauki mota nan da nan zuwa kan hanya ba. Misali, akwai ramin iska.

Za mu iya zana ƙarshe daga lura da sauran masana'antu.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Na farko, muna da yanayi na musamman. Yana kusa da samarwa, amma ba kusa ba. Babban fasalinsa shine yakamata ya zama mai arha, maimaituwa kuma mai sarrafa kansa kamar yadda zai yiwu. Kuma dole ne a sami kayan aiki na musamman don gudanar da cikakken bincike.

Mafi mahimmanci, lokacin da muka harba jirgin sama da tashi, ba mu da damar yin nazarin kowane milimita na fuskar fuka fiye da yadda muke da shi a cikin ramin iska. Muna da ƙarin kayan aikin bincike. Za mu iya ɗaukar kaya masu nauyi da ba za mu iya ba mu iya sakawa a jirgin sama a iska. Daidai da Postgres. Za mu iya, a wasu lokuta, ba da damar cikakken shigar da tambaya yayin gwaje-gwaje. Kuma ba ma son yin wannan a cikin samarwa. Muna iya ma yin shirin kunna wannan ta amfani da auto_explain.

Kuma kamar yadda na ce, babban matakin sarrafa kansa yana nufin mu danna maɓallin kuma mu maimaita. Haka ya kamata ya kasance, ta yadda za a yi gwaji da yawa, ta yadda ya kasance a kan rafi.

Nancy CLI - kafuwar "database dakin gwaje-gwaje"

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma haka muka yi wannan abu. Wato na yi magana game da waɗannan ra'ayoyin a watan Yuni, kusan shekara guda da ta wuce. Kuma muna da abin da ake kira Nancy CLI a Buɗe Source. Wannan shine tushen gina dakin binciken bayanai.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Nancy - Yana cikin Open Source, akan Gitlab. Kuna iya faɗi, kuna iya gwadawa. Na ba da hanyar haɗi a cikin nunin faifai. Kuna iya danna shi kuma zai kasance a can taimaka ta kowane fanni.

Tabbas, akwai ci gaba da yawa har yanzu. Akwai ra'ayoyi da yawa a wurin. Amma wannan abu ne da muke amfani da shi kusan kowace rana. Kuma idan muna da ra'ayi - me yasa idan muka goge layukan 40, duk sun gangaro zuwa IO, sannan za mu iya yin gwaji kuma mu bincika dalla-dalla don fahimtar abin da ke faruwa sannan mu yi ƙoƙarin gyara shi a kan tafiya. Wato muna yin gwaji. Misali, muna tweak wani abu kuma mu ga abin da zai faru a ƙarshe. Kuma ba mu yin wannan a samarwa. Wannan shi ne ainihin ra'ayin.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

A ina wannan zai iya aiki? Wannan na iya aiki a cikin gida, watau za ku iya yin shi a ko'ina, har ma kuna iya sarrafa shi akan MacBook. Muna bukatar docker, mu tafi. Shi ke nan. Kuna iya gudanar da shi a wani misali akan kayan aiki, ko a cikin injin kama-da-wane, a ko'ina.

Kuma akwai kuma damar da za a gudu daga nesa a cikin Amazon a cikin EC2 Misali, a cikin tabo. Kuma wannan dama ce mai kyau. Misali, jiya mun gudanar da gwaje-gwaje sama da 500 akan misalin i3, farawa da ƙarami kuma ya ƙare da i3-16-xlarge. Kuma gwaje-gwaje 500 sun kashe mu $64. Kowannensu ya ɗauki mintuna 15. Wato, saboda gaskiyar cewa ana amfani da tabo a wurin, yana da arha sosai - rangwame 70%, lissafin kuɗi na biyu na Amazon. Kuna iya yin abubuwa da yawa. Kuna iya yin bincike na gaske.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma manyan nau'ikan Postgres guda uku ana tallafawa. Ba shi da wahala sosai don gama wasu tsofaffin da sabon sigar 12 ma.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Za mu iya ayyana abu ta hanyoyi uku. Wannan:

  • Juya/sql fayil.
  • Babban hanyar ita ce a rufe kundin adireshin PGDATA. A matsayinka na mai mulki, ana ɗaukar shi daga uwar garken madadin. Idan kuna da madadin binary na al'ada, zaku iya yin clones daga can. Idan kuna da gajimare, to, ofishin girgije kamar Amazon da Google za su yi muku wannan. Wannan ita ce hanya mafi mahimmanci don clone ainihin samarwa. Wannan shine yadda muke bayyana.
  • Kuma hanya ta ƙarshe ta dace da bincike lokacin da kake son fahimtar yadda wani abu ke aiki a Postgres. Wannan shi ne pgbench. Kuna iya ƙirƙirar ta amfani da pgbench. Zaɓin "db-pgbench" ɗaya ne kawai. Ka gaya masa wane sikelin. Kuma duk abin da za a samar a cikin girgije, kamar yadda aka fada.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma load:

  • Za mu iya aiwatar da kaya a cikin zaren SQL ɗaya. Wannan ita ce hanya mafi asali.
  • Kuma za mu iya yin koyi da kaya. Kuma za mu iya yin koyi da shi da farko ta hanya mai zuwa. Muna buƙatar tattara duk rajistan ayyukan. Kuma yana da zafi. Zan nuna maka dalili. Kuma ta amfani da pgreplay muna wasa, wanda aka gina a cikin Nancy.
  • Ko wani zaɓi. Abin da ake kira nauyin sana'a, wanda muke yi tare da wani adadin ƙoƙari. Yin nazarin nauyin mu na yanzu akan tsarin fama, muna fitar da manyan ƙungiyoyin buƙatun. Kuma ta amfani da pgbench za mu iya yin koyi da wannan nauyin a cikin dakin gwaje-gwaje.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

  • Ko dai mu yi wani nau'i na SQL, watau mu duba wani nau'in ƙaura, mu ƙirƙiri index a can, mu aiwatar da ANALAZE a can. Kuma muna duban abin da ya faru kafin buɗaɗɗen da kuma bayan vacuum. Gabaɗaya, kowane SQL.
  • Ko dai mu canza guda ɗaya ko fiye da sigogi a cikin saitin. Za mu iya gaya mana mu bincika, alal misali, ƙimar 100 a Amazon don bayanan terabyte ɗin mu. Kuma a cikin 'yan sa'o'i kadan za ku sami sakamakon. A matsayinka na mai mulki, zai ɗauki sa'o'i da yawa don tura bayanan terabyte. Amma akwai faci a cikin haɓakawa, muna da jerin yuwuwar, watau zaku iya yin amfani da pgdata akai-akai akan sabar iri ɗaya kuma bincika. Postgres zai sake farawa kuma za a sake saita caches. Kuma za ku iya fitar da kaya.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

  • Littafin jagora yana zuwa tare da gungun fayiloli daban-daban, farawa daga hotunan pgjihar***. Kuma mafi ban sha'awa akwai pg_stat_statements, pg_stat_kcacke. Waɗannan kari ne guda biyu waɗanda ke nazarin buƙatun. Kuma pg_stat_bgwriter ya ƙunshi ba kawai ƙididdiga na pgwriter ba, har ma a kan wuraren bincike da kuma yadda masu goyon bayan kansu ke korar datti. Kuma duk yana da ban sha'awa gani. Misali, lokacin da muka kafa shared_buffers, yana da matukar ban sha'awa ganin nawa kowa ya maye gurbin.
  • Gudumomin Postgres suma suna zuwa. Guda biyu - log ɗin shirye-shirye da log ɗin sake kunnawa.
  • Wani sabon fasali shine FlameGraphs.
  • Hakanan, idan kun yi amfani da pgreplay ko pgbench zažužžukan don kunna nauyin, to, fitowar su zai zama na asali. Kuma za ku ga latency da TPS. Za a iya fahimtar yadda suka gan shi.
  • Bayanin tsarin.
  • Basic CPU da IO cak. Wannan ya fi ga misalin EC2 a cikin Amazon, lokacin da kake son ƙaddamar da misalai guda 100 a cikin zaren kuma gudanar da gudu daban-daban guda 100 a can, to za ku sami gwaje-gwaje 10. Kuma kuna buƙatar tabbatar da cewa ba ku ci karo da misalan kuskuren da wani ya riga ya zalunta ba. Wasu suna aiki akan wannan kayan aikin kuma ba ku da sauran albarkatu kaɗan. Zai fi kyau a watsar da irin wannan sakamakon. Kuma tare da taimakon sysbench daga Alexey Kopytov, muna yin ɗan gajeren bincike da yawa waɗanda zasu zo kuma za'a iya kwatanta su da wasu, i.e. za ku fahimci yadda CPU ke aiki da kuma yadda IO ke aiki.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Menene matsalolin fasaha bisa misalin kamfanoni daban-daban?

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Bari mu ce muna son maimaita ainihin kaya ta amfani da gungumen azaba. Yana da kyakkyawan ra'ayi idan an rubuta shi akan Open Source pgreplay. Muna amfani da shi. Amma don yin aiki da kyau, dole ne ku kunna cikakken shigar da tambaya tare da sigogi da lokaci.

Akwai wasu matsaloli tare da tsawon lokaci da tambarin lokaci. Za mu kwashe duk wannan kicin. Babban tambaya ita ce shin za ku iya biya ko a'a?

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

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

Matsalar ita ce ƙila ba za a samu ba. Da farko, dole ne ku fahimci abin da rafi za a rubuta zuwa log ɗin. Idan kuna da pg_stat_statements, zaku iya amfani da wannan tambayar (mahaɗin zai kasance a cikin nunin faifai) don fahimtar kusan baiti nawa ne za'a rubuta a cikin daƙiƙa guda.

Muna duban tsawon bukatar. Muna yin watsi da gaskiyar cewa babu sigogi, amma mun san tsayin buƙatar kuma mun san sau nawa a cikin sakan daya. Ta wannan hanyar za mu iya kimanta kusan baiti nawa a cikin daƙiƙa guda. Muna iya yin kuskure sau biyu, amma tabbas za mu fahimci tsari ta wannan hanyar.

Za mu iya ganin cewa sau 802 a cikin sakan daya ana aiwatar da wannan buƙatar. Kuma mun ga cewa bytes_per sec - 300 kB/s za a rubuta ƙari ko ragi. Kuma, a matsayin mai mulkin, za mu iya samun irin wannan kwarara.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Amma! Gaskiyar ita ce, akwai tsarin yin katako daban-daban. Kuma galibin abubuwan da mutane suke yi shine “syslog”.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma idan kuna da syslog, to kuna iya samun hoto kamar wannan. Za mu ɗauki pgbench, kunna shigar da tambaya kuma mu ga abin da zai faru.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Ba tare da shiga ba - wannan shine shafi na hagu. Mun samu 161 TPS. Tare da syslog - wannan yana cikin Ubuntu 000 akan Amazon, muna samun 16.04 TPS. Kuma idan muka canza zuwa wasu hanyoyin shiga guda biyu, to lamarin ya fi kyau. Wato mun yi tsammanin za ta ragu, amma ba daidai ba.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma akan CentOS 7, wanda journald shima yana shiga, yana jujjuya rajistan ayyukan zuwa tsarin binary don sauƙin bincike, da sauransu, to yana da ban tsoro a can, mun sauke sau 44 a cikin TPS.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma wannan shi ne abin da mutane ke rayuwa da shi. Kuma sau da yawa a cikin kamfanoni, musamman ma manya, wannan yana da wuyar canzawa. Idan zaku iya nisantar syslog, don Allah ku nisanta daga gare ta.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

  • Yi kimanta IOPS kuma rubuta kwarara.
  • Duba tsarin shigar ku.
  • Idan nauyin da aka zayyana ya yi girma fiye da kima, la'akari da yin samfur.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Muna da pg_stat_statements. Kamar yadda na ce, tabbas yana nan. Kuma za mu iya ɗauka da bayyana kowane rukunin buƙatun ta hanya ta musamman a cikin fayil. Sannan za mu iya amfani da fasalin da ya dace sosai a cikin pgbench - wannan shine ikon saka fayiloli da yawa ta amfani da zaɓin "-f".

Ya fahimci da yawa "-f". Kuma zaku iya faɗi tare da taimakon "@" a ƙarshen abin da ya kamata kowane fayil ya samu. Wato za mu iya cewa yin haka a kashi 10% na lokuta, kuma wannan a cikin kashi 20%. Kuma wannan zai kawo mu kusa da abin da muke gani a samarwa.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Ta yaya za mu fahimci abin da muke da shi a samarwa? Menene rabo kuma ta yaya? Wannan kadan ne daga gefe. Muna da ƙarin samfuri ɗaya postgres-checkup. Hakanan tushe a Open Source. Kuma a yanzu muna haɓaka shi sosai.

An haife shi don wasu dalilai daban-daban. Saboda dalilan da sa ido bai isa ba. Wato ku zo, ku dubi tushe, ku dubi matsalolin da ke akwai. Kuma, a matsayin mai mulkin, kuna yin gwajin lafiya. Idan kun kasance ƙwararren DBA, to kuna yin health_check. Mun duba amfani da fihirisa, da dai sauransu. Idan kana da OKmeter, to mai girma. Wannan kyakkyawan saka idanu ne ga Postgres. OKmeter.io - don Allah shigar da shi, duk abin da aka yi sosai a can. Ana biya.

Idan ba ku da ɗaya, to yawanci ba ku da yawa. A cikin saka idanu, yawanci akwai CPU, IO, sannan tare da ajiyar wuri, kuma shi ke nan. Kuma muna buƙatar ƙarin. Muna buƙatar ganin yadda autovacuum ke aiki, yadda wurin bincike ke aiki, a io muna buƙatar raba wurin bincike daga bgwriter da daga baya, da sauransu.

Matsalar ita ce lokacin da kuka taimaki babban kamfani, ba za su iya aiwatar da wani abu da sauri ba. Ba za su iya saurin siyan OKmeter ba. Wataƙila za su saya nan da watanni shida. Ba za su iya isar da wasu fakiti da sauri ba.

Kuma mun zo da ra'ayin cewa muna buƙatar kayan aiki na musamman wanda ba ya buƙatar wani abu don shigar da shi, watau ba dole ba ne ka shigar da komai a kan samarwa. Shigar da shi a kan kwamfutar tafi-da-gidanka, ko a kan uwar garken kallo daga inda za ku kunna shi. Kuma zai bincika abubuwa da yawa: tsarin aiki, tsarin fayil, da kuma Postgres kanta, yana yin wasu tambayoyin haske waɗanda za a iya aiwatar da su kai tsaye zuwa samarwa kuma babu abin da zai gaza.

Mun kira shi Postgres-checkup. A cikin sharuɗɗan likita, wannan shine duba lafiyar yau da kullun. Idan jigo ne na mota, to, kamar kulawa ne. Kuna yin gyaran motar ku kowane wata shida ko shekara, ya danganta da alamar. Kuna yin gyaran ginin ku? Wato shin kuna yin zurfin bincike akai-akai? Dole ne a yi. Idan kun yi backups, to, ku yi bincike, wannan ba shi da mahimmanci.

Kuma muna da irin wannan kayan aiki. Ya fara fitowa a hankali kusan watanni uku da suka gabata. Har yanzu matashi ne, amma akwai da yawa a wurin.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Tattara ƙungiyoyin tambayoyin "masu tasiri" - rahoton K003 a cikin Postgres-checkup

Kuma akwai rukunin rahotannin K. Rahotanni uku ya zuwa yanzu. Kuma akwai irin wannan rahoton K003. Akwai saman daga pg_stat_statements, wanda aka jera ta total_time.

Lokacin da muka tsara ƙungiyoyin buƙatun da jimlar_lokaci, a saman za mu ga rukunin da ya fi lodin tsarin mu, watau yana cin ƙarin albarkatu. Me yasa na sanya sunayen kungiyoyin tambaya? Domin mun jefar da sigogi. Waɗannan ba buƙatun ba ne, amma ƙungiyoyin buƙatun, watau an ɓoye su.

Kuma idan muka inganta daga sama zuwa kasa, za mu sauƙaƙa albarkatun mu kuma mu jinkirta lokacin da muke buƙatar haɓakawa. Wannan hanya ce mai kyau don adana kuɗi.

Wataƙila wannan ba hanya ce mai kyau don kula da masu amfani ba, saboda ƙila ba za mu ga ba kasafai ba, amma lokuta masu ban haushi sosai inda mutum ya jira 15 seconds. Gabaɗaya, suna da wuya cewa ba mu gan su ba, amma muna hulɗa da albarkatun.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Menene ya faru a cikin wannan tebur? Mun dauki hotuna guda biyu. Postgres_checkup zai ba ku delta ga kowane awo: jimlar lokaci, kira, layuka, shared_blks_read, da sauransu. Shi ke nan, an ƙididdige delta. Babban matsalar pg_stat_statements shine baya tunawa lokacin da aka sake saita ta. Idan pg_stat_database ya tuna, to pg_stat_statements baya tunawa. Kun ga cewa akwai adadin 1, amma ba mu san daga ina muka ƙidaya ba.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma a nan mun sani, a nan muna da hotuna guda biyu. Mun san cewa delta a cikin wannan yanayin ya kasance 56 seconds. Wani ɗan gajeren rata. An ware ta jimlar_lokaci. Sannan zamu iya bambancewa, watau muna raba dukkan ma'auni ta tsawon lokaci. Idan muka raba kowane awo ta tsawon lokaci, za mu sami adadin kira a cikin daƙiƙa guda.

Na gaba, jimlar_lokaci a kowane daƙiƙa shine ma'aunin da na fi so. Ana auna shi a cikin dakika, a cikin dakika guda, watau daƙiƙa nawa ya ɗauki tsarin mu don aiwatar da wannan rukunin buƙatun a cikin daƙiƙa guda. Idan kun ga fiye da daƙiƙa ɗaya a cikin dakika ɗaya a wurin, yana nufin dole ne ku ba da cibiya fiye da ɗaya. Wannan ma'auni ne mai kyau sosai. Kuna iya fahimtar cewa wannan aboki, alal misali, yana buƙatar aƙalla nau'i uku.

Wannan ita ce sana’ar mu, ban taba ganin irinsa a ko’ina ba. Da fatan za a lura - wannan abu ne mai sauqi qwarai - na biyu a cikin dakika guda. Wani lokaci, idan CPU ɗinku ya kasance 100%, sannan rabin sa'a a cikin daƙiƙa guda, wato, kun shafe rabin sa'a kawai kuna yin wannan buƙatun.

Na gaba muna ganin layuka a sakan daya. Mun san yawan layuka a cikin dakika daya ya dawo.

Sannan kuma akwai wani abu mai ban sha'awa. Yawan raba_buffers da muke karantawa a cikin daƙiƙa ɗaya daga shared_buffers kanta. hits sun riga sun kasance a can, kuma mun ɗauki layuka daga cache na tsarin aiki ko daga faifai. Zaɓin na farko yana da sauri, kuma na biyu yana iya ko bazai yi sauri ba, dangane da yanayin.

Kuma hanya ta biyu ta bambancewa ita ce rarraba adadin buƙatun da ke cikin wannan rukuni. A cikin shafi na biyu koyaushe zaka sami raba tambaya guda ɗaya kowace tambaya. Sannan yana da ban sha'awa - nawa millise seconds suka kasance a cikin wannan buƙatar. Mun san yadda wannan tambayar ke aiki akan matsakaici. 101 millise seconds ana buƙatar kowace buƙata. Wannan shine ma'aunin gargajiya da muke buƙatar fahimta.

Layuka nawa kowacce tambaya ta dawo akan matsakaita? Mun ga 8 wannan group ya dawo. A matsakaita, nawa aka karɓa daga cache kuma an karanta. Mun ga cewa an adana komai da kyau. M hits ga rukuni na farko.

Kuma substring na huɗu a kowane layi shine menene kashi na jimlar. Muna da kira. Sai mu ce 1. Kuma za mu iya fahimtar irin gudunmawar da wannan kungiya ke bayarwa. Mun ga cewa a cikin wannan yanayin rukunin farko yana ba da gudummawar ƙasa da 000%. Wato yana jinkirin da ba ma ganinsa a hoto gaba daya. Kuma rukuni na biyu shine 000% akan kira. Wato kashi 0,01% na duk kira shine rukuni na biyu.

Jimlar_lokaci kuma yana da ban sha'awa. Mun kashe 14% na jimlar lokacin aikin mu akan rukunin farko na buƙatun. Kuma na biyu - 11%, da dai sauransu.

Ba zan shiga cikin cikakkun bayanai ba, amma akwai dabara a can. Muna nuna kuskure a saman, saboda idan muka kwatanta, hotunan hoto na iya yin iyo, wato, wasu buƙatun na iya faɗuwa kuma ba za su iya kasancewa a cikin na biyu ba, yayin da wasu za su iya bayyana. Kuma a can muna lissafin kuskure. Idan kun ga 0, to yana da kyau. Babu kurakurai. Idan adadin kuskuren ya kai kashi 20%, ba komai.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Sai mu koma kan batun mu. Dole ne mu samar da kayan aiki. Muna ɗauka daga sama zuwa ƙasa kuma mu tafi har sai mun kai 80% ko 90%. Yawancin lokaci wannan shine ƙungiyoyi 10-20. Kuma muna yin fayiloli don pgbench. Muna amfani da bazuwar a can. Wani lokaci wannan, rashin alheri, ba ya aiki. Kuma a cikin Postgres 12 za a sami ƙarin damar yin amfani da wannan hanyar.

Sannan muna samun kashi 80-90% a jimlar_lokaci ta wannan hanyar. Me zan saka a gaba bayan "@"? Muna kallon kiran, duba yawan riba da ake samu kuma mun fahimci cewa muna da riba mai yawa a nan. Daga waɗannan kasoshi za mu iya fahimtar yadda ake daidaita kowane fayil ɗin. Bayan haka muna amfani da pgbench kuma mu tafi aiki.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Hakanan muna da K001 da K002.

K001 babban kirtani ne mai kirtani huɗu. Wannan sifa ce ta dukkan nauyinmu. Duba shafi na biyu da kasa na biyu. Mun ga cewa kimanin dakika daya da rabi a cikin dakika daya, watau idan akwai nau'i biyu, to zai yi kyau. Za a sami iya aiki kusan 75%. Kuma zai yi aiki kamar haka. Idan muna da muryoyi guda 10, to gabaɗaya za mu natsu. Ta wannan hanyar za mu iya kimanta albarkatun.

K002 shine abin da na kira azuzuwan tambaya, watau SELECT, INSERT, UPDATE, Delete. Kuma daban-daban DOMIN UPDATE, domin kulle ne.

Kuma a nan za mu iya yanke shawarar cewa SELECT shine talakawa masu karatu - 82% na duk kira, amma a lokaci guda - 74% a total_time. Wato ana kiran su da yawa, amma suna cinye albarkatun ƙasa kaɗan.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma za mu koma ga tambayar: "Ta yaya za mu iya zaɓar madaidaicin shared_buffers?" Na lura cewa yawancin ma'auni suna dogara ne akan ra'ayin - bari mu ga abin da za a yi amfani da shi, watau abin da za a yi. Yawancin lokaci ana auna shi a cikin TPS ko QPS.

Kuma muna ƙoƙarin fitar da yawancin ma'amaloli a cikin daƙiƙa guda gwargwadon yiwuwa daga motar ta amfani da sigogin kunnawa. Anan akwai daidai 311 a kowane daƙiƙa don zaɓi.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Amma babu mai tuƙi zuwa aiki da komawa gida da cikakken gudu. Wannan wauta ce. Haka tare da bayanan bayanai. Ba dole ne mu yi tuƙi da cikakken gudu ba, kuma ba wanda ya yi. Babu wanda ke rayuwa a samarwa, wanda ke da 100% CPU. Ko da yake, watakila wani yana rayuwa, amma wannan ba shi da kyau.

Manufar ita ce, yawanci muna tuƙi a kashi 20 na iya aiki, zai fi dacewa ba fiye da 50%. Kuma muna ƙoƙarin inganta lokacin amsawa ga masu amfani da mu sama da duka. Wato dole ne mu juya kullin mu ta yadda za a sami ƙarancin latency a saurin 20%, bisa sharadi. Wannan ra'ayi ne da muke ƙoƙarin amfani da shi a cikin gwaje-gwajenmu.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Kuma a ƙarshe, shawarwari:

  • Tabbatar yin Database Lab.
  • Idan zai yiwu, yi a kan buƙata don ya bayyana na ɗan lokaci - kunna kuma jefar da shi. Idan kuna da gajimare, to wannan yana tafiya ba tare da faɗi ba, watau kuna da tsayi sosai.
  • Yi sha'awar. Kuma idan wani abu ba daidai ba, to duba tare da gwaje-gwajen yadda yake aiki. Ana iya amfani da Nancy don horar da kanku don bincika yadda tushen ke aiki.
  • Kuma yi nufin mafi ƙarancin lokacin amsawa.
  • Kuma kada ku ji tsoron majiyoyin Postgres. Lokacin da kuke aiki tare da tushe, dole ne ku san Turanci. Akwai maganganu da yawa a wurin, an bayyana komai a wurin.
  • Sannan a rika duba lafiyar ma’adanar bayanai akai-akai, a kalla sau daya a kowane wata uku, da hannu, ko Postgres-checkup.

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

Tambayoyi

Godiya da yawa! Abu mai ban sha'awa.

Guda biyu.

Ee, guda biyu. Ni kadai ban gane ba. Lokacin da ni da Nancy muke aiki, za mu iya tweak siga ɗaya kawai ko duka rukuni?

Muna da ma'auni na saiti na delta. Kuna iya juya can gwargwadon yadda kuke so lokaci guda. Amma kuna buƙatar fahimtar cewa lokacin da kuka canza abubuwa da yawa, zaku iya yanke shawarar da ba daidai ba.

Ee. Me yasa na tambaya? Domin yana da wahala a gudanar da gwaje-gwaje idan kuna da siga guda ɗaya kawai. Ka ƙarfafa shi, duba yadda yake aiki. Na fitar da shi. Sai ka fara na gaba.

Kuna iya ƙarfafa shi a lokaci guda, amma ya dogara da halin da ake ciki, ba shakka. Amma yana da kyau a gwada ra'ayi ɗaya. Mun sami ra'ayi jiya. Mun sami yanayi na kurkusa sosai. Akwai saiti guda biyu. Kuma ba za mu iya fahimtar dalilin da ya sa aka sami babban bambanci ba. Kuma ra'ayin ya taso cewa kana buƙatar amfani da dichotomy don fahimtar kullun da gano menene bambanci. Nan da nan za ku iya yin rabin sigogi iri ɗaya, sannan kwata, da dai sauransu. Komai yana da sauƙi.

Kuma akwai wata tambaya. Aikin matashi ne kuma yana tasowa. An riga an shirya takaddun, akwai cikakken bayanin?

Na yi hanyar haɗi ta musamman a can zuwa bayanin sigogi. Yana nan. Amma abubuwa da yawa ba su nan. Ina neman mutane masu tunani iri ɗaya. Kuma ina samun su idan na yi. Wannan yana da kyau sosai. Wani yana aiki tare da ni, wani ya taimaka kuma ya yi wani abu a can. Kuma idan kuna sha'awar wannan batu, ba da ra'ayi game da abin da ya ɓace.

Da zarar mun gina dakin gwaje-gwaje, watakila za a sami ra'ayi. Mu gani. Na gode!

Sannu! Na gode da rahoton! Na ga cewa akwai tallafin Amazon. Akwai wani shiri don tallafawa GSP?

Tambaya mai kyau. Mun fara yi. Kuma mun daskare shi a yanzu saboda muna son tara kuɗi. Wato, akwai tallafi ta amfani da gudu akan localhost. Kuna iya ƙirƙirar misali da kanku kuma kuyi aiki a cikin gida. Af, abin da muke yi ke nan. Ina yin wannan a Getlab, can a GSP. Amma ba mu ga amfanin yin irin wannan ƙungiyar ba tukuna, saboda Google ba shi da tabo mai arha. Akwai ??? misali, amma suna da iyaka. Da fari dai, koyaushe suna da ragi na 70% kawai kuma ba za ku iya wasa da farashin a can ba. A kan tabo, muna ƙara farashin da kashi 5-10 don rage yuwuwar za a harba ku. Wato, kuna adana tabo, amma ana iya ɗaukar su daga gare ku a kowane lokaci. Idan ka yi tayi kadan fiye da yadda wasu ke yi, za a kashe ka daga baya. Google yana da cikakkun bayanai daban-daban. Kuma akwai wani mummunan iyakancewa - suna rayuwa ne kawai na sa'o'i 24. Kuma wani lokacin muna so mu gudanar da gwaji na kwanaki 5. Amma kuna iya yin wannan a cikin tabo; aibobi wani lokacin suna ɗaukar watanni.

Sannu! Na gode da rahoton! Kun ambaci dubawa. Ta yaya kuke lissafta kurakuran stat_statements?

Tambaya mai kyau. Zan iya nunawa kuma in gaya muku dalla-dalla. A taƙaice, muna duban yadda ƙungiyoyin buƙatun ke shawagi: nawa ne suka faɗi kuma nawa ne sababbi suka bayyana. Sannan muna duban ma'auni biyu: total_time da kira, don haka akwai kurakurai guda biyu. Kuma muna duban gudunmawar kungiyoyin iyo. Ƙungiya biyu ne: waɗanda suka tafi da waɗanda suka isa. Bari mu ga mene ne gudunmawar su ga cikakken hoto.

Ba ku jin tsoron cewa zai juya can sau biyu ko uku a tsakanin lokacin daukar hoto?

Wato sun sake yin rajista ko me?

Misali, an riga an riga an riga an riga an riga an riga an riga an riga an yi wannan buqatar sau xaya, sannan ta zo aka sake rigarta, sannan ta sake zuwa aka sake rigarta. Kuma kun lissafta wani abu a nan, kuma ina duka yake?

Tambaya mai kyau, dole ne mu duba.

Na yi irin wannan abu. Ya fi sauƙi, ba shakka, na yi shi ni kaɗai. Amma dole in sake saitawa, sake saita stat_statements kuma in gano a lokacin hoton cewa akwai ƙasa da wani ɗan guntu, wanda har yanzu bai kai saman rufin nawa stat_statements zai iya tarawa a wurin ba. Kuma fahimtata ita ce, mai yiwuwa, babu abin da aka raba.

Na iya.

Amma ban fahimci yadda kuma zan yi shi a dogara ba.

Abin takaici, ban tuna daidai ko muna amfani da rubutun tambaya a can ko kuma muna amfani da pg_stat_statements kuma muna mai da hankali kan shi. Idan muka mayar da hankali kan queryid, to a ka'idar muna kwatanta abubuwa masu kama da juna.

A'a, ana iya tilasta masa fitar da shi sau da yawa tsakanin hotunan hoto kuma ya sake dawowa.

Da wannan id?

Ee.

Za mu yi nazarin wannan. Tambaya mai kyau. Muna bukatar mu yi nazarinsa. Amma a yanzu, abin da muke gani ko dai an rubuta 0 ...

Wannan, ba shakka, lamari ne da ba kasafai ba, amma na yi mamaki lokacin da na gano cewa stat_statemetns na iya ƙaura a can.

Ana iya samun abubuwa da yawa a cikin Pg_stat_statements. Mun ci karo da gaskiyar cewa idan kuna da track_utility = kunna, to ana bin sawun naku.

Ee babu shakka.

Kuma idan kuna da java hibernate, wanda shine bazuwar, to, tebur ɗin zanta ya fara zama a wurin. Kuma da zarar kun kashe aikace-aikacen da aka yi lodi sosai, kun ƙare da ƙungiyoyi 50-100. Kuma komai yana da ƙarfi ko kaɗan a can. Hanya ɗaya don magance wannan ita ce ƙara pg_stat_statements.max.

Ee, amma kuna buƙatar sanin nawa. Kuma ko ta yaya muna bukatar mu sa ido a kansa. Abin da nake yi ke nan. Wato ina da pg_stat_statements.max. Kuma na ga cewa a lokacin daukar hoton ban kai kashi 70 ba. To, don haka ba mu yi asarar komai ba. Mu sake saiti. Kuma mun sake ajiyewa. Idan hoton na gaba bai wuce 70 ba, to da alama ba ku sake yin asarar komai ba.

Ee. Adadin da aka biya yanzu ya kai 5. Kuma wannan ya isa ga mutane da yawa.

Yawancin lokaci eh.

Video:

PS A madadina, zan ƙara cewa idan Postgres ya ƙunshi bayanan sirri kuma ba za a iya haɗa shi cikin yanayin gwajin ba, to zaku iya amfani da shi. PostgreSQL Anonymizer. Tsarin yana kusan kamar haka:

Hanyar masana'antu don kunna PostgreSQL: gwaje-gwaje akan bayanan bayanai." Nikolay Samokhvalov

source: www.habr.com

Add a comment