
Hoʻolauna Philosophical
E like me kāu e ʻike ai, ʻelua wale nō ala e hoʻoponopono ai i nā pilikia:
- Ke ʻano o ka nānā ʻana a i ʻole ke ʻano o ka unuhi ʻana, a i ʻole mai ka laulā a i ke kikoʻī.
- ʻO ke ʻano o ka synthesis a i ʻole ke ʻano o ka induction, a i ʻole mai kahi kikoʻī a i ka laulā.
No ka hoʻoponopono i ka pilikia "hoʻomaikaʻi i ka hana ʻikepili", e like paha me kēia.
ʻIkepili - Hoʻopili mākou i ka pilikia i nā ʻāpana ʻokoʻa a, ma ka hoʻoponopono ʻana iā lākou, hoʻāʻo mākou e hoʻomaikaʻi i ka hana o ka waihona ma ke ʻano holoʻokoʻa.
I ka hoʻomaʻamaʻa, ʻike ʻia ka ʻikepili e like me kēia:
- Hiki mai kahi pilikia (hana hana)
- ʻOhi ʻikepili helu e pili ana i ke kūlana o ka waihona
- Ke ʻimi nei i nā bottlenecks
- Hoʻoponopono mākou i nā pilikia mai nā bottlenecks
Nā bottlenecks waihona - ʻoihana (CPU, Memory, Disks, Network, OS), nā hoʻonohonoho (postgresql.conf), nā nīnau:
Kāpena: ʻO nā mea hiki ke hoʻololi a me ka hoʻololi ʻana no kahi ʻenekinia ua aneane ʻole.
Nā hoʻonohonoho waihona: ʻoi aku ka liʻiliʻi o nā mea hiki ke hoʻololi ma mua o ka hihia ma mua, akā ma ke ʻano he paʻakikī loa lākou, ʻoi aku hoʻi i nā ao.
Nā noi i ka waihona: he lumi wale no ka hana.
Kuhi - hoʻomaikaʻi mākou i ka hana o kēlā me kēia ʻāpana, me ka manaʻo e hoʻomaikaʻi ka hana ʻikepili ma muli o ka hopena.
ʻO ka hoʻolauna mele a i ʻole ke kumu e pono ai kēia mau mea
He aha ke kaʻina hana no ka hoʻoponopono ʻana i nā hanana hana inā ʻaʻole nānā ʻia ka hana ʻikepili:
Mea kūʻai - "ʻino nā mea a pau me mākou, lōʻihi loa ia, hana i kahi mea maikaʻi no mākou"
ʻEnekinia - "pehea ka ʻino?"
ʻO ka mea kūʻai - "ʻo ia ke ʻano o kēia manawa (hoʻokahi hola i hala, i nehinei, ka manawa hope loa), lohi"
ʻEnekinia - "I ka manawa hea i maikaʻi ai?"
Mea kūʻai - "he pule (ʻelua pule) i hala aku nei ʻaʻole maikaʻi. “(Laki)
Mea kūʻai - "ʻAʻole wau e hoʻomanaʻo i ka wā i maikaʻi ai, akā i kēia manawa ua ʻino" (pane maʻamau)
He kiʻi maʻamau ka hopena:

ʻO wai ka hewa a he aha ka hana?
ʻO ka hapa mua o ka nīnau ka mea maʻalahi loa e pane - ʻo ka ʻenekinia DBA ka hewa mau.
ʻAʻole paʻakikī loa ka ʻāpana ʻelua e pane - pono ʻoe e hoʻokō i kahi ʻōnaehana nānā ʻana i ka hana ʻikepili.
ʻO ka nīnau mua - he aha ka nānā ʻana?
Alanui 1. E nānā mākou i nā mea a pau

ʻO ka ukana CPU, ka helu o ka disk heluhelu/kākau hana, ka nui o ka hoʻomanaʻo i hoʻokaʻawale ʻia, a me kekahi megaton o nā helu helu like ʻole i hiki ke hāʻawi ʻia e kekahi ʻōnaehana nānā hana.
ʻO ka hopena he pūʻulu o nā kiʻi, nā papa hōʻuluʻulu, a me nā leka uila hoʻomau a me ka 100% ʻenekini hana e hoʻoponopono i kahi pūʻulu o nā tiketi like, akā naʻe, ma ke ʻano he kānāwai, me ka huaʻōlelo maʻamau - "Puka no ka manawa. ʻAʻohe hana e pono ai. " Akā paʻa nā mea a pau, a aia mau kahi mea e hōʻike ai i ka mea kūʻai - ke holo nei ka hana.
Ala 2. E nānā wale i ka mea e pono ai, a ʻo ka mea pono ʻole ʻaʻole pono e nānā
Hiki iā ʻoe ke nānā, ʻokoʻa iki, nā hui a me nā hanana wale nō:
- ʻO wai ka DBA Engineer hiki ke hoʻoikaika
- No ka mea aia kahi algorithm o nā hana i ka wā e kū ai kahi hanana a i ʻole kahi mea hoʻololi.
Ma muli o kēia manaʻo a me ka hoʻomanaʻo "Hoʻolauna Philosophical" i mea e pale aku ai i ka hana hou pinepine "ʻO ka hoʻolauna mele a i ʻole ke kumu e pono ai kēia mau mea"He mea maikaʻi e nānā i ka hana o nā nīnau pilikino no ka loiloi a me ka nānā ʻana, e alakaʻi i ka hoʻomaikaʻi ʻana i ka hana o ka ʻikepili holoʻokoʻa.
Akā i mea e hoʻomaikaʻi ai i kahi nīnau koʻikoʻi e pili ana i ka hana ʻikepili holoʻokoʻa, pono ʻoe e ʻimi mua.
No laila, ʻelua mau nīnau pili e kū mai:
- ua manao paakiki ia noi
- pehea e ʻimi ai i nā nīnau pilikia.
ʻIke loa, ʻo kahi nīnau koʻikoʻi he nīnau e hoʻohana ana i ka nui o nā kumuwaiwai OS e loaʻa ai ka hopena.
E neʻe kākou i ka nīnau ʻelua - pehea e ʻimi ai a nānā i nā nīnau koʻikoʻi?
He aha nā mana nānā hulina i loaʻa iā PostgreSQL?
Hoʻohālikelike ʻia me Oracle, liʻiliʻi nā mea hiki, akā hiki ke hana i kekahi mea.

PG_STAT_STATEMENTS
No ka huli ʻana a nānā i nā nīnau koʻikoʻi ma PostgreSQL, ua manaʻo ʻia ka hoʻonui maʻamau pg_stat_statements.
Ma hope o ka hoʻokomo ʻana i ka hoʻonui, ʻike ʻia kahi ʻike o ka inoa like i ka waihona i hoʻopaʻa ʻia, pono e hoʻohana ʻia no ka nānā ʻana.
Kuhi ʻia nā kolamu pg_stat_statements no ke kūkulu ʻana i kahi ʻōnaehana nānā:
- queryid Ua helu ʻia ke code hash kūloko mai ka lāʻau parse o ka mea hoʻohana
- max_time ʻO ka manawa kiʻekiʻe i hoʻohana ʻia ma kahi ʻōlelo, i nā milliseconds
Ma ka hōʻiliʻili ʻana a me ka hoʻohana ʻana i nā ʻikepili ma kēia mau kolamu ʻelua, hiki iā ʻoe ke kūkulu i kahi ʻōnaehana nānā.
Pehea e hoʻohana ʻia ai nā pg_stat_statements e nānā i ka hana ʻo PostgreSQL

No ka nānā ʻana i ka hoʻohana ʻana i ka hana noiʻi:
Ma ka ʻaoʻao waihona waihona - nānā pg_stat_statements
Mai ka ʻaoʻao kikowaena pūnaewele a me ka nānā ʻana i nā ʻikepili - kahi hoʻonohonoho o nā palapala bash a me nā papa lawelawe.
Papa 1 - hōʻiliʻili ʻikepili helu
Ma ka cron monitor host, hoʻomaka mau ʻia kahi palapala e kope i nā ʻike o ka ʻike pg_stat_statements mai ka ʻikepili i hoʻopaʻa ʻia i ka papa pg_stat_history i ka ʻikepili nānā.
Hoʻokumu kēia i ka mōʻaukala o nā hoʻokō nīnau nīnau hoʻokahi i hiki ke hoʻohana ʻia e hana i nā hōʻike hana a hoʻonohonoho i nā ana.
Māhele 2 - hoʻonohonoho i nā ana hana
Ma muli o ka ʻikepili i hōʻiliʻili ʻia, koho mākou i nā nīnau nona ka hoʻokō koʻikoʻi / koʻikoʻi no ka mea kūʻai aku (noi). Ma ka ʻaelike me ka mea kūʻai, hoʻonohonoho mākou i nā waiwai o nā ana hana me ka hoʻohana ʻana i ka queryid a me max_time kahua.
Ka hopena - hoʻomaka ka nānā ʻana i ka hana
- ʻO ka palapala kiaʻi, i ka wā e holo ai, nānā i nā ana hana i hoʻonohonoho ʻia ma ka hoʻohālikelike ʻana i ka waiwai max_time o ka metric me ka waiwai mai ka nānā ʻana i nā pg_stat_statements ma ka waihona i manaʻo ʻia.
- Inā ʻoi aku ka nui o ka waiwai i loko o ka waihona ʻikepili i ʻoi aku ma mua o ka waiwai metric, hana ʻia kahi ʻōlelo aʻo (kahi hanana i ka ʻōnaehana tiketi)
Koho hou 1
Ka mōʻaukala hoʻolālā nīnau
No ke kōkua ʻana i ka hoʻoponopono ʻana i nā hanana hana ma hope, he manaʻo maikaʻi e loaʻa kahi moʻolelo o ka hoʻololi ʻana i nā hoʻolālā hoʻokō nīnau.
Hoʻohana ʻia ka papa lawelawe log_query e mālama i ka mōʻaukala. Hoʻopiha ʻia ka pākaukau i ka wā e nānā ana i ka faila log PostgreSQL i hoʻouka ʻia. No ka mea, ʻo ka faila log, ʻaʻole like me ka nānā ʻana i ka pg_stat_statements, loaʻa i ka kikokikona piha me nā koina o nā ʻāpana hoʻokō, ʻaʻole i ka kikokikona maʻamau, hiki ke hoʻopaʻa inoa ʻaʻole wale i ka manawa a me ka lōʻihi o nā noi, akā mālama pū kekahi i nā hoʻolālā hoʻokō i kēia manawa. manawa.
Koho hou 2
Kaʻina hana hoʻomaikaʻi mau
ʻAʻole i manaʻo ʻia ka nānā ʻana i nā nīnau pilikino e hoʻoponopono i ka pilikia o ka hoʻomaikaʻi mau ʻana i ka hana o ka waihona ma ke ʻano holoʻokoʻa, no ka mea, nānā a hoʻoponopono i nā pilikia hana no nā nīnau pākahi wale nō. Eia naʻe, hiki iā ʻoe ke hoʻonui i ke ʻano a hoʻonohonoho i nā nīnau nānā no nā ʻikepili āpau.
No ka hana ʻana i kēia, pono ʻoe e hoʻokomo i nā metric hana hou:
- I nā lā i hala iho nei
- No ka wā kumu
Koho ka palapala i nā nīnau mai ka nānā ʻana i nā pg_stat_statements ma ka waihona i hoʻopaʻa ʻia a hoʻohālikelike i ka waiwai max_time me ka waiwai max_time awelika, ma ka hihia mua no nā lā hope a i ʻole no ka manawa i koho ʻia (baseline), ma ka hihia ʻelua.
No laila, i ka hihia o ka hana hoʻohaʻahaʻa no kekahi noi, e hoʻopuka ʻia kahi ʻōlelo aʻo, me ka ʻole o ka loiloi lima o nā hōʻike.
He aha ka pili o ka synthesis me ia?
Ma ke ala i wehewehe ʻia, e like me ke ʻano o ka synthesis, ma ka hoʻomaikaʻi ʻana i nā ʻāpana pākahi o ka ʻōnaehana, hoʻomaikaʻi mākou i ka ʻōnaehana holoʻokoʻa.
- Hoʻokō ʻia ka nīnau e kahi waihona - abstract
- Noi hoʻololi - antithesis
- Ke hoʻololi nei i ke kūlana o ka ʻōnaehana - synthesis

Hoʻomohala ʻōnaehana
- Hoʻonui i nā ʻikepili i hōʻiliʻili ʻia ma ka hoʻohui ʻana i ka mōʻaukala no ka ʻike ʻōnaehana pg_stat_activity
- Hoʻonui i nā ʻikepili i hōʻiliʻili ʻia ma ka hoʻohui ʻana i ka mōʻaukala no nā ʻikepili o nā papa pākahi e komo ana i nā nīnau.
- Hoʻohui pū me ka ʻōnaehana kiaʻi ao AWS
- Eia naʻe, hiki iā ʻoe ke hana i kekahi mea ...
Source: www.habr.com
