Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Zabbix hija sistema ta’ monitoraġġ. Bħal kull sistema oħra, tiffaċċja tliet problemi ewlenin tas-sistemi kollha ta 'monitoraġġ: il-ġbir u l-ipproċessar tad-dejta, il-ħażna tal-istorja, u t-tindif tagħha.

L-istadji tar-riċeviment, l-ipproċessar u r-reġistrazzjoni tad-dejta jieħdu ż-żmien. Mhux ħafna, iżda għal sistema kbira dan jista 'jirriżulta f'dewmien kbir. Il-problema tal-ħażna hija kwistjoni ta' aċċess għad-dejta. Jintużaw għal rapporti, kontrolli u triggers. Il-latenzi fl-aċċess għad-dejta jaffettwaw ukoll il-prestazzjoni. Meta d-databases jikbru, id-data irrilevanti trid titħassar. It-tneħħija hija operazzjoni diffiċli li tiekol ukoll xi riżorsi.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Problemi ta 'dewmien waqt il-ġbir u l-ħażna f'Zabbix huma solvuti permezz ta' caching: diversi tipi ta 'caches, caching fid-database. Biex issolvi t-tielet problema, il-caching mhuwiex adattat, għalhekk Zabbix uża TimescaleDB. Huwa ser jgħidlek dwar dan Andrey Gushchin - inġinier ta' appoġġ tekniku Zabbix SIA. Andrey ilu jappoġġa lil Zabbix għal aktar minn 6 snin u għandu esperjenza diretta fil-prestazzjoni.

Kif jaħdem TimescaleDB, liema prestazzjoni jista 'jagħti meta mqabbel ma' PostgreSQL regolari? Liema rwol għandu Zabbix għad-database TimescaleDB? Kif tibda mill-bidu u kif temigra minn PostgreSQL u liema konfigurazzjoni għandha prestazzjoni aħjar? Dwar dan kollu taħt il-qatgħa.

Sfidi tal-Produttività

Kull sistema ta' monitoraġġ tiffaċċja sfidi speċifiċi ta' prestazzjoni. Se nitkellem dwar tlieta minnhom: il-ġbir u l-ipproċessar tad-dejta, il-ħażna, u l-ikklerjar tal-istorja.

Ġbir u pproċessar ta' data mgħaġġla. Sistema ta' monitoraġġ tajba għandha tirċievi malajr id-dejta kollha u tipproċessaha skont espressjonijiet tal-iskattar - skont il-kriterji tagħha. Wara l-ipproċessar, is-sistema għandha wkoll issalva malajr din id-dejta fid-database għal użu aktar tard.

Ħażna tal-istorja. Sistema ta' monitoraġġ tajba għandha taħżen l-istorja f'database u tipprovdi aċċess faċli għall-metriċi. L-istorja hija meħtieġa biex tintuża f'rapporti, graffs, triggers, limiti, u oġġetti ta' data ta' twissija kkalkulati.

Storja tal-ikklerjar. Xi drabi jasal ġurnata meta ma jkollokx bżonn taħżen il-metriċi. Għaliex għandek bżonn dejta li nġabret 5 snin ilu, xahar jew tnejn: xi nodi tħassru, xi hosts jew metriċi m'għadhomx meħtieġa minħabba li huma skaduti u m'għadhomx miġbura. Sistema ta’ monitoraġġ tajba għandha taħżen data storika u tħassarha minn żmien għal żmien sabiex id-database ma tikberx.

It-tindif tad-data skaduta hija kwistjoni kritika li taffettwa bil-kbir il-prestazzjoni tad-database.

Caching f'Zabbix

F'Zabbix, l-ewwel u t-tieni sejħiet jiġu solvuti bl-użu tal-caching. RAM tintuża biex tiġbor u tipproċessa d-data. Għall-ħażna - storja fi triggers, graphs u elementi ta 'data kkalkulati. Fuq in-naħa tad-database hemm xi caching għal selezzjonijiet bażiċi, pereżempju, graphs.

Il-caching fuq in-naħa tas-server Zabbix innifsu huwa:

  • ConfigurationCache;
  • ValueCache;
  • HistoryCache;
  • TrendsCache.

Ejja nikkunsidrawhom f'aktar dettall.

ConfigurationCache

Din hija l-cache prinċipali fejn naħżnu metriċi, hosts, oġġetti tad-dejta, triggers - dak kollu li neħtieġu għall-PreProcessing u għall-ġbir tad-dejta.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Dan kollu jinħażen f'ConfigurationCache sabiex ma jinħolqux mistoqsijiet bla bżonn fid-database. Wara li jibda s-server, aħna naġġornaw din il-cache, noħolqu u naġġornaw perjodikament il-konfigurazzjonijiet.

Ġbir tad-dejta

Id-dijagramma hija pjuttost kbira, iżda l-ħaġa prinċipali fiha hija kolletturi. Dawn huma diversi "pollers" - proċessi ta 'assemblaġġ. Huma responsabbli għal tipi differenti ta 'assemblaġġ: jiġbru data permezz ta' SNMP, IPMI, u jittrasferixxuha kollha għal PreProcessing.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDBIl-kolletturi huma deskritti b'mod oranġjo.

Zabbix ikkalkula oġġetti aggregati li huma meħtieġa biex jiġbru l-kontrolli. Jekk ikollnahom, aħna nġibu d-dejta għalihom direttament mill-ValueCache.

HistoryCache tal-Ipproċessar minn qabel

Il-kolletturi kollha jużaw ConfigurationCache biex jirċievu impjiegi. Imbagħad jittrasferixxuhom għal PreProcessing.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

PreProcessing juża ConfigurationCache biex jirċievi passi PreProcessing. Jipproċessa din id-dejta b'diversi modi.

Wara li tipproċessa d-dejta bl-użu ta 'PreProcessing, aħna nissejvjaha fi HistoryCache għall-ipproċessar. Dan itemm il-ġbir tad-data u ngħaddu għall-proċess ewlieni f'Zabbix - syncer tal-istorja, peress li hija arkitettura monolitika.

Nota: PreProcessing hija operazzjoni pjuttost diffiċli. Bil-v 4.2 ġie mċaqlaq għal prokura. Jekk għandek Zabbix kbir ħafna b'numru kbir ta 'elementi ta' data u frekwenza ta 'ġbir, allura dan jagħmel ix-xogħol ħafna aktar faċli.

ValueCache, storja u tendenzi cache

History syncer huwa l-proċess ewlieni li jipproċessa atomikament kull element tad-dejta, jiġifieri kull valur.

Is-sinkronizzar tal-istorja jieħu valuri minn HistoryCache u jiċċekkja l-Konfigurazzjoni għall-preżenza ta’ triggers għall-kalkoli. Jekk jeżistu, tikkalkula.

Storja syncer toħloq avveniment, eskalazzjoni biex toħloq twissijiet jekk meħtieġ mill-konfigurazzjoni, u rekords. Jekk ikun hemm triggers għall-ipproċessar sussegwenti, allura jaħżen dan il-valur f'ValueCache sabiex ma jaċċessax it-tabella tal-istorja. Dan huwa kif ValueCache huwa mimli b'dejta li hija meħtieġa biex jiġu kkalkulati triggers u elementi kkalkulati.

History syncer jikteb id-data kollha fid-database, u jikteb fuq disk. Il-proċess tal-ipproċessar jispiċċa hawn.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Caching fid-database

Fuq in-naħa tad-database hemm diversi caches meta trid tara graffs jew rapporti dwar avvenimenti:

  • Innodb_buffer_pool fuq in-naħa MySQL;
  • shared_buffers fuq in-naħa PostgreSQL;
  • effective_cache_size fuq in-naħa tal-Oracle;
  • shared_pool fuq in-naħa DB2.

Hemm ħafna caches oħra, iżda dawn huma dawk ewlenin għad-databases kollha. Huma jippermettu li taħżen data fir-RAM li ħafna drabi hija meħtieġa għall-mistoqsijiet. Huma għandhom it-teknoloġiji tagħhom stess għal dan.

Il-prestazzjoni tad-database hija kritika

Is-server Zabbix kontinwament jiġbor data u jiktebha. Meta terġa 'tinbeda, jaqra wkoll mill-istorja biex timla l-ValueCache. Juża skripts u rapporti Zabbix API, li hija mibnija fuq interface tal-Web. Zabbix API jaċċessa d-database u jirkupra d-dejta meħtieġa għal graffs, rapporti, listi ta 'avvenimenti u l-aħħar kwistjonijiet.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Għall-viżwalizzazzjoni - grafana. Din hija soluzzjoni popolari fost l-utenti tagħna. Jista 'jibgħat talbiet direttament permezz tal-API Zabbix u għad-database, u joħloq ċerta kompetizzjoni biex tirċievi dejta. Għalhekk, irfinar aħjar u aħjar tad-database huwa meħtieġ biex taqbel mal-kunsinna mgħaġġla tar-riżultati u l-ittestjar.

housekeeper

It-tielet sfida ta 'prestazzjoni f'Zabbix hija l-ikklerjar tal-istorja bl-użu ta' Housekeeper. Isegwi s-settings kollha - l-elementi tad-dejta jindikaw kemm idum jaħżen id-dinamika tal-bidliet (xejriet) fi ġranet.

Aħna nikkalkulaw TrendsCache fuq il-fly. Meta tasal id-dejta, aħna naggregawha għal siegħa u nirreġistrawha f'tabelli għad-dinamika tal-bidliet tax-xejra.

Housekeeper jibda u jħassar informazzjoni mid-database billi juża s-soltu "jagħżel". Dan mhux dejjem effettiv, kif jidher mill-grafiċi tal-prestazzjoni tal-proċessi interni.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Il-grafika ħamra turi li s-sinkronizzazzjoni tal-Istorja hija okkupata kontinwament. Il-grafika oranġjo fin-naħa ta 'fuq hija Housekeeper, li qed taħdem kontinwament. Huwa jistenna li d-database tħassar ir-ringieli kollha li speċifika.

Meta għandek tiddiżattiva Housekeeper? Pereżempju, hemm "ID tal-Oġġett" u għandek bżonn tħassar l-aħħar 5 elf ringiela f'ċertu żmien. Naturalment, dan iseħħ bl-indiċi. Iżda ġeneralment id-dataset huwa kbir ħafna, u d-database xorta taqra mid-disk u tpoġġiha fil-cache. Din hija dejjem operazzjoni għalja ħafna għad-database u, skont id-daqs tad-database, tista 'twassal għal problemi ta' prestazzjoni.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Housekeeper huwa faċli biex tiddiżattiva. Fl-interface tal-Web hemm setting f'"Amministrazzjoni ġenerali" għal Housekeeper. Aħna tiddiżattiva Housekeeping intern għall-istorja tax-xejriet interni u m'għadhiex tamministraha.

Housekeeper kien mitfi, il-graffs livellati - x'problemi jista 'jkun hemm f'dan il-każ u x'jista' jgħin biex issolvi t-tielet sfida tal-prestazzjoni?

Partitioning - qsim jew qsim

Tipikament, il-qsim huwa kkonfigurat b'mod differenti fuq kull database relazzjonali li elenkajt. Kull wieħed għandu t-teknoloġija tiegħu stess, iżda huma simili b'mod ġenerali. Il-ħolqien ta 'partizzjoni ġdida ħafna drabi jwassal għal ċerti problemi.

Tipikament, il-ħitan huma kkonfigurati skont is-"setup" - l-ammont ta 'dejta li tinħoloq f'ġurnata waħda. Bħala regola, il-qsim jinħareġ f'ġurnata waħda, dan huwa l-minimu. Għal xejriet ta 'lott ġdid - xahar 1.

Il-valuri jistgħu jinbidlu jekk is-"setup" hija kbira ħafna. Jekk "setup" żgħir huwa sa 5 nvps (valuri ġodda kull sekonda), waħda medja hija minn 000 sa 5, allura waħda kbira hija 'l fuq minn 000 nvps. Dawn huma installazzjonijiet kbar u kbar ħafna li jeħtieġu konfigurazzjoni bir-reqqa tad-database.

Fuq installazzjonijiet kbar ħafna, perjodu ta 'ġurnata jista' ma jkunx l-aħjar. Rajt diviżorji MySQL ta '40 GB jew aktar kuljum. Dan huwa ammont kbir ħafna ta 'dejta li jista' jikkawża problemi u jeħtieġ li jitnaqqas.

X'jagħti partitioning?

Tabelli tal-qsim. Ħafna drabi dawn huma fajls separati fuq disk. Il-pjan tal-mistoqsija jagħżel partizzjoni waħda bl-aħjar mod. Normalment il-qsim jintuża skont il-firxa - dan jgħodd ukoll għal Zabbix. Aħna nużaw "timestamp" hemm - żmien mill-bidu tal-era. Dawn huma numri ordinarji għalina. Issettja l-bidu u t-tmiem tal-ġurnata - din hija partizzjoni.

Tneħħija ta 'malajr - DELETE. Tiġi magħżula fajl/sottotabella waħda, aktar milli għażla ta' ringieli għat-tħassir.

Tħaffef b'mod sinifikanti l-irkupru tad-data SELECT - juża partizzjoni waħda jew aktar, aktar milli t-tabella kollha. Jekk qed taċċessa dejta li għandha jumejn, din tiġi rkuprata mid-database aktar malajr għaliex għandek bżonn biss li tgħabbi fajl wieħed fil-cache u tirritornah, mhux tabella kbira.

Ħafna drabi ħafna databases huma wkoll aċċellerati INSERT — inserzjonijiet fit-tabella tat-tfal.

TimecaleDB

Għal v 4.2, ġibna l-attenzjoni tagħna fuq TimescaleDB. Din hija estensjoni għal PostgreSQL b'interface nattiva. L-estensjoni taħdem b'mod effettiv mad-dejta tas-serje tal-ħin, mingħajr ma titlef il-benefiċċji tad-databases relazzjonali. TimescaleDB wkoll diviżorji awtomatikament.

TimescaleDB għandu kunċett ipertabella (hypertable) li inti toħloq. Fih biċċiet - diviżorji. Il-biċċiet huma frammenti hypertable ġestiti awtomatikament li ma jaffettwawx frammenti oħra. Kull biċċa għandha l-firxa tal-ħin tagħha stess.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

TimescaleDB vs PostgreSQL

TimescaleDB jaħdem b'mod tassew effiċjenti. Il-manifatturi tal-estensjoni jsostnu li jużaw algoritmu tal-ipproċessar tat-talbiet aktar korrett, b'mod partikolari, inserts. Hekk kif id-daqs tal-inserzjoni tas-sett tad-dejta jikber, l-algoritmu jżomm prestazzjoni kostanti.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Wara 200 miljun ringieli, PostgreSQL normalment jibda jonqos b'mod sinifikanti u jitlef il-prestazzjoni għal 0. TimescaleDB jippermettilek li daħħal "inserts" b'mod effiċjenti għal kwalunkwe ammont ta 'dejta.

Installazzjoni

L-installazzjoni ta' TimescaleDB hija pjuttost faċli għal kwalunkwe pakkett. IN dokumentazzjoni kollox huwa deskritt fid-dettall - jiddependi fuq il-pakketti uffiċjali PostgreSQL. TimescaleDB jista' jinbena u jinġabar ukoll manwalment.

Għad-database Zabbix aħna sempliċement nattivaw l-estensjoni:

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix

Int tattiva extension u toħloqha għad-database Zabbix. L-aħħar pass huwa li toħloq hypertable.

Migrazzjoni ta' tabelli tal-istorja għal TimescaleDB

Hemm funzjoni speċjali għal dan create_hypertable:

SELECT create_hypertable(‘history’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘history_unit’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘history_log’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘history_text’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘history_str’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘trends’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘trends_unit’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
UPDATE config SET db_extension=’timescaledb’, hk_history_global=1, hk_trends_global=1

Il-funzjoni għandha tliet parametri. L-ewwel - tabella fid-database, li għalih għandek bżonn toħloq hypertable. It-tieni - qasam, skond liema għandek bżonn toħloq chunk_time_interval — intervall ta' biċċiet ta' diviżorji li għandhom jintużaw. Fil-każ tiegħi, l-intervall huwa ġurnata waħda - 86.

It-tielet parametru - migrate_data. Jekk tissettja true, imbagħad id-data kurrenti kollha tiġi trasferita għal biċċiet maħluqa minn qabel. Jien użajtha jien migrate_data. Kelli madwar 1 TB, li ħadet aktar minn siegħa. Anke f'xi każijiet, waqt l-ittestjar, ħassejt dejta storika ta 'tipi ta' karattri li ma kinux meħtieġa għall-ħażna, sabiex ma tittrasferihomx.

L-aħħar pass - UPDATE: fi db_extension poġġi timescaledbsabiex id-database tifhem li din l-estensjoni teżisti. Zabbix jattivaha u juża b'mod korrett is-sintassi u l-mistoqsijiet għad-database - dawk il-karatteristiċi li huma meħtieġa għal TimescaleDB.

Konfigurazzjoni tal-ħardwer

Jien użajt żewġ servers. L-ewwel - Magna VMware. Huwa pjuttost żgħir: 20 Intel® Xeon® CPU E5-2630 v 4 @ 2.20GHz proċessuri, 16 GB RAM u 200 GB SSD.

Installajt PostgreSQL 10.8 fuqha b'Debian 10.8-1.pgdg90+1 OS u xfs file system. I kkonfigurat kollox minimament biex nuża din id-database partikolari, nieqes dak li se juża Zabbix innifsu.

Fuq l-istess magna kien hemm server Zabbix, PostgreSQL u aġenti tat-tagħbija. Kelli 50 aġent attiv li kienu qed jużaw LoadableModulebiex jiġġenera malajr ħafna riżultati differenti: numri, kordi. Imliet id-database b'ħafna dejta.

Inizjalment il-konfigurazzjoni li tinsab 5 element data għal kull host. Kważi kull element kien fih grillu biex jagħmilha simili għal installazzjonijiet reali. F'xi każijiet kien hemm aktar minn grillu wieħed. Għal node tan-netwerk wieħed kien hemm 3-000 jqajjem.

Intervall tal-Aġġornament tal-Oġġett tad-Data − 4-7 sekonda. Irregolajt it-tagħbija nnifisha billi uża mhux biss 50 aġent, iżda żidt aktar. Ukoll, bl-użu ta 'elementi tad-dejta, aġġustajt dinamikament it-tagħbija u naqqas l-intervall ta' aġġornament għal 4 s.

PostgreSQL. 35 nvps

L-ewwel ġirja tiegħi fuq dan il-hardware kienet fuq PostgreSQL pur - 35 elf valuri kull sekonda. Kif tistgħu taraw, id-dħul tad-data jieħu frazzjonijiet ta 'sekonda - kollox huwa tajjeb u veloċi. L-unika ħaġa hija li disk SSD ta '200 GB timla malajr.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Dan huwa dashboard standard tal-prestazzjoni tas-server Zabbix.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

L-ewwel grafika blu hija n-numru ta 'valuri kull sekonda. It-tieni graff fuq il-lemin huwa t-tagħbija tal-proċessi tal-bini. It-tielet huwa t-tagħbija tal-proċessi tal-bini interni: syncers tal-istorja u Housekeeper, li ilu għaddej hawn għal żmien pjuttost twil.

Ir-raba' graff turi l-użu ta' HistoryCache. Dan huwa tip ta 'buffer qabel ma jiddaħħal fid-database. Il-ħames grafika ħadra turi l-użu tal-ValueCache, jiġifieri, kemm ValueCache hits għal triggers - dan huwa diversi eluf ta 'valuri kull sekonda.

PostgreSQL. 50 nvps

Imbagħad żidt it-tagħbija għal 50 elf valuri kull sekonda fuq l-istess hardware.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Meta tgħabbi minn Housekeeper, id-dħul ta '10 elf valuri ħadet 2-3 sekondi.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB
Housekeeper diġà qed tibda tinterferixxi max-xogħol.

It-tielet graff turi li, b'mod ġenerali, it-tagħbija fuq in-nassaba u s-synchchers tal-istorja għadha f'60%. Fir-raba 'graff, HistoryCache diġà qed jibda jimla b'mod pjuttost attiv waqt l-operazzjoni Housekeeper. Huwa 20% sħiħ, li huwa madwar 0,5 GB.

PostgreSQL. 80 nvps

Imbagħad żidt it-tagħbija għal 80 elf valuri kull sekonda. Dan huwa madwar 400 elf element tad-data u 280 elf triggers.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB
L-ispiża tat-tagħbija ta 'tletin syncher tal-istorja hija diġà pjuttost għolja.

Żidt ukoll diversi parametri: syncers tal-istorja, caches.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Fuq il-ħardwer tiegħi, it-tagħbija tas-syncers tal-istorja żdiedet għall-massimu. HistoryCache malajr mimlija bid-data - data għall-ipproċessar kienet akkumulata fil-buffer.

Dan iż-żmien kollu osservajt kif intużaw il-proċessur, ir-RAM u parametri oħra tas-sistema, u sibt li l-użu tad-disk kien fil-massimu tiegħu.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Ksibt l-użu kapaċitajiet massimi tad-disk fuq dan il-hardware u fuq din il-magna virtwali. B'intensità bħal din, PostgreSQL beda jlaħlaħ id-dejta b'mod pjuttost attiv, u d-disk ma kellux aktar ħin biex jikteb u jaqra.

It-tieni server

Ħadt server ieħor, li diġà kellu 48 proċessur u 128 GB RAM. I rranġat - issettjah għal 60 history syncer, u ksibt prestazzjoni aċċettabbli.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Fil-fatt, dan huwa diġà l-limitu tal-produttività fejn hemm bżonn li ssir xi ħaġa.

TimescaleDB. 80 nvps

Il-kompitu ewlieni tiegħi huwa li nittestja l-kapaċitajiet ta 'TimescaleDB kontra t-tagħbija ta' Zabbix. 80 elf valuri kull sekonda hija ħafna, il-frekwenza tal-ġbir tal-metriċi (ħlief għal Yandex, ovvjament) u "setup" pjuttost kbir.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Hemm dip f'kull graff - din hija preċiżament il-migrazzjoni tad-dejta. Wara fallimenti fis-server Zabbix, il-profil tat-tagħbija tas-syncer tal-istorja nbidel ħafna - niżel tliet darbiet.

TimescaleDB jippermettilek li ddaħħal id-dejta kważi 3 darbiet aktar malajr u tuża inqas HistoryCache.

Għaldaqstant, int ser tirċievi d-dejta fil-ħin.

TimescaleDB. 120 nvps

Imbagħad żidt in-numru ta 'elementi tad-dejta għal elf 500. Il-kompitu ewlieni kien li tittestja l-kapaċitajiet ta 'TimescaleDB - irċevejt valur ikkalkulat ta' 125 elf valuri kull sekonda.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Din hija "setup" tax-xogħol li tista 'taħdem għal żmien twil. Imma peress li d-disk tiegħi kien biss 1,5 TB, imlieha fi ftit jiem.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

L-iktar ħaġa importanti hija li fl-istess ħin inħolqu diviżorji ġodda TimescaleDB.

Dan huwa kompletament innotabbli għall-prestazzjoni. Meta jinħolqu diviżorji fil-MySQL, pereżempju, kollox huwa differenti. Dan normalment jiġri bil-lejl minħabba li jimblokka l-inserzjoni ġenerali, jaħdem ma 'tabelli u jista' joħloq degradazzjoni tas-servizz. Dan mhux il-każ ma' TimescaleDB.

Bħala eżempju, se nuri graff wieħed minn ħafna fil-komunità. Fl-istampa, TimescaleDB hija attivata, li grazzi għaliha naqset it-tagħbija fuq l-użu ta 'io.weight fuq il-proċessur. L-użu ta 'elementi ta' proċess intern naqas ukoll. Barra minn hekk, din hija magna virtwali ordinarja fuq diski pancake ordinarji, mhux SSD.

Prestazzjoni għolja u partizzjoni nattiva: Zabbix b'appoġġ TimescaleDB

Sejbiet

TimescaleDB hija soluzzjoni tajba għal "setup" żgħir, li għandhom impatt fuq il-prestazzjoni tad-disk. Dan jippermettilek tkompli taħdem tajjeb sakemm id-database tiġi emigrata għall-ħardwer malajr kemm jista 'jkun.

TimescaleDB huwa faċli biex jiġi kkonfigurat, jagħti gwadann fil-prestazzjoni, jaħdem tajjeb ma' Zabbix u għandu vantaġġi fuq PostgreSQL.

Jekk tuża PostgreSQL u ma tippjanax li tibdelha, nirrakkomanda uża PostgreSQL bl-estensjoni TimescaleDB flimkien ma' Zabbix. Din is-soluzzjoni taħdem b'mod effettiv sa "setup" medju.

Meta ngħidu "prestazzjoni għolja" irridu nfissru HighLoad ++. Mhux se jkollok wisq biex tistenna biex titgħallem dwar it-teknoloġiji u l-prattiki li jippermettu lis-servizzi jaqdu miljuni ta’ utenti. Lista rapporti għas-7 u t-8 ta’ Novembru diġà kkumpilajna, imma hawn laqgħat jista' jiġi ssuġġerit aktar.

Abbona għal tagħna newsletter и telegramma, li fiha niżvelaw il-karatteristiċi tal-konferenza li jmiss, u nsiru nafu kif niksbu l-aħjar minnha.

Sors: www.habr.com

Żid kumment