{"id":38927,"date":"2019-10-31T22:26:48","date_gmt":"2019-10-31T19:26:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb\/"},"modified":"2019-10-31T22:26:48","modified_gmt":"2019-10-31T19:26:48","slug":"vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb","title":{"rendered":"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Zabbix \u2014 \u00ebsht\u00eb nj\u00eb sistem monitorimi. Ashtu si \u00e7do sistem tjet\u00ebr, ajo p\u00ebrballen me tre problemet kryesore q\u00eb kan\u00eb t\u00eb gjitha sistemet e monitorimit: mbledhja dhe p\u00ebrpunimi i t\u00eb dh\u00ebnave, ruajtja e historis\u00eb dhe pastrimi i saj.<\/p>\n<p>Hapat e marrjes, p\u00ebrpunimit dhe shkrimit t\u00eb t\u00eb dh\u00ebnave marrin koh\u00eb. Pak, por p\u00ebr nj\u00eb sistem t\u00eb madh, kjo mund t\u00eb krijoj\u00eb vonesa t\u00eb m\u00ebdha. Problemi i ruajtjes \u00ebsht\u00eb \u00e7\u00ebshtje e qasjes n\u00eb t\u00eb dh\u00ebna. Ato p\u00ebrdoren p\u00ebr raporte, kontrolle dhe trigger. Vonesat n\u00eb qasjen n\u00eb t\u00eb dh\u00ebna gjithashtu ndikojn\u00eb n\u00eb performanc\u00ebn. Kur DB-t\u00eb rriten, t\u00eb dh\u00ebnat e paarsyeshme duhet t\u00eb fshihen. Fshirja \u00ebsht\u00eb nj\u00eb operacion i r\u00ebnd\u00eb, i cili gjithashtu merr disa nga burimet.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/9b7aa23705cd32b4d8d858ad78b181fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProblemet e vonesave n\u00eb mbledhjen dhe ruajtjen n\u00eb Zabbix zgjidhen p\u00ebrmes caching: disa lloje caches, caching n\u00eb DB. P\u00ebr t\u00eb zgjidhur problemin e tret\u00eb, caching nuk \u00ebsht\u00eb i p\u00ebrshtatsh\u00ebm, ndaj Zabbix p\u00ebrdori TimescaleDB. K\u00ebsaj do t'i flas\u00eb <strong>Andrej Gushin<\/strong> \u2014 inxhinier i mb\u00ebshtetjes teknike <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/zabbix\/\">Zabbix SIA<\/a><\/noindex>. N\u00eb mb\u00ebshtetje t\u00eb Zabbix, Andrej ka m\u00eb shum\u00eb se 6 vjet dhe p\u00ebrballet drejtp\u00ebrdrejt me performanc\u00ebn.<\/p>\n<p>Si si punon TimescaleDB, cila \u00ebsht\u00eb performanca q\u00eb mund t\u00eb ofroj\u00eb krahasuar me PostgreSQL t\u00eb zakonsh\u00ebm? Cila \u00ebsht\u00eb roli i Zabbix p\u00ebr baz\u00ebn e t\u00eb dh\u00ebnave TimescaleDB? Si mund t\u00eb filloni nga fillimi dhe si t\u00eb emigroni nga PostgreSQL dhe cila konfigurim ofron performanc\u00ebn m\u00eb t\u00eb mir\u00eb? P\u00ebr t\u00eb gjitha k\u00ebto, ndiqni m\u00eb posht\u00eb.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"umRk94j5M8o\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/umRk94j5M8o\/hqdefault.jpg\" alt=\"Luaj videon\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h2>Sfidat e performanc\u00ebs<\/h2>\n<p>\n\u00c7do sistem monitorimi p\u00ebrballet me sfida t\u00eb caktuara performanc\u00ebs. Un\u00eb do t\u00eb flas p\u00ebr tre nga ato: mbledhja dhe p\u00ebrpunimi i t\u00eb dh\u00ebnave, ruajtja, pastrimi i historikut.<\/p>\n<p><strong>Mbledhja dhe p\u00ebrpunimi i shpejt\u00eb i t\u00eb dh\u00ebnave. <\/strong>Nj\u00eb sistem monitorimi i mir\u00eb duhet t\u00eb marr\u00eb dhe t\u00eb p\u00ebrpunoj\u00eb t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb operative sipas shprehjeve t\u00eb triggerit - sipas kritereve t\u00eb tij. Pas p\u00ebrpunimit, sistemi gjithashtu duhet t\u00eb ruaj\u00eb shpejt k\u00ebto t\u00eb dh\u00ebna n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave p\u00ebr t'i p\u00ebrdorur m\u00eb von\u00eb.<\/p>\n<p><strong>Ruajtja e historis\u00eb. <\/strong>Nj\u00eb sistem monitorimi i mir\u00eb duhet t\u00eb ruaj\u00eb historin\u00eb n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave dhe t\u00eb ofroj\u00eb akses t\u00eb leht\u00eb n\u00eb metrikat. Historia \u00ebsht\u00eb e nevojshme p\u00ebr t'u p\u00ebrdorur n\u00eb raporte, grafika, triggers, vlerat prag dhe element\u00ebt e dh\u00ebnash t\u00eb llogaritur p\u00ebr alarmim.<\/p>\n<p><strong>Pastrimi i historis\u00eb. <\/strong>Ndonj\u00ebher\u00eb vjen dita kur nuk keni nevoj\u00eb t\u00eb ruani metrikat. Pse do t'ju duhen t\u00eb dh\u00ebnat q\u00eb u mblodh\u00ebn 5 vjet m\u00eb par\u00eb, nj\u00eb muaj ose dy: disa nj\u00ebsit\u00eb jan\u00eb fshir\u00eb, disa hoste ose metrika nuk jan\u00eb m\u00eb t\u00eb nevojshme sepse jan\u00eb b\u00ebr\u00eb t\u00eb vjetra dhe nuk mblidhen m\u00eb. Nj\u00eb sistem i mir\u00eb monitorimi duhet t\u00eb ruaj\u00eb t\u00eb dh\u00ebna historike dhe her\u00eb pas here t'i fshij\u00eb ato, n\u00eb m\u00ebnyr\u00eb q\u00eb databaza t\u00eb mos rritet tep\u00ebr.<\/p>\n<blockquote><p>Pastrimi i t\u00eb dh\u00ebnave t\u00eb vjetra \u00ebsht\u00eb nj\u00eb \u00e7\u00ebshtje kritike q\u00eb ka nj\u00eb ndikim t\u00eb madh n\u00eb performanc\u00ebn e baz\u00ebs s\u00eb t\u00eb dh\u00ebnave.<\/p><\/blockquote>\n<p><\/p>\n<h2>Kashimi n\u00eb Zabbix<\/h2>\n<p>\nN\u00eb Zabbix, thirrjet e para dhe t\u00eb dyta zgjidhen p\u00ebrmes kashimit. P\u00ebrdoret memorje e p\u00ebrkohshme p\u00ebr mbledhjen dhe p\u00ebrpunimin e t\u00eb dh\u00ebnave. P\u00ebr ruajtjen \u2014 historiku n\u00eb triggera, grafika dhe element\u00eb t\u00eb dh\u00ebnash t\u00eb llogaritur. N\u00eb an\u00ebn e databaz\u00ebs ka nj\u00eb kashim t\u00eb caktuar p\u00ebr zgjedhjet kryesore, si\u00e7 jan\u00eb grafikat.<\/p>\n<p>Kashimi n\u00eb an\u00ebn e vet\u00eb serverit Zabbix \u00ebsht\u00eb:<\/p>\n<ul>\n<li>ConfigurationCache;<\/li>\n<li>ValueCache;<\/li>\n<li>HistoryCache;<\/li>\n<li>TrendsCache.<\/li>\n<\/ul>\n<p>\nLe t\u00eb shqyrtojm\u00eb ato m\u00eb n\u00eb detaje.<\/p>\n<h3>ConfigurationCache<\/h3>\n<p>\nKy \u00ebsht\u00eb kashimi kryesor, n\u00eb t\u00eb cilin ruajm\u00eb metrikat, hostet, element\u00ebt e t\u00eb dh\u00ebnave, triggerat \u2014 gjith\u00e7ka q\u00eb nevojitet p\u00ebr Parap\u00ebrpunimin dhe p\u00ebr mbledhjen e t\u00eb dh\u00ebnave.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/122708198f6cd136fbd0420876c06e9c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00eb gjitha k\u00ebto ruhen n\u00eb ConfigurationCache, p\u00ebr t\u00eb mos krijuar k\u00ebrkesa t\u00eb tep\u00ebrta n\u00eb DB. Pas fillimit t\u00eb serverit, ne p\u00ebrdit\u00ebsojm\u00eb k\u00ebt\u00eb cache, krijojm\u00eb dhe p\u00ebrdit\u00ebsojm\u00eb periodikisht konfigurimet.<\/p>\n<h3>Mbledhja e t\u00eb dh\u00ebnave<\/h3>\n<p>\nSchema \u00ebsht\u00eb mjaft e madhe, por kryesore n\u00eb t\u00eb \u00ebsht\u00eb <strong>grumbulluesit<\/strong>. K\u00ebto jan\u00eb procese t\u00eb ndryshme t\u00eb grumbullimit. Ato jan\u00eb p\u00ebrgjegj\u00ebse p\u00ebr lloje t\u00eb ndryshme grumbullimi: grumbullojn\u00eb t\u00eb dh\u00ebna p\u00ebr SNMP, IPMI, dhe i d\u00ebrgojn\u00eb t\u00eb gjitha n\u00eb PreProcessing.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/deff5d9ff358f1b04b505d18c7770f21.jpg\" style=\"display:block;margin: 0 auto;\" \/><em>Grumbulluesit jan\u00eb t\u00eb rrethuar nga nj\u00eb vij\u00eb portokalli.<\/em><\/p>\n<p>N\u00eb Zabbix ka elemente t\u00eb dh\u00ebnash agreguese t\u00eb llogaritura, t\u00eb cilat jan\u00eb t\u00eb nevojshme p\u00ebr t\u00eb agreguar verifikimet. N\u00ebse i kemi, ne i marrim t\u00eb dh\u00ebnat p\u00ebr to drejtp\u00ebrdrejt nga ValueCache.<\/p>\n<h3>HistoriCache e PreProcessing<\/h3>\n<p>\nT\u00eb gjith\u00eb grumbulluesit p\u00ebrdorin ConfigurationCache p\u00ebr t\u00eb marr\u00eb detyrat. M\u00eb pas, ato i kalojn\u00eb n\u00eb PreProcessing.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/116e25100ebdf9ed209a9b04fa6fa156.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPreProcessing p\u00ebrdor ConfigurationCache p\u00ebr t\u00eb marr\u00eb hapat e PreProcessing. Ai i p\u00ebrpunon k\u00ebto t\u00eb dh\u00ebna n\u00eb m\u00ebnyra t\u00eb ndryshme.<\/p>\n<p>Pas p\u00ebrpunimit t\u00eb t\u00eb dh\u00ebnave me ndihm\u00ebn e PreProcessing, ne i ruajm\u00eb ato n\u00eb HistoryCache p\u00ebr t'i p\u00ebrpunuar. K\u00ebtu mbyllet grumbullimi i t\u00eb dh\u00ebnave dhe ne kalojm\u00eb n\u00eb procesin kryesor n\u00eb Zabbix \u2014 <strong>history syncer<\/strong>, pasi kjo \u00ebsht\u00eb nj\u00eb arkitektur\u00eb monolitike.<\/p>\n<p><em>Sh\u00ebnim: PreProcessimi \u00ebsht\u00eb nj\u00eb operacion mjaft i r\u00ebnd\u00eb. Me versionin 4.2, ai \u00ebsht\u00eb transferuar n\u00eb proxy. N\u00ebse keni nj\u00eb Zabbix shum\u00eb t\u00eb madh me nj\u00eb num\u00ebr t\u00eb madh t\u00eb elementeve t\u00eb dh\u00ebnash dhe frekuenc\u00eb mbledhjeje, kjo e leht\u00ebson shum\u00eb pun\u00ebn.<\/em><\/p>\n<h3>ValueCache, historia &amp; trendet cache<\/h3>\n<p><\/p>\n<blockquote><p>History syncer \u00ebsht\u00eb procesi kryesor q\u00eb trajton n\u00eb m\u00ebnyr\u00eb atomike \u00e7do element t\u00eb dh\u00ebnash, pra \u00e7do vler\u00eb.<\/p><\/blockquote>\n<p>\nHistory syncer merr vlerat nga HistoryCache dhe kontrollon n\u00eb Configuration p\u00ebr pranin\u00eb e triggerave p\u00ebr kalkulime. N\u00ebse i ka, ai i kalkulon.<\/p>\n<p>History syncer krijon nj\u00eb ngjarje, nj\u00eb eskalacion, p\u00ebr t\u00eb krijuar njoftime n\u00ebse k\u00ebrkohet sipas konfigurimit dhe regjistron. N\u00ebse ka triggera p\u00ebr p\u00ebrpunim t\u00eb m\u00ebtejsh\u00ebm, ai k\u00ebt\u00eb vler\u00eb e mban mend n\u00eb ValueCache, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb mos k\u00ebrkohet n\u00eb tabel\u00ebn e historis\u00eb. K\u00ebshtu, ValueCache mbushet me t\u00eb dh\u00ebnat q\u00eb jan\u00eb t\u00eb nevojshme p\u00ebr kalkulimin e triggerave dhe elementeve t\u00eb kalkuluara.<\/p>\n<p>History syncer regjistron t\u00eb gjitha t\u00eb dh\u00ebnat n\u00eb DB, dhe ajo n\u00eb disk. Procesi i p\u00ebrpunimit p\u00ebrfundohet k\u00ebtu.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/4d74195381fda7756b0250982f6896be.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Kashimi n\u00eb DB<\/h3>\n<p>\nN\u00eb an\u00ebn e DB-s\u00eb ka nj\u00eb s\u00ebr\u00eb cachesh, kur d\u00ebshironi t\u00eb shikoni grafika ose raporte p\u00ebr ngjarje:<\/p>\n<ul>\n<li><code>Innodb_buffer_pool<\/code> n\u00eb an\u00ebn e MySQL;<\/li>\n<li><code>shared_buffers<\/code> n\u00eb an\u00ebn e PostgreSQL;<\/li>\n<li><code>effective_cache_size<\/code> n\u00eb an\u00ebn e Oracle;<\/li>\n<li><code>shared_pool<\/code> n\u00eb an\u00ebn e DB2.<\/li>\n<\/ul>\n<p>\nKa shum\u00eb ke\u0161a t\u00eb tjera, por k\u00ebto jan\u00eb kryesore p\u00ebr t\u00eb gjitha DB-t\u00eb. Ato lejojn\u00eb mbajtjen n\u00eb memorien operative t\u00eb t\u00eb dh\u00ebnave q\u00eb shpesh nevojiten p\u00ebr k\u00ebrkesa. Kan\u00eb teknologjit\u00eb e tyre p\u00ebr k\u00ebt\u00eb.<\/p>\n<h3>Performanca e DB-s\u00eb \u00ebsht\u00eb kritikisht e r\u00ebnd\u00ebsishme<\/h3>\n<p>\nServeri Zabbix vazhdon t\u00eb mbledh\u00eb t\u00eb dh\u00ebna dhe t'i regjistroj\u00eb ato. Kur restartohet, lexon gjithashtu nga historia p\u00ebr t\u00eb mbushur ValueCache. P\u00ebrdor script dhe raporte <strong>Zabbix API<\/strong>, i nd\u00ebrtuar mbi baz\u00ebn e nd\u00ebrfaqes Web. Zabbix API b\u00ebn k\u00ebrkesa n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave dhe merr t\u00eb dh\u00ebnat e nevojshme p\u00ebr grafiku, raportet, listat e ngjarjeve dhe problemet e fundit.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/dd0efdc4e57c1197d448ce453012091e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr vizualizimin \u2014 <strong>Grafana<\/strong>. Nd\u00ebr p\u00ebrdoruesit tan\u00eb, kjo \u00ebsht\u00eb nj\u00eb zgjidhje e popullarizuar. Ajo mund t\u00eb d\u00ebrgoj\u00eb k\u00ebrkesa drejtp\u00ebrdrejt p\u00ebrmes Zabbix API dhe n\u00eb DB, dhe krijon nj\u00eb konkurrenc\u00eb t\u00eb caktuar p\u00ebr marrjen e t\u00eb dh\u00ebnave. Prandaj, nevojitet nj\u00eb konfigurim m\u00eb delikat dhe m\u00eb i mir\u00eb i DB-s\u00eb p\u00ebr t'u p\u00ebrputhur me l\u00ebshimin e shpejt\u00eb t\u00eb rezultateve dhe testimeve.<\/p>\n<h2>Housekeeper<\/h2>\n<p>\nThirrja e tret\u00eb p\u00ebr performanc\u00ebn n\u00eb Zabbix \u00ebsht\u00eb pastrimi i historis\u00eb me ndihm\u00ebn e Housekeeper. Ai respekton t\u00eb gjitha konfigurimet \u2014 n\u00eb elementet e t\u00eb dh\u00ebnave \u00ebsht\u00eb e caktuar se sa t\u00eb mbahen dinamika e ndryshimeve (trendet) n\u00eb dit\u00eb.<\/p>\n<p>TrendsCache e kalkulojm\u00eb n\u00eb koh\u00eb reale. Kur vijn\u00eb t\u00eb dh\u00ebnat, ne i aggregojm\u00eb ato p\u00ebr nj\u00eb or\u00eb dhe i regjistrojm\u00eb n\u00eb tabela p\u00ebr ndjekjen e ndryshimeve t\u00eb trendeve.<\/p>\n<p>Housekeeper fillon dhe eliminon informacionin nga DB me \u00abselect\u00bb-et e zakonshme. Kjo nuk \u00ebsht\u00eb gjithmon\u00eb efikase, gj\u00eb q\u00eb mund t\u00eb kuptohet nga grafik\u00ebt e performanc\u00ebs s\u00eb proceseve t\u00eb brendshme.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/a3af1badd14b1092bc26e0b53845ae04.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGrafiku i kuq tregon se History syncer \u00ebsht\u00eb gjithmon\u00eb i angazhuar. Grafiku portokalli lart \u00ebsht\u00eb Housekeeper-i, i cili nis vazhdimisht. Ai pret nga DB, q\u00eb t\u00eb fshij\u00eb t\u00eb gjitha rreshtat q\u00eb ka k\u00ebrkuar.<\/p>\n<p>Kur duhet t\u00eb \u00e7aktivizohet Housekeeper? P\u00ebr shembull, ka \u00abItem ID\u00bb dhe duhet t\u00eb fshihen 5,000 rreshta t\u00eb fundit p\u00ebr nj\u00eb periudh\u00eb t\u00eb caktuar. Sigurisht, kjo ndodhe n\u00ebp\u00ebrmjet indekseve. Por zakonisht dataset \u00ebsht\u00eb shum\u00eb i madh, dhe DB akoma e lexon nga disku dhe e ngre n\u00eb cache. Kjo \u00ebsht\u00eb gjithmon\u00eb nj\u00eb operacion shum\u00eb i shtrenjt\u00eb p\u00ebr DB-n\u00eb dhe, n\u00eb var\u00ebsi t\u00eb madh\u00ebsis\u00eb s\u00eb baz\u00ebs, mund t\u00eb \u00e7oj\u00eb n\u00eb probleme performanc\u00ebs.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/0778318b539fbe33318e8a7310f8a89b.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p>Housekeeper mund t\u00eb \u00e7aktivizohet thjesht. N\u00eb nd\u00ebrfaqen web ka nj\u00eb cil\u00ebsim n\u00eb \u00abAdministration general\u00bb p\u00ebr Housekeeper. \u00c7aktivizojm\u00eb housekeeping-un e brendsh\u00ebm p\u00ebr historin\u00eb e brendshme t\u00eb trendeve dhe ai m\u00eb nuk e menaxhon at\u00eb.<\/p>\n<p>Sht\u00ebpia e punonj\u00ebsve \u00ebsht\u00eb \u00e7aktivizuar, grafik\u00ebt jan\u00eb rregulluar \u2014 \u00e7far\u00eb probleme mund t\u00eb krijohen n\u00eb k\u00ebt\u00eb rast dhe \u00e7far\u00eb mund t\u00eb ndihmoj\u00eb n\u00eb zgjidhjen e tret\u00eb t\u00eb performanc\u00ebs?<\/p>\n<h2>Ndara \u2014 seksionimi ose ndarja<\/h2>\n<p>\nZakonisht ndarja konfigurohet n\u00eb m\u00ebnyra t\u00eb ndryshme n\u00eb \u00e7do DB relacional q\u00eb kam p\u00ebrmendur. \u00c7do nj\u00eb ka teknologjin\u00eb e saj, por ato jan\u00eb t\u00eb ngjashme n\u00eb p\u00ebrgjith\u00ebsi. Krijimi i nj\u00eb ndarjeje t\u00eb re shpesh shkakton probleme t\u00eb caktuara.<\/p>\n<p>Zakonisht, ndarjet p\u00ebrshtaten n\u00eb var\u00ebsi t\u00eb 'setup'-it \u2014 sasis\u00eb s\u00eb t\u00eb dh\u00ebnave q\u00eb krijohen n\u00eb nj\u00eb dit\u00eb. Si rregull, Ndarja jepet p\u00ebr nj\u00eb dit\u00eb, kjo \u00ebsht\u00eb minimumi. P\u00ebr trendet e ndarjes s\u00eb re \u2014 p\u00ebr 1 muaj.<\/p>\n<p>Vlerat mund t\u00eb ndryshojn\u00eb n\u00eb rastin e nj\u00eb 'setup'-i shum\u00eb t\u00eb madh. N\u00ebse 'setup'-i i vog\u00ebl \u00ebsht\u00eb deri n\u00eb 5,000 nvps (vlera t\u00eb reja p\u00ebr sekond\u00eb), mesatarja \u2014 nga 5,000 deri n\u00eb 25,000, ndersa e madhe \u2014 mbi 25,000 nvps. K\u00ebto jan\u00eb instalime t\u00eb m\u00ebdha dhe shum\u00eb t\u00eb m\u00ebdha q\u00eb k\u00ebrkojn\u00eb nj\u00eb konfigurim t\u00eb kujdessh\u00ebm t\u00eb baz\u00ebs s\u00eb t\u00eb dh\u00ebnave.<\/p>\n<p>N\u00eb instalime shum\u00eb t\u00eb m\u00ebdha, prerja n\u00eb nj\u00eb dit\u00eb mund t\u00eb mos jet\u00eb optimale. Kam par\u00eb n\u00eb MySQL ndarje prej 40 GB ose m\u00eb shum\u00eb p\u00ebr nj\u00eb dit\u00eb. Ky \u00ebsht\u00eb nj\u00eb volum shum\u00eb i madh t\u00eb dh\u00ebnash, i cili mund t\u00eb shkaktoj\u00eb probleme dhe duhet t\u00eb reduktohet.<\/p>\n<h3>\u00c7far\u00eb ofron Ndarja?<\/h3>\n<p>\n<strong>Sekcionimi i tabelave<\/strong>. Shpesh k\u00ebto jan\u00eb skedar\u00eb t\u00eb ve\u00e7ant\u00eb n\u00eb disk. Plani i pyetjeve zgjidh m\u00eb optimal nj\u00eb ndarje. N\u00eb p\u00ebrgjith\u00ebsi, ndarja p\u00ebrdoret sipas intervalit \u2014 kjo \u00ebsht\u00eb e v\u00ebrtet\u00eb edhe p\u00ebr Zabbix. Ne e p\u00ebrdorim \"timestamp\" \u2014 koha nga fillimi i epok\u00ebs. K\u00ebtu jan\u00eb numra t\u00eb zakonsh\u00ebm. Ju p\u00ebrcaktoni fillimin dhe fundin e dit\u00ebs \u2014 kjo \u00ebsht\u00eb nj\u00eb ndarje.<\/p>\n<p><strong>Fshirja e shpejt\u00eb<\/strong> \u2014 <code>DELETE<\/code>. Zgjedhet nj\u00eb skedar\/subtabel\u00eb, dhe jo nj\u00eb grumbull rreshtash p\u00ebr t'u fshir\u00eb.<\/p>\n<p><strong>E ndjeshme p\u00ebrshpejton marrjen e t\u00eb dh\u00ebnave<\/strong> <code>SELECT<\/code> \u2014 p\u00ebrdor nj\u00eb ose m\u00eb shum\u00eb ndarje, dhe jo t\u00eb gjith\u00eb tabel\u00ebn. N\u00ebse k\u00ebrkoni t\u00eb dh\u00ebna nga dy dit\u00eb m\u00eb par\u00eb, ato zgjidhen nga DB m\u00eb shpejt, sepse duhet t\u00eb ngarkohet n\u00eb cache dhe t\u00eb jepet vet\u00ebm nj\u00eb skedar, dhe jo nj\u00eb tabel\u00eb t\u00eb madhe.<\/p>\n<p>Shpesh, shum\u00eb DB gjithashtu p\u00ebrshpejton <code>INSERT<\/code> \u2014 insertimin n\u00eb tabel\u00ebn f\u00ebmij\u00eb.<\/p>\n<h2>TimescaleDB<\/h2>\n<p>\nP\u00ebr v 4.2 ne kemi v\u00ebn\u00eb re TimescaleDB. Ky \u00ebsht\u00eb nj\u00eb shtes\u00eb p\u00ebr PostgreSQL me nj\u00eb nd\u00ebrfaqe natyrore. Shtesa punon efektiv me t\u00eb dh\u00ebnat e serive t\u00eb koh\u00ebs, pa humbur p\u00ebrpar\u00ebsit\u00eb e bazave t\u00eb t\u00eb dh\u00ebnave relacionale. TimescaleDB gjithashtu automatizon particionimin.<\/p>\n<p>N\u00eb TimescaleDB, ka nj\u00eb koncept <strong>hipertable<\/strong> (hipertable), t\u00eb cilin ju krijoni. N\u00eb t\u00eb ndodhen <strong>\u00e7anka<\/strong> \u2014 partit\u00eb. \u00c7ankat jan\u00eb fragmente t\u00eb menaxhuara automatikisht t\u00eb hipertabel\u00ebs, q\u00eb nuk ndikojn\u00eb n\u00eb fragmentet e tjera. P\u00ebr \u00e7do \u00e7ank ka nj\u00eb interval t\u00eb tij t\u00eb koh\u00ebs.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/91a24560ff12aa17f98689e3445f50e1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>TimescaleDB vs PostgreSQL<\/h3>\n<p>\nTimescaleDB punon v\u00ebrtet n\u00eb m\u00ebnyr\u00eb efektive. Prodhuesit e shtes\u00ebs thon\u00eb se ata p\u00ebrdorin algoritmin m\u00eb t\u00eb sakt\u00eb p\u00ebr p\u00ebrpunimin e k\u00ebrkesave, ve\u00e7an\u00ebrisht p\u00ebr &lt;code&gt;inserts&lt;\/code&gt;. Kur madh\u00ebsit\u00eb e dataset-ve rriten, algoritmi mban performanc\u00ebn konstante.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/52f042018180ffd2cb6a2cf4a3af603e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPas 200 milion rreshtash, PostgreSQL zakonisht fillon t\u00eb bjer\u00eb ndjesh\u00ebm dhe humb performanc\u00ebn deri n\u00eb 0. TimescaleDB mund\u00ebson inserte efikase pavar\u00ebsisht nga sasia e t\u00eb dh\u00ebnave.<\/p>\n<h3>Instalimi<\/h3>\n<p>\nInstalimi i TimescaleDB \u00ebsht\u00eb mjaft i thjesht\u00eb p\u00ebr \u00e7do paket\u00eb. N\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.timescale.com\/v1.3\/getting-started\">dokumentacion<\/a><\/noindex> p\u00ebrshkruhet n\u00eb detaj \u2014 ai varet nga paketat zyrtare t\u00eb PostgreSQL. TimescaleDB gjithashtu mund t\u00eb nd\u00ebrtosh dhe kompilohet manualisht.<\/p>\n<p>P\u00ebr DB-n\u00eb Zabbix thjesht aktivizojm\u00eb zgjerimin:<\/p>\n<pre><code class=\"sql\">echo \"CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;\" | sudo -u postgres psql zabbix<\/code><\/pre>\n<p>\nJu aktivizoni <code>zgjerimin<\/code> dhe e krijoni at\u00eb p\u00ebr DB-n\u00eb Zabbix. Hapi i fundit \u00ebsht\u00eb krijimi i hipertabel\u00ebs.<\/p>\n<h3>Migrimi i tabelave t\u00eb historis\u00eb n\u00eb TimescaleDB<\/h3>\n<p>\nP\u00ebr k\u00ebt\u00eb ka nj\u00eb funksion t\u00eb ve\u00e7ant\u00eb <code>create_hypertable<\/code>:<\/p>\n<pre><code class=\"sql\">SELECT create_hypertable(\u2018history\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018history_unit\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018history_log\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018history_text\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018history_str\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018trends\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018trends_unit\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nUPDATE config SET db_extension=\u2019timescaledb\u2019, hk_history_global=1, hk_trends_global=1<\/code><\/pre>\n<p>\nFunksioni ka tre parametra. I pari \u2014<strong> tabela n\u00eb DB<\/strong>, p\u00ebr t\u00eb cil\u00ebn duhet t\u00eb krijoni hipertabel\u00ebn. I dyti \u2014 <strong>fusha<\/strong>, sipas t\u00eb cilit duhet t\u00eb krijoni <code>chunk_time_interval<\/code> \u2014 intervali i chunk-\u00ebve t\u00eb particionit q\u00eb duhet t\u00eb p\u00ebrdoren. N\u00eb rastin tim, intervali \u00ebsht\u00eb nj\u00eb dit\u00eb \u2014 86,400.<\/p>\n<p>Parametri i tret\u00eb \u2014 <code><strong>migroni_t\u00eb_dhenave<\/strong><\/code>. N\u00ebse vendoset <code>e v\u00ebrtet\u00eb<\/code>, at\u00ebher\u00eb t\u00eb gjitha t\u00eb dh\u00ebnat aktuale transferohen n\u00eb pjes\u00eb t\u00eb krijuara paraprakisht. Un\u00eb vet\u00eb e p\u00ebrdora <code>migroni_t\u00eb_dhenave<\/code>. Kisha rreth 1 TB, q\u00eb zuri m\u00eb shum\u00eb se nj\u00eb or\u00eb. Edhe n\u00eb disa raste gjat\u00eb testimit fshija t\u00eb dh\u00ebnat historike t\u00eb llojeve simbolike q\u00eb nuk ishin t\u00eb nevojshme p\u00ebr ruajtje, q\u00eb t\u00eb mos i transferoja ato.<\/p>\n<p>Hapi i fundit \u2014\u00a0<code><strong>UPDATE<\/strong><\/code>: n\u00eb <code>db_extension<\/code> vendosim <code>timescaledb<\/code>, p\u00ebr t\u00eb ndihmuar DB-n\u00eb t\u00eb kuptoj\u00eb se ekziston kjo zgjerim. Zabbix e aktivizon at\u00eb dhe e p\u00ebrdor sakt\u00eb sintaks\u00ebn dhe k\u00ebrkesat ndaj DB-s\u00eb \u2014 ato funksionalitete q\u00eb jan\u00eb t\u00eb nevojshme p\u00ebr TimescaleDB.<\/p>\n<h2>Konfigurimi i harduerit<\/h2>\n<p>\nUn\u00eb p\u00ebrdora dy servera. I pari \u2014 <strong>makina VMware<\/strong>. Ajo \u00ebsht\u00eb mjaft e vog\u00ebl: 20 procesor\u00eb Intel\u00ae Xeon\u00ae CPU E5-2630 v 4 @ 2.20GHz, 16 GB RAM dhe nj\u00eb SSD prej 200 GB.<\/p>\n<p>Un\u00eb instalova PostgreSQL 10.8 me OS Debian 10.8-1.pgdg90+1 dhe sistemin e skedave xfs. E gjitha u konfigurova minimalisht p\u00ebr t\u00eb p\u00ebrdorur pik\u00ebrisht k\u00ebt\u00eb baz\u00eb t\u00eb dh\u00ebnash, p\u00ebrve\u00e7 asaj q\u00eb do t\u00eb p\u00ebrdor\u00eb vet\u00eb Zabbix.<\/p>\n<p>N\u00eb k\u00ebt\u00eb makin\u00eb ishte serveri Zabbix, PostgreSQL dhe <strong>agensit e ngarkes\u00ebs<\/strong>. Kisha 50 agjent\u00eb aktiv\u00eb q\u00eb p\u00ebrdornin <code>LoadableModule<\/code>, p\u00ebr t\u00eb gjeneruar shum\u00eb shpejt rezultate t\u00eb ndryshme: numra, k\u00ebng\u00eb. Un\u00eb mbusha baz\u00ebn me nj\u00eb sasi t\u00eb madhe t\u00eb dh\u00ebnash.<\/p>\n<p>Fillimi konfigurimi p\u00ebrmbante <strong>5,000 elemente<\/strong> t\u00eb dh\u00ebnash p\u00ebr \u00e7do host. Pothuajse \u00e7do element kishte nj\u00eb nxit\u00ebs, p\u00ebr t'u ngjash\u00ebm me instalimet reale. N\u00eb disa raste kishte m\u00eb shum\u00eb se nj\u00eb nxit\u00ebs. P\u00ebr \u00e7do nyje t\u00eb rrjetit p\u00ebr <strong>3,000-7,000 nxit\u00ebs<\/strong>.<\/p>\n<p>Intervali i p\u00ebrdit\u00ebsimit t\u00eb elementeve t\u00eb dh\u00ebnash \u00ebsht\u00eb <strong>4-7 sekonda<\/strong>. Ngarkes\u00ebn e rregullova duke p\u00ebrdorur jo vet\u00ebm 50 agjent\u00eb, por duke shtuar edhe m\u00eb shum\u00eb. Gjithashtu, me an\u00eb t\u00eb elementeve t\u00eb dh\u00ebnash kam rregulluar dinamikisht ngarkes\u00ebn dhe e kam ulur intervalin e p\u00ebrdit\u00ebsimit n\u00eb 4 sekonda.<\/p>\n<h3>PostgreSQL. 35,000 nvps<\/h3>\n<p>\nShtimi i par\u00eb n\u00eb k\u00ebt\u00eb harduer e kam pasur n\u00eb PostgreSQL t\u00eb past\u00ebr \u2014 35,000 vlera n\u00eb sekond\u00eb. Si\u00e7 duket, futja e t\u00eb dh\u00ebnave z\u00eb fraksione sekondash \u2014 gjith\u00e7ka \u00ebsht\u00eb n\u00eb rregull dhe e shpejt\u00eb. E vetmja gj\u00eb, disku SSD me kapacitet 200 GB mbushet shpejt.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/e84b2eb0f6fbbd902c5feab367c750ee.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKy \u00ebsht\u00eb dashboard-i standard i performanc\u00ebs s\u00eb Zabbix-it \u2014 serverave.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/c3afe021acf8e272813b8d8c2f82e762.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGrafiku i par\u00eb blu \u2014 numri i vlerave n\u00eb sekond\u00eb. Grafiku i dyt\u00eb n\u00eb t\u00eb djatht\u00eb \u2014 ngarkesa e proceseve t\u00eb nd\u00ebrtimit. Tret\u00eb \u2014 ngarkesa e proceseve t\u00eb brendshme t\u00eb nd\u00ebrtimit: history syncers dhe Housekeeper, i cili k\u00ebtu u ekzekutua p\u00ebr nj\u00eb koh\u00eb t\u00eb mjaftueshme.<\/p>\n<p>Grafiku i kat\u00ebrt tregon p\u00ebrdorimin e HistoryCache. Ky \u00ebsht\u00eb nj\u00eb tampon para se t\u00eb futen n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave. Grafiku i gjelb\u00ebr i pest\u00eb tregon p\u00ebrdorimin e ValueCache, q\u00eb do t\u00eb thot\u00eb se sa hit-e ka ValueCache p\u00ebr trigger-at \u2014 disa mij\u00ebra vlera n\u00eb sekond\u00eb.<\/p>\n<h3>PostgreSQL. 50,000 nvps<\/h3>\n<p>\nM\u00eb pas e rita ngarkes\u00ebn n\u00eb 50,000 vlera n\u00eb sekond\u00eb n\u00eb t\u00eb nj\u00ebjt\u00ebn pajisje.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/8f10944486d5502b57d36059382d551b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGjat\u00eb ngarkes\u00ebs me Housekeeper, futja e 10,000 vlerave u regjistrua p\u00ebr 2-3 sekonda.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/5228c1735f0ee2da7f827093f3c7b1f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Housekeeper tashm\u00eb fillon t\u00eb pengoj\u00eb pun\u00ebn.<\/em><\/p>\n<p>N\u00eb grafikun e tret\u00eb, duket se ngarkesa e trapper-ve dhe history syncers-ve \u00ebsht\u00eb ende n\u00eb nivelin 60%. N\u00eb grafikun e kat\u00ebrt, HistoryCache gjat\u00eb pun\u00ebs s\u00eb Housekeeper-it fillon t\u00eb mbushet mjaft aktivisht. Ai u mbush n\u00eb 20% \u2014 kjo \u00ebsht\u00eb rreth 0,5 GB.<\/p>\n<h3>PostgreSQL. 80,000 nvps<\/h3>\n<p>\nM\u00eb pas e rita ngarkes\u00ebn n\u00eb 80,000 vlera n\u00eb sekond\u00eb. Kjo \u00ebsht\u00eb rreth 400,000 elemente t\u00eb dh\u00ebnash dhe 280,000 trigger-a.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/f6c6b0d6793f96523f7406e68f98c608.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Futja me ngarkes\u00ebn e tridhjet\u00eb history syncers-ve \u00ebsht\u00eb tashm\u00eb mjaft e lart\u00eb.<\/em><\/p>\n<p>Gjithashtu kam rritur parametra t\u00eb ndrysh\u00ebm: history syncers, cache.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/6ca7edd76aea6fdec00a61a0a6dc34e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb pajisjen time, ngarkesa e history syncers-ve u rrit n\u00eb maksimum. HistoryCache u mbush shpejt me t\u00eb dh\u00ebna \u2014 u grumbulluan t\u00eb dh\u00ebna p\u00ebr procesim n\u00eb tampon.<\/p>\n<p>Gjat\u00eb gjith\u00eb k\u00ebsaj kohe kam v\u00ebzhguar si p\u00ebrdoren procesori, memoria operative dhe parametrat e tjer\u00eb t\u00eb sistemit, dhe zbuloj se shfryt\u00ebzimi i disqeve ka qen\u00eb maksimal.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/e964a000156b561accd23b4e1644f4a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nArrita t\u00eb p\u00ebrdor <strong>kapacitetet maksimale t\u00eb diskut<\/strong> n\u00eb k\u00ebt\u00eb harduer dhe n\u00eb k\u00ebt\u00eb makin\u00eb virtuale. Me nj\u00eb intensitet t\u00eb till\u00eb, PostgreSQL filloi t\u00eb hidhej t\u00eb dh\u00ebnat mjaft aktivisht, dhe disku nuk arrinte m\u00eb t\u00eb punonte p\u00ebr shkrim dhe lexim.<\/p>\n<h3>Serveri i dyt\u00eb<\/h3>\n<p>\nMora nj\u00eb server tjet\u00ebr, i cili kishte tashm\u00eb 48 procesor\u00eb dhe 128 GB memorie operative. E rregullova at\u00eb - vendosa 60 history syncer, dhe arrita nj\u00eb performanc\u00eb t\u00eb pranueshme.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/591fc759b336d5fb2091460036b136bf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb fakt, kjo \u00ebsht\u00eb tashm\u00eb kufiri i performanc\u00ebs, ku \u00ebsht\u00eb e nevojshme t\u00eb nd\u00ebrmirren di\u00e7ka.<\/p>\n<h3>TimescaleDB. 80,000 nvps<\/h3>\n<p>\nDetyra ime kryesore \u00ebsht\u00eb t\u00eb kontrolloj kapacitetet e TimescaleDB nga ngarkesa Zabbix. 80 mij\u00eb vlera n\u00eb sekond\u00eb - \u00ebsht\u00eb shum\u00eb, frekuenca e mbledhjes s\u00eb metrikave (p\u00ebrve\u00e7 Yandex, sigurisht) dhe nj\u00eb 'setup' mjaft i madh.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/aa569847e7bc31baab91661db1ee78a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb \u00e7do grafik ka nj\u00eb r\u00ebnie - kjo \u00ebsht\u00eb pik\u00ebrisht migrimi i t\u00eb dh\u00ebnave. Pasi r\u00ebniet n\u00eb serverin Zabbix, profili i ngarkes\u00ebs history syncer ka ndryshuar shum\u00eb - ra n\u00eb tre her\u00eb.<\/p>\n<blockquote><p>TimescaleDB lejon t\u00eb futen t\u00eb dh\u00ebna praktikisht deri n\u00eb 3 her\u00eb m\u00eb shpejt dhe p\u00ebrdor m\u00eb pak HistoryCache.<\/p><\/blockquote>\n<p>\nPrandaj, ju do t\u00eb ofrohen t\u00eb dh\u00ebna n\u00eb koh\u00eb.<\/p>\n<h3>TimescaleDB. 120,000 nvps.<\/h3>\n<p>\nPastaj e zgjata numrin e elementeve t\u00eb dh\u00ebnash deri n\u00eb 500,000. Q\u00ebllimi kryesor ishte t\u00eb verifikoja kapacitetet e TimescaleDB \u2014 kam arritur nj\u00eb vler\u00ebsim prej 125,000 vlerash n\u00eb sekond\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/4770ca4030e1c086f2fd9305a12496bb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKy \u00ebsht\u00eb nj\u00eb 'setup' funksional, i cili mund t\u00eb operoj\u00eb gjat\u00eb p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb. Por pasi disku im ishte vet\u00ebm 1.5 TB, e mbusha at\u00eb p\u00ebr disa dit\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/1ad521b909a22a7db81a9ed802d348e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u00eb e r\u00ebnd\u00ebsishmja, n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb u krijuan parti t\u00eb reja n\u00eb TimescaleDB.<\/p>\n<p>P\u00ebr performanc\u00ebn, kjo \u00ebsht\u00eb krejt\u00ebsisht e padukshme. Kur krijohen parti n\u00eb MySQL, p\u00ebr shembull, gjith\u00e7ka \u00ebsht\u00eb ndryshe. Zakonisht ndodh nat\u00ebn, sepse bllokon injektimin e p\u00ebrgjithsh\u00ebm, pun\u00ebn me tabelat dhe mund t\u00eb shkaktoj\u00eb degradim t\u00eb sh\u00ebrbimit. N\u00eb rastin e TimescaleDB, kjo nuk ndodh.<\/p>\n<p>Si shembull do t\u00eb tregoj nj\u00eb grafik nga shumica n\u00eb community. N\u00eb imazh \u00ebsht\u00eb p\u00ebrfshir\u00eb TimescaleDB, fal\u00eb t\u00eb cilit ngarkesa mbi p\u00ebrdorimin e io.weight n\u00eb procesor ra. P\u00ebrdorimi i elementeve t\u00eb proceseve t\u00eb brendshme gjithashtu ra. Dhe kjo \u00ebsht\u00eb nj\u00eb makin\u00eb virtuale normale me disqe normale, jo SSD.<\/p>\n<p><img decoding=\"async\" alt=\"Performanc\u00eb e lart\u00eb dhe ndarje native: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB\" src=\"\/wp-content\/uploads\/2019\/10\/bea0cd0f1448e1d1b3a5f979d51ce61c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>P\u00ebrfundimet<\/h2>\n<p>\n<strong>TimescaleDB \u00ebsht\u00eb nj\u00eb zgjidhje e mir\u00eb p\u00ebr 'setup' t\u00eb vogla.<\/strong>, t\u00eb cilat ndihmojn\u00eb performanc\u00ebn e diskut. Ajo do t'ju lejoj\u00eb t\u00eb vazhdoni t\u00eb punoni deri n\u00eb migrimin e DB-s\u00eb n\u00eb nj\u00eb harduer m\u00eb t\u00eb shpejt\u00eb.<\/p>\n<p>TimescaleDB \u00ebsht\u00eb i leht\u00eb p\u00ebr t'u konfiguruar, ofron nj\u00eb rritje t\u00eb performanc\u00ebs, dhe punon mir\u00eb me Zabbix dhe <strong>ka p\u00ebrpar\u00ebsi krahasuar me PostgreSQL<\/strong>.<\/p>\n<p>N\u00ebse p\u00ebrdorni PostgreSQL dhe nuk planifikoni ta ndryshoni, rekomandoj <strong>t\u00eb p\u00ebrdorni PostgreSQL me zgjerimin TimescaleDB n\u00eb kombinim me Zabbix<\/strong>. Ky zgjidhje funksionon efikasisht deri n\u00eb setup-et mesatare.<\/p>\n<blockquote>\n<p>Kur themi 'performanc\u00eb e lart\u00eb' \u2014 n\u00ebnkuptojm\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\">HighLoad++<\/a><\/noindex>. Nuk do t\u00eb duhet t\u00eb prisni shum\u00eb p\u00ebr t\u00eb njohur teknologjit\u00eb dhe praktikat q\u00eb lejojn\u00eb sh\u00ebrbimet t\u00eb sh\u00ebrbejn\u00eb miliona p\u00ebrdorues. Lista <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/abstracts\">e referateve<\/a><\/noindex> p\u00ebr 7 dhe 8 n\u00ebntor e kemi p\u00ebrgatitur, nd\u00ebrsa <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/meetups\">mitapat<\/a><\/noindex> mund t\u00eb ofrohen akoma.<\/p>\n<p>Abonohuni n\u00eb grupin ton\u00eb n\u00eb Facebook <noindex><a rel=\"nofollow\" href=\"http:\/\/eepurl.com\/VYVaf\">d\u00ebrges\u00ebn<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/HighLoadChannel\">telegram<\/a><\/noindex>, n\u00eb t\u00eb cilat zbulojm\u00eb karakteristikat e konferenc\u00ebs s\u00eb ardhshme, dhe m\u00ebsoni se si t\u00eb nxirrni maksimumin nga ajo.<\/p>\n<\/blockquote>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/470902\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Zabbix \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u0430\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430: \u0441\u0431\u043e\u0440 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0435\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0430. \u042d\u0442\u0430\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f. \u041d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u043d\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Zabbix \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u0430\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430: \u0441\u0431\u043e\u0440 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0435\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0430. \u042d\u0442\u0430\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f. \u041d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u043d\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u0441\u043e\u043a\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435: Zabbix \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 TimescaleDB | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Zabbix \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u0430\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430: \u0441\u0431\u043e\u0440 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0435\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0430. \u042d\u0442\u0430\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f. \u041d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u043d\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:26:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:26:48+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Performanc\u00eb e lart\u00eb dhe ndarje natyrale: Zabbix me mb\u00ebshtetje p\u00ebr TimescaleDB | ProHoster","description":"Zabbix \u2014 \u00ebsht\u00eb nj\u00eb sistem monitorimi. Ashtu si \u00e7do sistem tjet\u00ebr, ai p\u00ebrballet me tre probleme kryesore t\u00eb \u00e7do sistemi monitorimi: mbledhja dhe p\u00ebrpunimi i t\u00eb dh\u00ebnave, ruajtja e historikut dhe pastrimi i saj. Hapat p\u00ebr marrjen, p\u00ebrpunimin dhe regjistrimin e t\u00eb dh\u00ebnave k\u00ebrkojn\u00eb koh\u00eb. Pak, por p\u00ebr nj\u00eb sistem t\u00eb madh, kjo mund t\u00eb rezultoj\u00eb n\u00eb vonesa t\u00eb m\u00ebdha. Problemi i ruajtjes \u00ebsht\u00eb nj\u00eb \u00e7\u00ebshtje qasje n\u00eb t\u00eb dh\u00ebna. Ato","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u0441\u043e\u043a\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435: Zabbix \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 TimescaleDB | ProHoster","og:description":"Zabbix \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u0430\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430: \u0441\u0431\u043e\u0440 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0435\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0430. \u042d\u0442\u0430\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f. \u041d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u043d\u0438","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:26:48+00:00","article:modified_time":"2019-10-31T19:26:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38927","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 23:59:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 21:14:06","updated":"2026-01-23 23:59:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/38927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=38927"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/38927\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/29204"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=38927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=38927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=38927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}