Hana kiʻekiʻe a me ka hoʻokaʻawale ʻana: Zabbix me ke kākoʻo ʻo TimescaleDB
ʻO Zabbix kahi ʻōnaehana nānā. E like me nā ʻōnaehana ʻē aʻe, ke kū nei ʻo ia i ʻekolu mau pilikia nui o nā ʻōnaehana nānā a pau: ʻohi a hoʻoili i ka ʻikepili, mālama i ka mōʻaukala, a me ka hoʻomaʻemaʻe ʻana.
ʻO nā pae o ka loaʻa ʻana, ka hana ʻana a me ka hoʻopaʻa ʻana i ka ʻikepili he manawa. ʻAʻole nui, akā no kahi ʻōnaehana nui hiki ke hopena i nā lohi nui. ʻO ka pilikia o ka mālama ʻana he pilikia komo ʻikepili. Hoʻohana ʻia lākou no nā hōʻike, nā loiloi a me nā hoʻoiho. Hoʻopili pū ʻia ka hana ʻana o nā lohi i ka ʻike ʻikepili. Ke ulu ka waihona, pono e holoi ʻia nā ʻikepili pili ʻole. He hana paʻakikī ka wehe ʻana e ʻai ai i kekahi mau kumuwaiwai.
Hoʻoholo ʻia nā pilikia o ka lohi i ka wā o ka hōʻiliʻili ʻana a me ka mālama ʻana ma Zabbix ma o ka hoʻopaʻa ʻana: he mau ʻano o ka cache, ka hoʻopaʻa ʻana i ka waihona. No ka hoʻoponopono ʻana i ke kolu o ka pilikia, ʻaʻole kūpono ka caching, no laila ua hoʻohana ʻo Zabbix iā TimescaleDB. E haʻi aku ʻo ia iā ʻoe Andrey Gushchin - ʻenehana kākoʻo ʻenehana Zabbix SIA. Ke kākoʻo nei ʻo Andrey iā Zabbix ma mua o 6 mau makahiki a loaʻa iā ia ka ʻike pololei me ka hana.
Pehea e hana ai ʻo TimescaleDB, he aha ka hana e hiki ai ke hoʻohālikelike i ka PostgreSQL maʻamau? He aha ka hana a Zabbix no ka ʻikepili TimescaleDB? Pehea e hoʻomaka ai mai ka ʻōpala a pehea e neʻe ai mai PostgreSQL a ʻo wai ka hoʻonohonoho ʻoi aku ka maikaʻi o ka hana? E pili ana i kēia mau mea ma lalo o ka ʻoki.
Nā Luʻi Huahana
Ke kū nei kēlā me kēia ʻōnaehana nānā i nā pilikia hana kūikawā. E kamaʻilio wau e pili ana i ʻekolu o lākou: ka hōʻiliʻili ʻikepili a me ka hoʻoili ʻana, ka mālama ʻana, a me ka holoi ʻana i ka mōʻaukala.
ʻOhi ʻikepili wikiwiki a hana. Pono e loaʻa koke i kahi ʻōnaehana kiaʻi maikaʻi nā ʻikepili āpau a hoʻoponopono iā ia e like me nā ʻōlelo hoʻāla - e like me kāna mau pae. Ma hope o ka hana ʻana, pono e mālama koke ka ʻōnaehana i kēia ʻikepili i ka waihona no ka hoʻohana hope.
Waihona mōʻaukala. Pono ka ʻōnaehana nānā maikaʻi e mālama i ka mōʻaukala i loko o kahi waihona a hāʻawi maʻalahi i ke komo ʻana i nā ana. Pono e hoʻohana ʻia ka mōʻaukala i nā hōʻike, nā kiʻi, nā mea hoʻoulu, nā paepae, a me nā mea ʻikepili makaʻala i helu ʻia.
Hoʻomaʻemaʻe i ka mōʻaukala. I kekahi manawa hiki mai kahi lā ʻaʻole pono ʻoe e mālama i nā metric. No ke aha ʻoe e makemake ai i ka ʻikepili i hōʻiliʻili ʻia i 5 mau makahiki i hala, hoʻokahi mahina a ʻelua paha: ua holoi ʻia kekahi mau nodes, ʻaʻole pono kekahi mau pūʻali a i ʻole metric no ka mea ua kahiko lākou a ʻaʻole i hōʻiliʻili hou ʻia. Pono ka ʻōnaehana nānā pono e mālama i ka ʻikepili mōʻaukala a holoi i kēlā me kēia manawa i ʻole e ulu ka waihona.
He pilikia koʻikoʻi ka hoʻomaʻemaʻe ʻana i ka ʻikepili palaka e pili nui ana i ka hana ʻikepili.
Hoʻokomo ʻia ma Zabbix
Ma Zabbix, hoʻopau ʻia nā kelepona mua a me ka lua me ka hoʻohana ʻana i ka caching. Hoʻohana ʻia ka RAM e hōʻiliʻili a hoʻoili i ka ʻikepili. No ka mālama ʻana - ka mōʻaukala i nā mea hoʻoheheʻe, nā kiʻi a me nā mea ʻikepili helu. Aia ma ka ʻaoʻao waihona waihona no nā koho maʻamau, no ka laʻana, nā kiʻi.
ʻO ka mālama ʻana ma ka ʻaoʻao o ka server Zabbix ponoʻī:
ConfigurationCache;
ValueCache;
HistoryCache;
TrendsCache.
E noʻonoʻo pono iā lākou i nā kikoʻī.
ConfigurationCache
ʻO kēia ka hūnā nui kahi e mālama ai mākou i nā metrics, hosts, data items, triggers - nā mea āpau a mākou e pono ai no PreProcessing a no ka hōʻiliʻili ʻikepili.
Mālama ʻia kēia mau mea a pau ma ConfigurationCache i ʻole e hana i nā nīnau pono ʻole i ka waihona. Ma hope o ka hoʻomaka ʻana o ke kikowaena, hoʻonui mākou i kēia cache, hana a hoʻololi i nā hoʻonohonoho i kēlā me kēia manawa.
ʻOhi ʻikepili
He nui ka kiʻi, akā ʻo ka mea nui i loko nā ʻohi ʻohi. ʻO kēia nā ʻano "pollers" - nā kaʻina hana hui. Na lākou ke kuleana no nā ʻano hui like ʻole: hōʻiliʻili lākou i ka ʻikepili ma o SNMP, IPMI, a hoʻoili iā ia a pau i PreProcessing.
Hōʻike ʻia nā mea ʻohi i ka ʻalani.
Ua helu ʻo Zabbix i nā mea hōʻuluʻulu e pono ai e hōʻuluʻulu i nā loiloi. Inā loaʻa iā mākou, kiʻi mākou i ka ʻikepili no lākou mai ka ValueCache.
PreProcessing HistoryCache
Hoʻohana nā mea ʻohi a pau i ka ConfigurationCache no ka loaʻa ʻana o nā hana. A laila hoʻololi lākou iā lākou i PreProcessing.
Hoʻohana ʻo PreProcessing i ka ConfigurationCache e loaʻa i nā ʻanuʻu PreProcessing. Hana ia i kēia ʻikepili ma nā ʻano like ʻole.
Ma hope o ka hoʻoili ʻana i ka ʻikepili me ka hoʻohana ʻana i ka PreProcessing, mālama mākou iā ia ma HistoryCache no ka hana ʻana. Hoʻopau kēia i ka hōʻiliʻili ʻikepili a neʻe mākou i ke kaʻina hana nui ma Zabbix - mea hoʻoponopono mōʻaukala, no ka mea, he hale hana monolithic.
Nānā: He hana paʻakikī ka PreProcessing. Me ka v 4.2 ua hoʻoneʻe ʻia i kahi koho. Inā loaʻa iā ʻoe kahi Zabbix nui loa me ka nui o nā mea ʻikepili a me ka pinepine o ka hōʻiliʻili ʻana, a laila e maʻalahi ka hana.
ValueCache, mōʻaukala a me nā ʻano cache
ʻO ka mōʻaukala syncer ke kaʻina hana nui e hoʻoheheʻe ʻia i kēlā me kēia mea ʻikepili, ʻo ia hoʻi, kēlā me kēia waiwai.
Lawe ʻo History Syncer i nā waiwai mai HistoryCache a nānā i ka Configuration no ka loaʻa ʻana o nā mea hoʻomaka no ka helu ʻana. Inā loaʻa lākou, helu ia.
Hoʻokumu ka mōʻaukala syncer i kahi hanana, escalation e hana i nā mākaʻikaʻi inā koi ʻia e ka hoʻonohonoho ʻana, a me nā moʻolelo. Inā loaʻa nā mea hoʻonā no ka hana ʻana ma hope, a laila mālama ia i kēia waiwai ma ValueCache i ʻole e komo i ka papa mōʻaukala. ʻO kēia keʻano o ka hoʻopihaʻiaʻana o ValueCache me nāʻikepili e pono ai ke helu i nā mea hoʻomaka a me nā mea i heluʻia.
Kākau ʻo History Syncer i nā ʻikepili a pau i ka waihona, a kākau i ka disk. Pau ke kaʻina hana ma ʻaneʻi.
Hoʻokomo i ka waihona
Aia ma ka ʻaoʻao ʻikepili he mau huna huna ke makemake ʻoe e nānā i nā kiʻi a i ʻole nā hōʻike i nā hanana:
Innodb_buffer_pool ma ka ʻaoʻao MySQL;
shared_buffers ma ka ʻaoʻao PostgreSQL;
effective_cache_size ma ka aoao Oracle;
shared_pool ma ka aoao DB2.
Nui nā waihona ʻē aʻe, akā ʻo kēia nā mea nui no nā ʻikepili āpau. Hāʻawi lākou iā ʻoe e mālama i ka ʻikepili i ka RAM i makemake pinepine ʻia no nā nīnau. Loaʻa iā lākou kā lākou ʻenehana ponoʻī no kēia.
He mea koʻikoʻi ka hana ʻikepili
ʻOhi mau ke kikowaena Zabbix i ka ʻikepili a kākau iā ia. Ke hoʻomaka hou, heluhelu ʻia mai ka mōʻaukala e hoʻopiha i ka ValueCache. Hoʻohana i nā palapala a me nā hōʻike Zabbix API, i kūkulu ʻia ma luna o kahi kikowaena pūnaewele. Loaʻa ka Zabbix API i ka waihona a hoʻihoʻi i ka ʻikepili kūpono no nā kiʻi, nā hōʻike, nā papa inoa hanana a me nā pilikia hou.
No ka nānā ʻana - grafana. He hopena kaulana kēia i waena o kā mākou mea hoʻohana. Hiki iā ia ke hoʻouna pololei i nā noi ma o ka Zabbix API a i ka waihona, a hana i kekahi hoʻokūkū no ka loaʻa ʻana o ka ʻikepili. No laila, ʻoi aku ka maikaʻi a me ka maikaʻi o ka hoʻoponopono ʻana i ka waihona e hoʻohālikelike i ka hoʻopuka wikiwiki ʻana o nā hopena a me ka hoʻāʻo.
housekeeper
ʻO ke kolu o ka hana hoʻokūkū ma Zabbix ʻo ka hoʻomaʻemaʻe ʻana i ka mōʻaukala me ka hoʻohana ʻana iā Housekeeper. Hoʻopili ia i nā hoʻonohonoho āpau - hōʻike nā mea ʻikepili i ka lōʻihi o ka mālama ʻana i ka dynamics o nā loli (trend) i nā lā.
Helu mākou iā TrendsCache ma ka lele. Ke hiki mai ka ʻikepili, hōʻuluʻulu mākou iā ia no hoʻokahi hola a hoʻopaʻa ʻia i loko o nā papa no ka dinamika o nā loli.
Hoʻomaka ka hale mālama hale a holoi i ka ʻike mai ka waihona me ka hoʻohana ʻana i nā "koho". ʻAʻole maikaʻi kēia i nā manawa a pau, e like me ka mea i ʻike ʻia mai nā kiʻi hana o nā kaʻina kūloko.
Hōʻike ka pakuhi ʻulaʻula e paʻa mau ana ka mōʻaukala syncer. ʻO ka pakuhi ʻalani ma luna, ʻo ia ʻo Housekeeper, e holo mau ana. Ke kali nei ʻo ia i ka ʻikepili e holoi i nā lālani a pau āna i ʻōlelo ai.
I ka manawa hea ʻoe e hoʻopau ai i ka Housekeeper? No ka laʻana, aia kahi "Item ID" a pono ʻoe e holoi i nā lālani 5 tausani hope loa i loko o kekahi manawa. ʻOiaʻiʻo, hiki kēia ma ka index. Akā ʻo ka maʻamau he nui loa ka waihona, a heluhelu mau ka waihona mai ka disk a waiho i loko o ka huna. He hana pipiʻi loa kēia no ka waihona a, ma muli o ka nui o ka waihona, hiki ke alakaʻi i nā pilikia hana.
He mea maʻalahi ka mālama hale. Aia ma ka ʻaoʻao pūnaewele kahi hoʻonohonoho i ka "Administration general" no Housekeeper. Hoʻopau mākou i ka Housekeeping kūloko no ka mōʻaukala o loko a ʻaʻole ia e hoʻokele hou.
Ua hoʻopau ʻia ka mea mālama hale, ua hoʻohaʻahaʻa ʻia nā kiʻi - he aha nā pilikia i loaʻa i kēia hihia a he aha ka mea e hiki ke kōkua i ka hoʻoponopono ʻana i ke kolu o ka hoʻokō ʻana?
Māhele ʻāpana - partitioning or partitioning
ʻO ka maʻamau, ua hoʻonohonoho ʻia ka partitioning ma kahi ʻano ʻokoʻa ma kēlā me kēia waihona pili pili aʻu i helu ai. Loaʻa i kēlā me kēia me kāna ʻenehana ponoʻī, akā like lākou ma ka laulā. ʻO ka hana ʻana i kahi ʻāpana hou e alakaʻi pinepine ai i kekahi mau pilikia.
ʻO ka maʻamau, hoʻonohonoho ʻia nā ʻāpana ma muli o ka "hoʻonohonoho" - ka nui o ka ʻikepili i hana ʻia i hoʻokahi lā. E like me ke kānāwai, hoʻopuka ʻia ʻo Partitioning i hoʻokahi lā, ʻo ia ka liʻiliʻi loa. No nā ʻano o kahi pūʻulu hou - 1 mahina.
Hiki ke loli nā waiwai inā nui loa ka "hoʻonohonoho". Inā piʻi ka "hoʻonohonoho" liʻiliʻi i 5 nvps (nā waiwai hou i kēlā me kēia kekona), ʻo ka mea waena mai 000 a 5, a laila ʻoi aku ka nui ma luna o 000 nvps. ʻO kēia nā hoʻonohonoho nui a nui loa e pono ai ka hoʻonohonoho pono ʻana o ka waihona.
Ma nā hoʻonohonoho nui loa, ʻaʻole kūpono ka manawa o hoʻokahi lā. Ua ʻike au i nā ʻāpana MySQL o 40 GB a ʻoi aku paha i kēlā me kēia lā. He nui loa kēia o ka ʻikepili i hiki ke hoʻopilikia a pono e hoʻemi ʻia.
He aha ka mea e hāʻawi ai ʻo Partitioning?
Nā papa ʻaina. ʻO ka manawa pinepine he mau faila kaʻawale kēia ma ka disk. Koho ka hoʻolālā noiʻi i hoʻokahi ʻāpana ʻoi aku ka maikaʻi. Hoʻohana maʻamau ka hoʻokaʻawale ʻana e ka laulā - ʻoiaʻiʻo nō kēia no Zabbix. Hoʻohana mākou i ka "timestamp" ma laila - manawa mai ka hoʻomaka ʻana o ke au. He helu maʻamau kēia no mākou. Hoʻonoho ʻoe i ka hoʻomaka a me ka hopena o ka lā - he ʻāpana kēia.
Wehe koke - DELETE. Hoʻokahi faila/subtable i koho ʻia, ma mua o kahi koho o nā lālani no ka holoi ʻana.
Hoʻoikaika nui i ka loaʻa ʻana o ka ʻikepiliSELECT - hoʻohana i hoʻokahi a ʻoi aku paha nā ʻāpana, ma mua o ka papaʻaina holoʻokoʻa. Inā ʻoe e komo i ka ʻikepili i ʻelua mau lā, ʻoi aku ka wikiwiki o ka kiʻi ʻana mai ka waihona no ka mea pono ʻoe e hoʻouka i hoʻokahi faila i loko o ka waihona a hoʻihoʻi, ʻaʻole i ka papaʻaina nui.
Hoʻonui pinepine ʻia nā ʻikepili he nui INSERT - nā hoʻokomo i loko o ka papaʻaina keiki.
TimescaleDB
No ka v 4.2, ua huli mākou i ko mākou manaʻo iā TimescaleDB. He hoʻonui kēia no PostgreSQL me kahi kikowaena maoli. Hana maikaʻi ka hoʻonui ʻana me ka ʻikepili manawa, me ka nalowale ʻole o nā pono o nā ʻikepili pili. Hoʻokaʻawale maʻalahi ʻo TimescaleDB.
He manaʻo ko TimescaleDB pāʻālua (hypertable) āu e hana ai. Aia i loko nā ʻāpana - nā ʻāpana. Hoʻohana ʻia ʻo Chunks i nā ʻāpana hypertable ʻaʻole pili i nā ʻāpana ʻē aʻe. Loaʻa i kēlā me kēia puʻupuʻu kona manawa ponoʻī.
TimescaleDB vs PostgreSQL
Hana maikaʻi ʻo TimescaleDB. Ke koi nei nā mea hana o ka hoʻonui e hoʻohana lākou i kahi algorithm hoʻoponopono hulina pololei, i inserts . Ke ulu nei ka nui o ka hoʻokomo ʻana i ka dataset, mālama ka algorithm i ka hana mau.
Ma hope o 200 miliona mau lālani, hoʻomaka ʻo PostgreSQL i ka sag nui a nalowale ka hana i ka 0. ʻAe ʻo TimescaleDB iā ʻoe e hoʻokomo pono i nā "hoʻokomo" no kekahi nui o ka ʻikepili.
Kāu Mau Koho Paʻamau
He mea maʻalahi ka hoʻouka ʻana iā TimescaleDB no kēlā me kēia pā. IN palapala wehewehe ʻia nā mea a pau - pili ia i nā pūʻolo PostgreSQL mana. Hiki ke kūkulu ʻia a hoʻopili lima ʻia ʻo TimescaleDB.
No ka waihona ʻo Zabbix, hoʻāla mākou i ka hoʻonui:
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
Ho'ā 'oe extension a hana ia no ka waihona Zabbix. ʻO ka hana hope e hana i kahi hypertable.
He ʻekolu mau ʻāpana ka hana. Ka mua - papa ma ka waihona, pono ʻoe e hana i kahi hypertable. Ka lua - kahua, e like me kāu e hana ai chunk_time_interval - ka wā o nā ʻāpana ʻāpana e hoʻohana ʻia. I koʻu hihia, hoʻokahi lā ka wā - 86.
ʻāpana ʻekolu - migrate_data. Inā hoʻonoho ʻoe true, a laila hoʻoili ʻia nā ʻikepili o kēia manawa i nā ʻāpana i hana mua ʻia. Ua hoʻohana wau iaʻu iho migrate_data. Loaʻa iaʻu ma kahi o 1 TB, ʻoi aku ka lōʻihi o hoʻokahi hola. ʻOiai i kekahi mau hihia, i ka wā o ka hoʻāʻo ʻana, ua holoi wau i ka ʻikepili mōʻaukala o nā ʻano ʻano ʻano i koi ʻole ʻia no ka mālama ʻana, i ʻole e hoʻoili iā lākou.
ʻanuʻu hope - UPDATE: i loko db_extension kau timescaledbi hoʻomaopopo ka ʻikepili e loaʻa ana kēia hoʻonui. Hoʻohana ʻo Zabbix iā ia a hoʻohana pono i ka syntax a me nā nīnau i ka waihona - kēlā mau hiʻohiʻona e pono ai no TimescaleDB.
Hoʻonohonoho lako lako
Ua hoʻohana au i ʻelua mau kikowaena. Ka mua - mīkini VMware. He mea liʻiliʻi loa: 20 Intel® Xeon® CPU E5-2630 v 4 @ 2.20GHz kaʻina hana, 16 GB o RAM a me 200 GB SSD.
Ua hoʻokomo wau i ka PostgreSQL 10.8 ma luna me Debian 10.8-1.pgdg90+1 OS a me ka ʻōnaehana faila xfs. Ua hoʻonohonoho au i nā mea liʻiliʻi loa e hoʻohana i kēia waihona kikoʻī, hoʻemi i ka mea a Zabbix e hoʻohana ai.
Ma ka mīkini hoʻokahi aia kahi kikowaena Zabbix, PostgreSQL a mea lawe ukana. Ua loaʻa iaʻu he 50 mau mea hana e hoʻohana nei LoadableModulee hana wikiwiki i nā hopena like ʻole: nā helu, nā kaula. Ua hoʻopiha au i ka waihona me ka nui o ka ʻikepili.
I ka hoʻomaka ʻana i ka hoʻonohonoho 5 mau mea ʻikepili no kēlā me kēia pūʻali. Ma kahi kokoke i kēlā me kēia ʻeleʻele i loaʻa kahi hoʻoiho e hana like me nā hoʻonohonoho maoli. I kekahi mau hihia, ua ʻoi aku ma mua o hoʻokahi kumu. No hoʻokahi node pūnaewele aia 3-000 mea hoʻomaka.
ʻIkepili Mea Hou Interval − 4-7 kekona. Ua hoʻoponopono au i ka ukana ma ka hoʻohana ʻana ʻaʻole wale i 50 mau mea hana, akā hoʻohui hou aku. Eia kekahi, me ka hoʻohana ʻana i nā mea ʻikepili, hoʻololi au i ka ukana a hoʻemi i ka wā hoʻonui i ka 4 s.
PostgreSQL. 35 nvps
ʻO kaʻu holo mua ma kēia hāmeʻa ma ka PostgreSQL maʻemaʻe - 35 tausani mau waiwai i kekona. E like me kāu e ʻike ai, ʻo ka hoʻokomo ʻana i ka ʻikepili e lawe i nā hapa o ke kekona - maikaʻi a wikiwiki nā mea a pau. ʻO ka mea wale nō ʻo ka 200 GB SSD disk e hoʻopiha wikiwiki.
ʻO kēia kahi dashboard hana maʻamau o ka server Zabbix.
ʻO ka pakuhi polū mua ka helu o nā waiwai i kekona. ʻO ka pakuhi ʻelua ma ka ʻākau ka hoʻouka ʻana i nā kaʻina hana kūkulu. ʻO ke kolu ka hoʻouka ʻana i nā kaʻina hana i loko: nā moʻolelo syncers a me Housekeeper, kahi e holo nei ma ʻaneʻi no kekahi manawa.
Hōʻike ka pakuhi ʻehā i ka hoʻohana ʻana iā HistoryCache. He ʻano pale kēia ma mua o ka hoʻokomo ʻana i ka waihona. Hōʻike ka pakuhi ʻelima ʻōmaʻomaʻo i ka hoʻohana ʻana i ka ValueCache, ʻo ia hoʻi, ʻehia ka nui o ValueCache hits no nā mea hoʻoiho - he mau tausani waiwai kēia i kekona.
PostgreSQL. 50 nvps
A laila hoʻonui au i ka ukana i 50 tausani mau waiwai i kēlā me kēia kekona ma ka lako like.
I ka hoʻouka ʻana mai Housekeeper, hoʻokomo i 10 tausani mau waiwai i 2-3 kekona.
Ke hoʻomaka nei ke kahu hale e hoʻopilikia i ka hana.
ʻO ke kolu o ka pakuhi e hōʻike ana, ma ka laulā, ʻo ka ukana ma luna o nā trappers a me nā moʻolelo synchers aia nō ma 60%. Ma ka pakuhi ʻehā, ke hoʻomaka nei ʻo HistoryCache e hoʻopiha piha i ka wā e hana ai ʻo Housekeeper. He 20% piha ia, ma kahi o 0,5 GB.
PostgreSQL. 80 nvps
A laila hoʻonui au i ka ukana i 80 tausani mau waiwai i kekona. ʻO kēia ma kahi o 400 tausani mau mea ʻikepili a me 280 tausani trigger.
Ua kiʻekiʻe loa ke kumukūʻai hoʻouka o kanakolu mōʻaukala synchers.
Ua hoʻonui pū au i nā ʻāpana like ʻole: nā moʻolelo syncers, caches.
Ma kaʻu lako lako, ua hoʻonui ʻia ka hoʻouka ʻana o nā mea hoʻoponopono mōʻaukala i ka nui. Hoʻopiha koke ʻia ʻo HistoryCache me ka ʻikepili - ua hōʻiliʻili ʻia ka ʻikepili no ka hana ʻana i loko o ka buffer.
I kēia manawa a pau, nānā au i ka hoʻohana ʻana o ka processor, RAM a me nā ʻōnaehana ʻē aʻe, a ʻike i ka hoʻohana ʻana o ka disk i kona kiʻekiʻe.
Ua loaʻa iaʻu ka hoʻohana nā mana diski kiʻekiʻe ma keia lako lako a ma keia mīkini virtual. Me ka ikaika loa, ua hoʻomaka ʻo PostgreSQL e hoʻopau i ka ʻikepili me ka ikaika, a ʻaʻohe manawa o ka disk e kākau a heluhelu.
Kahua lua
Ua lawe au i kahi kikowaena ʻē aʻe, ua loaʻa iā 48 nā mea hana a me 128 GB o RAM. Ua hoʻopaʻa au iā ia - hoʻonoho iā 60 mōʻaukala syncer, a loaʻa ka hana ʻae ʻia.
ʻOiaʻiʻo, ʻo kēia ka palena o ka huahana kahi e pono ai ke hana.
TimescaleDB. 80 nvps
ʻO kaʻu hana nui ka hoʻāʻo ʻana i nā hiki o TimescaleDB e kūʻē i ka ukana Zabbix. ʻO 80 tausani mau waiwai i kēlā me kēia kekona he nui, ke alapine o ka hōʻiliʻili ʻana i nā metric (koe wale no Yandex, ʻoiaʻiʻo) a me kahi "hoʻonohonoho" nui.
Loaʻa ka hāʻule i kēlā me kēia pakuhi - ʻo ia ka neʻe ʻana o ka ʻikepili. Ma hope o ka hāʻule ʻana o ka server Zabbix, ua loli nui ka hoʻouka ʻana o ka moʻolelo syncer - ua hāʻule ʻekolu manawa.
ʻAe ʻo TimescaleDB iā ʻoe e hoʻokomo i ka ʻikepili kokoke i 3 mau manawa wikiwiki a hoʻohana i ka HistoryCache liʻiliʻi.
No laila, e loaʻa iā ʻoe ka ʻikepili i ka manawa kūpono.
TimescaleDB. 120 nvps
A laila ua hoʻonui au i ka helu o nā mea ʻikepili i 500 tausani. ʻO ka hana nui ka hoʻāʻo ʻana i nā mana o TimescaleDB - ua loaʻa iaʻu kahi waiwai helu o 125 tausani mau waiwai i kēlā me kēia kekona.
He "hoʻonohonoho" hana kēia e hiki ke hana no ka manawa lōʻihi. Akā ʻoiai ʻo kaʻu disk he 1,5 TB wale nō, ua hoʻopiha wau ia i nā lā ʻelua.
ʻO ka mea nui loa i ka manawa like i hana ʻia nā ʻāpana hou o TimescaleDB.
ʻAʻole ʻike ʻia kēia no ka hana. Ke hana ʻia nā ʻāpana ma MySQL, no ka laʻana, ʻokoʻa nā mea āpau. Hana ʻia kēia i ka pō no ka mea e ālai ana i ka hoʻokomo maʻamau, hana me nā papa ʻaina a hiki ke hana i ka hōʻino ʻana i ka lawelawe. ʻAʻole kēia ka hihia me TimescaleDB.
Ma keʻano he laʻana, e hōʻike wau i hoʻokahi pakuhi mai nā mea he nui o ke kaiāulu. Ma ke kiʻi, ua hoʻohana ʻia ʻo TimescaleDB, mahalo i ka hāʻule ʻana o ka ukana ma ka hoʻohana ʻana i ka io.weight ma ke kaʻina hana. Ua emi pū ka hoʻohana ʻana i nā mea hana o loko. Eia kekahi, he mīkini virtual maʻamau kēia ma nā disks pancake maʻamau, ʻaʻole he SSD.
haʻina
He hopena maikaʻi ʻo TimescaleDB no ka "hoʻonohonoho" liʻiliʻi., e pili ana i ka hana diski. E ʻae ia iā ʻoe e hoʻomau i ka hana maikaʻi a hiki i ka neʻe ʻana o ka waihona i ka ʻenehana i ka hikiwawe loa.
He maʻalahi ka TimescaleDB e hoʻonohonoho, hāʻawi i nā lanakila hana, hana maikaʻi me Zabbix a Loaʻa nā mea maikaʻi ma mua o PostgreSQL.
Inā ʻoe e hoʻohana i ka PostgreSQL a ʻaʻole hoʻolālā e hoʻololi, paipai wau e hoʻohana i ka PostgreSQL me ka hoʻonui ʻana o TimescaleDB me Zabbix. Hana maikaʻi kēia hoʻonā a hiki i kahi "hoʻonohonoho" waena.
Ke ʻōlelo mākou "hana kiʻekiʻe" ke manaʻo nei mākou Hoʻouka kiʻekiʻe++. ʻAʻole lōʻihi ʻoe e kali e aʻo e pili ana i nā ʻenehana a me nā hana e hiki ai i nā lawelawe ke lawelawe i nā miliona o nā mea hoʻohana. Papa inoa nā hōʻike no ka la 7 a me ka la 8 o Novemaba ua houluulu mua makou, aka eia hui ʻana hiki ke ʻōlelo hou aku.
Kau inoa i kā mākou palapala hoʻolaha и telegram, kahi e hōʻike ai mākou i nā hiʻohiʻona o ka ʻaha kūkā e hiki mai ana, a ʻike pehea e loaʻa ai ka maikaʻi loa.