Ou te fautua atu ia e faitau le tusitusiga o le tuai o le 2019 lipoti a Alexander Valyalkin "Alu optimizations i VictoriaMetrics"
Ole feso'ota'iga lea ile vitiō o lenei lipoti -
Ta'u mai e uiga ia te oe lava. O aʻu o Alexander Valyalkin. O iinei fast
, po o le quick
prefix.
O lo'o ou galue nei ile VictoriaMetrics. O le a le mea ma o le a la'u mea o fai iina? O le a ou talanoa e uiga i lenei mea i lenei faʻamatalaga.
O le otootoga o le lipoti e faapea:
- Muamua, o le a ou taʻu atu ia te oe le VictoriaMetrics.
- Ona ou ta'u atu lea o le faasologa o taimi.
- Ona ou ta'u atu lea ia te oe le auala e galue ai se fa'amaumauga fa'asologa o taimi.
- Le isi, o le a ou taʻu atu ia te oe le fausaga o faʻamaumauga: mea e aofia ai.
- Ona tatou aga'i atu ai lea ile fa'ata'ita'iga o lo'o maua e VictoriaMetrics. O se fa'ata'ita'iga lea mo le fa'asinomaga fa'aliliu ma se fa'ata'ita'iga mo le fa'atinoga o bitset i Go.
E iloa e se tasi o le aofia le VictoriaMetrics? Oka, ua iloa e le to'atele o tagata. Ose tala fiafia. Mo i latou e le iloa, o se fa'amaumauga fa'asologa o taimi. E faʻavae i luga o le ata o le ClickHouse, i luga o nisi faʻamatalaga o le faʻatinoga o le ClickHouse. Mo se faʻataʻitaʻiga, i luga o le: MergeTree, faʻatusatusaga tutusa i luga o mea uma o loʻo avanoa ma faʻaleleia le faʻatinoga e ala i le galue i luga o poloka faʻamaumauga o loʻo tuʻuina i totonu o le pusa faʻapipiʻi.
VictoriaMetrics e maua ai fa'amaumauga sili atu nai lo isi fa'amaumauga fa'asologa o taimi.
E fua fa'atatau - o lona uiga, e mafai ona e fa'aopoopo nisi fa'agaioiga, sili atu le RAM i luga o le komepiuta e tasi. VictoriaMetrics o le a faʻaogaina lelei nei punaoa avanoa ma o le a faʻaleleia le gaosiga o laina laina.
VictoriaMetrics e fua fa'alava - o lona uiga, e mafai ona e fa'aopoopoina fa'aputu i le VictoriaMetrics fuifui, ma o lona fa'atinoga o le a fa'atupula'ia toeitiiti lava fa'alaina.
E pei ona e mateina, VictoriaMetrics o se faʻamaumauga vave, aua e le mafai ona ou tusia isi. Ma o loʻo tusia i le Go, o lea o loʻo ou talanoa i ai i lenei feiloaiga.
O ai na te iloa le fa'asologa o taimi? Na te silafia foi le toatele o tagata. O le faasologa o taimi o se faasologa o paga (timestamp, значение)
, lea e fa'avasega ai nei paga i le taimi. O le tau o se numera faʻafefe - float64.
O fa'asologa o taimi ta'itasi e fa'ailoa fa'apitoa e se ki. O a mea e aofia ai i lenei ki? E aofia ai se seti le gaogao o pa'aga autu-taua.
O se fa'ata'ita'iga lea o se faasologa o taimi. O le ki o lenei faasologa o se lisi o paga: __name__="cpu_usage"
ole igoa ole metric, instance="my-server"
- o le komipiuta lea e aoina ai lenei fua, datacenter="us-east"
- o le nofoaga autu lea o lo'o i ai le komepiuta lenei.
Na matou fa'ai'u i se igoa fa'asologa o taimi e aofia ai ta'i-taua e tolu. O lenei ki e fetaui ma se lisi o paga (timestamp, value)
. t1, t3, t3, ..., tN
- o faailoga taimi nei, 10, 20, 12, ..., 15
- o tau tutusa. Ole cpu-fa'aoga lea ile taimi atofaina mo se laina.
O fea e mafai ona fa'aoga ai fa'asologa o taimi? E i ai se tasi e i ai se manatu?
- I DevOps, e mafai ona e fuaina le PPU, RAM, fesoʻotaʻiga, rps, numera o mea sese, ma isi.
- IoT - e mafai ona tatou fuaina le vevela, mamafa, faʻasologa o geo ma isi mea.
- Faʻapea foʻi mea tau tupe - e mafai ona tatou mataʻituina tau mo ituaiga uma o faʻasoa ma tupe.
- E le gata i lea, e mafai ona faʻaogaina taimi faʻasologa i le mataʻituina o gaioiga gaosiga i fale gaosimea. E iai a matou tagata faʻaoga e faʻaogaina VictoriaMetrics e mataʻituina ai le matagi, mo robots.
- E aoga fo'i fa'asologa o taimi mo le aoina mai o fa'amatalaga mai masini o masini eseese. Mo se faʻataʻitaʻiga, mo se afi; mo le fuaina o le mamafa o pa'u; mo le fuaina o le saoasaoa, mamao; mo le fuaina o le penisini, ma isi.
- E mafai foi ona fa'aoga taimi fa'asologa e mata'ituina ai vaalele. O vaalele taʻitasi e iai se pusa uliuli e aoina ai faʻasologa o taimi mo vaega eseese o le soifua maloloina o le vaalele. O fa'asologa o taimi o lo'o fa'aaogaina fo'i i le alamanuia aerospace.
- O le soifua maloloina ole toto maualuga, fatu, ma isi.
Atonu e tele atu talosaga ua galo ia te aʻu, ae ou te faʻamoemoe e te malamalama o taimi faʻasologa o loʻo faʻaaogaina ma le malosi i le lalolagi faʻaonaponei. Ma o le tele o lo latou faʻaaogaina o loʻo faʻatupulaia i tausaga taʻitasi.
Aisea e te mana'omia ai se fa'amaumauga fa'asologa o taimi? Aisea e le mafai ai ona e fa'aogaina se fa'amaumauga feso'ota'iga masani e teu ai fa'asologa o taimi?
Ona o le faasologa o taimi e masani ona aofia ai le tele o faʻamatalaga, lea e faigata ona teuina ma faʻagasolo i faʻamaumauga masani. O le mea lea, na fa'aalia ai fa'amaumauga fa'apitoa mo fa'asologa o taimi. O fa'avae nei e fa'atumauina lelei togi (timestamp, value)
ma le ki ua tuuina atu. Latou te tuʻuina atu se API mo le faitauina o faʻamaumauga o loʻo teuina e ala i le ki, i se tasi ki-taua paʻaga, poʻo le tele o paʻu-taua, poʻo le regexp. Mo se faʻataʻitaʻiga, e te manaʻo e suʻe le uta CPU o au 'auʻaunaga uma i totonu o se nofoaga autu o faʻamatalaga i Amerika, ona e manaʻomia lea e faʻaaoga lenei pseudo-query.
E masani lava o fa'amaumauga fa'asologa o taimi e maua ai gagana fa'apitoa fa'atatau ona e le fetaui lelei le SQL fa'asologa o taimi. E ui lava o loʻo i ai faʻamaumauga e lagolagoina le SQL, e le talafeagai. Fesili gagana pei ole
Ole mea lea ole fa'asologa o taimi fa'aonaponei fa'asologa o fa'amaumauga fa'amaumauga e pei o le fa'aogaina o VictoriaMetrics e fai ma fa'ata'ita'iga.
E lua vaega. O le teuina lea mo le faasinoupu liliu ma le teuina mo tau fa'asologa o taimi. O nei fale teu oloa ua tuueseese.
A oʻo mai se faʻamaumauga fou i totonu o faʻamaumauga, matou te maua muamua le faʻailoga faʻaliliu e suʻe ai le faʻasologa o taimi mo se seti tuʻuina atu. label=value
mo se metric ua tuuina atu. Matou te mauaina lenei faʻamatalaga ma faʻasaoina le tau i le faleoloa faʻamaumauga.
A oʻo mai se talosaga e toe aumai faʻamatalaga mai le TSDB, matou te alu muamua i le faʻasino igoa. Tatou maua mea uma timeseries_ids
faamaumauga e fetaui ma lenei seti label=value
. Ona matou maua uma lea o faʻamatalaga talafeagai mai le faleteuoloa faʻamaumauga, faʻasinoina e timeseries_ids
.
Se'i va'ai i se fa'ata'ita'iga pe fa'apefea ona fa'agasolo e se fa'amaumauga fa'asologa o taimi se fesili filifilia o lo'o sau.
- Muamua na te mauaina mea uma
timeseries_ids
mai se fa'ailoga fa'aliliu'ese o lo'o iai ta'i ta'ilabel=value
, po o le faamalieina o se faaupuga masani. - Ona toe maua mai ai lea o faʻamatalaga uma mai le teuina o faʻamaumauga i se taimi atofaina mo mea na maua
timeseries_ids
. - A maeʻa lenei mea, e faʻatino e le database ni faʻatusatusaga i luga o nei faʻamaumauga, e tusa ai ma le talosaga a le tagata faʻaoga. Ma a uma lena e toe faafoi mai le tali.
I lenei faʻamatalaga o le a ou taʻuina atu ia te oe le vaega muamua. Ole su'esu'ega lea timeseries_ids
e ala i fa'asino igoa. E mafai ona e matamata i le vaega lona lua ma le vaega lona tolu mulimuli ane
Se'i o tatou agai i luma i le faasinoupu faafeagai. Atonu e manatu le to'atele e faigofie lenei mea. O ai na te iloa po'o le a le fa'asino igoa fa'aliliu ma pe fa'apefea ona galue? Oi, ua le toe toatele naua tagata. Sei o tatou taumafai e malamalama po o le a.
E matua faigofie lava. E na'o se lomifefiloi e fa'afanua se ki i se tau. O le a le ki? O lenei ulugalii label=value
fea label
и value
- o laina nei. Ma o tau o se seti timeseries_ids
, lea e aofia ai le paga ua tuuina mai label=value
.
Inverted index e mafai ai ona e mauaina vave mea uma timeseries_ids
, ua tuuina mai label=value
.
E mafai ai foi ona e vave maua timeseries_ids
faasologa o taimi mo ni paga label=value
, pe mo ulugalii label=regexp
. E faapefea ona tupu lenei mea? E ala i le sailia o le vaeluaga o le seti timeseries_ids
mo paga taitasi label=value
.
Se'i tatou va'ava'ai i fa'atinoga 'ese'ese o le fa'ailoga fa'aliliu. Sei o tatou amata i le faʻatinoga faʻavalevalea sili ona faigofie. E fa'apenei o ia.
galuega tauave getMetricIDs
maua se lisi o manoa. O laina taitasi e iai label=value
. O lenei galuega e toe faafoi mai ai se lisi metricIDs
.
E faapefea ona aoga? O iinei tatou te maua ai se fesuiaiga o le lalolagi e taʻua invertedIndex
. Ole lomifefiloi masani lea (map
), lea o le a fa'afanua le manoa e tipi ints. O le laina e iai label=value
.
Fa'atinoga o galuega: maua metricIDs
mo le muamua label=value
, ona tatou uia lea o isi mea uma label=value
, matou te maua metricIDs
mo i latou. Ma valaau le galuega intersectInts
, lea o le a talanoaina i lalo. Ma o lenei galuega e toe faʻafoʻi ai le vaeluaga o nei lisi.
E pei ona mafai ona e vaʻai, o le faʻatinoina o se faʻailoga faʻaliliu e le faigata tele. Ae o se faatinoga valea lea. O a ni faaletonu o iai? O le mea sili ona le lelei o le faʻatinoina o le faʻaogaina o se faʻailoga faʻafefeteina o loʻo teuina i le RAM. A maeʻa ona toe amataina le talosaga matou te leiloa lenei faʻasino. E leai se fa'asaoina o lenei fa'asino i le tisiki. O sea fa'ailoga fa'aliliuina e foliga mai e le talafeagai mo se fa'amaumauga.
O le fa'aletonu lona lua e feso'ota'i fo'i ma le manatua. E tatau ona ofi le fa'asino igoa i totonu o le RAM. Afai e sili atu i le tele o le RAM, e manino lava o le a tatou maua - mai le mea sese manatua. Ma o le a le aoga le polokalama.
O lenei faʻafitauli e mafai ona foia i le faʻaaogaina o fofo ua saunia e pei ole
I se faapuupuuga, matou te manaʻomia se faʻamaumauga e mafai ai ona matou faia ni gaioiga se tolu vave.
- O le taotoga muamua o le pueina
ключ-значение
i lenei fa'amaumauga. Na te faia lenei mea vave, i feaключ-значение
o manoa faifua. - O le gaioiga lona lua o se sailiga vave mo se tau e faʻaaoga ai se ki tuʻuina atu.
- Ma o le taotoga lona tolu o se suʻesuʻega vave mo mea taua uma e ala i se prefix ua tuʻuina atu.
LevelDB ma RocksDB - o nei fa'amaumauga na fausia e Google ma Facebook. Muamua na sau LevelDB. Ona ave lea e tama mai le Facebook LevelDB ma amata ona faaleleia, na latou faia RocksDB. Ole taimi nei e toetoe lava o fa'amaumauga fa'alotoifale uma o lo'o galulue i luga ole RocksDB i totonu o le Facebook, e aofia ai ma i latou ua fa'aliliuina ile RocksDB ma MySQL. Sa latou faaigoaina o ia
E mafai ona fa'atinoina se fa'ailoga fa'aliliu e fa'aaoga ai le LevelDB. E faapefea ona fai? Matou te sefe o se ki label=value
. Ma o le tau o le faʻamatalaga o le faasologa o taimi o loʻo iai le paga label=value
.
Afai e tele a tatou faasologa o taimi ma se paga ua tuuina mai label=value
, ona i ai lea o le tele o laina i totonu o lenei faʻamaumauga faʻatasi ma le ki tutusa ma eseese timeseries_ids
. Ina ia maua se lisi o mea uma timeseries_ids
, lea e amata i lenei label=prefix
, matou te faia se su'esu'ega lautele lea e fa'asilisiliina ai lenei fa'amaumauga. O lona uiga, matou te filifilia laina uma e amata i label=prefix
ma maua mea e tatau ai timeseries_ids
.
Ole fa'ata'ita'iga lea ole fa'atinoga ole foliga ile Go. E iai la matou fa'ailoga fa'aliliu. Ole LevelDB lea.
Ole galuega e tutusa ma mo le faʻatinoga faʻavalevalea. Na te toe faia le faʻatinoga faʻavalevalea toetoe lava laina ma laina. Pau lava le manatu o le nai lo le liliu atu i map
matou te maua le fa'ailoga fa'aliliu. Matou te maua uma tau mo le muamua label=value
. Ona tatou pasia uma lea o paga o totoe label=value
ma maua seti tutusa o metricIDs mo latou. Ona matou maua lea o le fetaulaiga.
E foliga mai e lelei mea uma, ae o loʻo i ai faʻafitauli i lenei fofo. VictoriaMetrics na muamua fa'atinoina se fa'ailoga fa'aliliu e fa'avae ile LevelDB. Ae i le faaiuga sa tatau ona ou lafoaia.
Aisea? Ona o le LevelDB e telegese nai lo le faʻatinoga faʻavalea. I se faʻatinoga faʻavalevalea, tuʻuina atu se ki tuʻuina atu, matou te vave maua le fasi pepa atoa metricIDs
. Ole fa'agaioiga vave tele lea - ua sauni le fasi pepa atoa mo le fa'aoga.
I LevelDB, so'o se taimi e vala'au ai se galuega GetValues
e tatau ona e alu i laina uma e amata i label=value
. Ma maua le tau mo laina taitasi timeseries_ids
. O mea faapena timeseries_ids
ao mai se vaega o nei mea timeseries_ids
. E manino lava, e sili atu le lemu nai lo le na o le mauaina o se faafanua masani e ala i le ki.
O le toe fa'afo'i lona lua o le LevelDB o lo'o tusia i le C. Vala'au C galuega mai le Go e le vave tele. E fia selau nanoseconds. E le vave tele lenei mea, aua pe a faʻatusatusa i se telefoni masani e tusia i le alu, lea e manaʻomia ai le 1-5 nanoseconds, o le eseesega i le faʻatinoga e sefulu taimi. Mo VictoriaMetrics o se fa'aletonu mata'utia :)
O lea na ou tusia ai laʻu lava faʻatinoga o le faʻasologa faʻasolosolo. Ona valaau atu lea o ia ia te ia
Mergeset e fa'avae i luga o le fa'asologa o fa'amaumauga a MergeTree. O lenei faʻamaumauga faʻamaumauga o loʻo nono mai le ClickHouse. E manino lava, mergeset e tatau ona faʻamalieina mo suʻesuʻega vave timeseries_ids
e tusa ai ma le ki ua tuuina mai. Mergeset ua tusia atoa ile Go. E mafai ona e va'ai
Ole mergeset API e tutusa lelei ile LevelDB ma RocksDB. O lona uiga, e mafai ai e oe ona vave faʻasaoina faʻamaumauga fou iina ma vave filifili faʻamaumauga i se prefix ua tuʻuina atu.
O le a tatou talanoa e uiga i le le lelei o le mergeset mulimuli ane. Sei o tatou talanoa e uiga i faʻafitauli na tulaʻi mai i VictoriaMetrics i le gaosiga pe a faʻatinoina se faʻasologa faʻasolosolo.
Aiseā na latou tulaʻi mai ai?
O le mafuaʻaga muamua o le maualuga o le faʻafefe. Fa'aliliuina i le gagana Rusia, o se suiga faifaipea lea i le faasologa o taimi. O le taimi lea e muta ai se faasologa o taimi ma amata se faasologa fou, pe amata le tele o faasologa o taimi fou. Ma e tupu soo lenei mea.
O le mafuaaga lona lua o le tele o numera o taimi faasologa. I le amataga, ina ua maua le taʻutaʻua o le mataʻituina, o le numera o taimi faʻasologa sa laʻititi. Mo se faʻataʻitaʻiga, mo komepiuta taʻitasi e te manaʻomia le mataʻituina o le PPU, manatua, fesoʻotaʻiga ma uta tisiki. 4 taimi fa'asologa ile komepiuta. Fa'apea e 100 au komepiuta ma le 400 taimi fa'asologa. E matua itiiti lava lenei.
I le aluga o taimi, na iloa ai e tagata e mafai ona latou fuaina faʻamatalaga sili atu. Mo se faʻataʻitaʻiga, fuaina le uta e le o le faʻaogaina atoa, ae faʻapitoa i totonu o le processor taʻitasi. Afai e 40 au fa'agasolo, ona fa'a 40 taimi e sili atu ai le fa'asologa o taimi e fua ai le uta o le gaosiga.
Ae e le na o le pau lena. E mafai ona i ai ni setete ta'itasi ta'itasi, e pei ole fa'aoga, pe a leai se aoga. Ma galue foi i avanoa faʻaoga, galue i le kernel space ma isi setete. Ma e mafai foi ona fuaina ia tulaga taitasi o se faasologa o taimi eseese. Ole mea lea e fa'aopoopoina ai le numera o laina ile 7-8 taimi.
Mai le tasi metric matou maua 40 x 8 = 320 metrics mo na'o le tasi komepiuta. Faatele i le 100, tatou te maua le 32 nai lo le 000.
Ona sau lea o Kubernetes. Ma na atili ai ona leaga ona e mafai e Kubernetes ona talimalo i le tele o auaunaga eseese. O 'au'aunaga ta'itasi i Kubernetes e aofia ai le tele o pods. Ma o nei mea uma e tatau ona mataʻituina. E le gata i lea, o loʻo i ai le matou faʻapipiʻiina faifaipea o lomiga fou o au 'auʻaunaga. Mo fa'asologa fou ta'itasi, e tatau ona fai fa'asologa o taimi fou. O le iʻuga, o le aofaʻi o faʻasologa o taimi e faʻatupulaia faʻateleina ma o loʻo tatou feagai ma le faʻafitauli o le tele o taimi faʻasologa, lea e taʻua o le maualuga-cardinality. VictoriaMetrics e faʻafetaui lelei ma faʻatusatusa i isi faʻamaumauga faʻasologa o taimi.
Se'i o tatou va'ava'ai toto'a i le maualuga o le churn rate. O le a le mafuaʻaga o le maualuga o le faʻafefe o le gaosiga? Ona o nisi o uiga o igoa ma pine e suia pea.
Mo se faʻataʻitaʻiga, ave Kubernetes, o loʻo i ai le manatu deployment
, o lona uiga pe a fa'asolo atu se fa'aaliga fou o lau talosaga. Mo nisi mafuaʻaga, na filifili le au Kubernetes e faʻaopoopo le faʻapipiʻi id i le igoa.
O le a le mea na mafua ai lenei mea? E le gata i lea, faatasi ai ma le faʻatulagaina fou, o faʻasologa o taimi tuai uma e faʻalavelaveina, ae nai lo i latou, o taimi fou e amata i se tau igoa fou. deployment_id
. E mafai ona i ai le fiaselau afe ma le faitau miliona o ia laina.
O le mea taua e uiga i nei mea uma o le faʻatupulaia o le aofaʻi o taimi faʻasologa, ae o le numera o taimi faʻasologa o loʻo galue nei ma mauaina faʻamatalaga e tumau pea. O lea tulaga ua ta'ua o le maualuga o le churn rate.
O le fa'afitauli autu o le maualuga o le churn rate o le fa'amautinoaina lea o se saosaoa su'esu'e faifaipea mo fa'asologa o taimi uma mo se seti o fa'ailoga i luga o se vaitaimi patino. E masani lava o le va o le taimi lea mo le itula mulimuli po'o le aso mulimuli.
E faapefea ona foia lenei faafitauli? O le filifiliga muamua lea. O le mea lea e vaevae ai le fa'ailoga fa'aliliuina i ni vaega tuto'atasi i le aluga o taimi. O lona uiga, o nisi taimi e pasi, matou te maeʻa galulue ma le faʻasologa faʻasolosolo o loʻo i ai nei. Ma fai se fa'ailoga fou fou. Ua mavae le isi taimi, matou te faia le isi ma le isi.
Ma a fa'ata'ita'i mai nei fa'ailoga feliuliua'i, tatou te maua ai se seti o fa'ailoga fa'aliliuina e pa'ū i totonu o le va o taimi. Ma, e tusa ai, matou te filifilia le id o le faasologa o taimi mai iina.
O lenei mea e sefe ai punaoa aua tatou te le tau tilotilo i vaega e le pa'ū i totonu o le vaeluaga. O lona uiga, e masani lava, afai tatou te filifilia faʻamatalaga mo le itula mulimuli, ona mo taimi muamua taimi tatou te faaseʻeina talosaga.
E i ai se isi filifiliga e foia ai lenei faafitauli. O le mea lea e teu ai mo aso ta'itasi se lisi eseese o id o fa'asologa o taimi na tupu i lena aso.
O le lelei o lenei fofo i luga o le fofo muamua o le le faia o faʻamatalaga faʻasologa taimi e le mou atu i le taimi. Latou te i ai i taimi uma ma e le suia.
O le tulaga le lelei o se fofo faapea e sili atu ona faigata ona faatino ma sili atu ona faigata ona debug. Ma na filifilia e VictoriaMetrics lenei fofo. O le mea lea na tupu i le talafaasolopito. O lenei fofo e lelei foi le faatinoga pe a faatusatusa i le muamua. Ona o lenei fofo e leʻi faʻatinoina ona o le mea moni e manaʻomia le faʻaluaina o faʻamaumauga i vaega taʻitasi mo faʻasologa o taimi e le suia, o lona uiga e le mou atu i le taimi. O le VictoriaMetrics na fa'atumauina mo le taumafaina o avanoa tisiki, ma o le fa'atinoga muamua na atili ai ona leaga le fa'aogaina o avanoa va'a. Ae o lenei faʻatinoga e sili atu ona fetaui mo le faʻaitiitia o le faʻaogaina o avanoa avanoa, o lea na filifilia ai.
Sa tatau ona ou tau ma ia. O le tauiviga o lenei faʻatinoga e manaʻomia pea ona e filifilia se numera tele atu timeseries_ids
mo fa'amaumauga nai lo le taimi e vaelua ai le fa'ailoga fa'aliliuina.
Na faapefea ona tatou foia lenei faafitauli? Na matou fofoina i se auala muamua - e ala i le teuina o ni fa'asologa fa'asologa o taimi i totonu o fa'ailoga fa'aliliu ta'itasi nai lo le tasi fa'ailoa. O lona uiga, e iai le tatou ki label=value
, lea e tupu i faasologa taimi uma. Ma o lea ua matou faasaoina nisi timeseries_ids
i le tasi tusi.
O se fa'ata'ita'iga lenei. I le taimi muamua sa i ai a matou faʻamatalaga N, ae o lea ua tasi le matou faʻamatalaga e tutusa ma isi mea uma. Mo le fa'amatalaga muamua, o le tau o lo'o i ai uma fa'asologa o taimi.
O le mea lea na mafai ai ona fa'ateleina le saoasaoa o le su'esu'eina o sea fa'asino fa'asino i luga i le 10 taimi. Ma na faʻatagaina ai i matou e faʻaitiitia le faʻaaogaina o mafaufauga mo le cache, aua o lea ua matou teuina le manoa label=value
na'o le tasi i le cache fa'atasi N taimi. Ma e mafai ona tele lenei laina pe afai e te teuina laina uumi i au pine ma igoa, lea e fiafia Kubernetes e tulei ai iina.
O le isi filifiliga mo le fa'atelevaveina o su'esu'ega i luga o se fa'ailoga fa'aliliu o le sharding. Fausia ni fa'ailoga fa'aliliu'ese nai lo le tasi ma fa'asoa fa'amaumauga i le va o latou ki. O se seti lea key=value
ausa. O lona uiga, tatou te maua ni fa'asinomaga fa'aliliu tuto'atasi, lea e mafai ona tatou fesiligia fa'atasi i luga o le tele o processors. O faʻatinoga muamua na faʻatagaina le faʻaogaina i le tasi-processor mode, o lona uiga, suʻesuʻeina faʻamatalaga i luga o le tasi autu. O lenei fofo e mafai ai ona e suʻeina faʻamatalaga i luga o le tele o cores i le taimi e tasi, e pei ona fiafia ClickHouse e fai. O le mea lea ua matou fuafua e faatino.
Ia tatou toe foi atu i a tatou mamoe - i le galuega o le fetaulaiga timeseries_ids
. Sei o tatou mafaufau po oa faatinoga e ono i ai. O lenei galuega e mafai ai e oe ona maua timeseries_ids
mo se seti ua tuuina atu label=value
.
O le filifiliga muamua o se faʻatinoga faʻavalevalea. E lua fa'amau fa'alava. O iinei tatou te maua ai le faʻaogaina o galuega intersectInts
lua fasi - a
и b
. I le gaosiga, e tatau ona toe foi mai ia i matou le vaeluaga o nei fasi pepa.
O se faʻatinoga faʻavalevalea e pei o lenei. Matou te faʻataʻitaʻia uma tau mai le fasi pepa a
, i totonu o lenei matasele matou te uia uma tulaga taua o fasi b
. Ma tatou faatusatusa i latou. Afai latou te fetaui, ona matou maua lea o se fetaulaiga. Ma teu i totonu result
.
O a ni mea le lelei? Quadratic lavelave o lona faaletonu autu. Mo se fa'ata'ita'iga, pe afai o lau fua e fasi a
и b
tasi miliona i le taimi, ona le toe faafoi mai lea e lenei galuega se tali ia te oe. Aua o le a manaʻomia le faia o le tasi tiliona iterations, lea e tele mo komepiuta faʻaonapo nei.
O le faʻatinoga lona lua e faʻavae i luga o faʻafanua. Matou te faia faafanua. Matou te tuʻuina uma tau mai le fasi pepa i lenei faʻafanua a
. Ona tatou o atu lea i totonu o le vaega i se matasele ese b
. Ma matou siaki pe o lenei tau e mai le fasi b
i faafanua. Afai e i ai, ona faʻaopopo lea i le taunuuga.
O ā aogā? O le lelei e na'o le lavelave laina. O lona uiga, o le gaioiga o le a sili atu le vave ona faatino mo fasi fasi tetele. Mo se fasi miliona-tele, o lenei galuega o le a faatino i le 2 miliona iterations, e ese mai i le tiliona iterations o le galuega muamua.
O le itu i lalo o lenei galuega e manaʻomia ai le tele o manatua e fai ai lenei faafanua.
O le fa'aletonu lona lua o le lapo'a tele mo le fa'asalaina. O lenei fa'aletonu e le o manino tele. Ma mo i matou e leʻi manino tele, o le mea lea i le taimi muamua i VictoriaMetrics o le faʻatinoina o le vaʻavaʻa na ala i se faʻafanua. Ae na faʻaalia e faʻamatalaga o le taimi autu o le gaosiga e faʻaalu e tusi ai i luga o le faʻafanua ma siaki le i ai o se tau i lenei faʻafanua.
Aisea e maumau ai le taimi ole PPU i nei nofoaga? Aua o le Go e faia se faʻagaioiga i luga o laina nei. O lona uiga, e fuafua le hash o le ki ina ia mafai ai ona maua i se faasino igoa i le HashMap. Ua mae'a le fa'atulagaina o le hash i le sefulu o nanoseconds. E telegese lenei mo VictoriaMetrics.
Na ou filifili e faʻatino se bitset faʻapitoa mo lenei mataupu. O le mea lea ua foliga mai ai le fetaulaiga o fasi fasi e lua. O iinei tatou te fatuina ai se bitset. Matou te faʻaopoopoina elemene mai le fasi pepa muamua i ai. Ona matou siakia lea o le i ai o nei elemene i le vaega lona lua. Ma faaopoopo i latou i le taunuuga. O lona uiga, e toetoe lava a leai se eseesega mai le faʻataʻitaʻiga muamua. Pau lava le mea iinei o le suia lea o le avanoa i le faafanua i galuega masani add
и has
.
I le tepa muamua, e foliga mai o lenei mea e tatau ona faʻagesegese, pe afai na faʻaaogaina muamua se faʻafanua masani iina, ona taʻua ai lea o isi galuega, ae faʻaalia e le faʻamatalaga o lenei mea e galue 10 taimi sili atu nai lo le faʻafanua masani i le tulaga o VictoriaMetrics.
E le gata i lea, e faʻaaogaina le itiiti ifo o le manatua pe a faʻatusatusa i le faʻatinoga o faʻafanua. Aua o lo'o matou teuina ni vaega iinei nai lo le valu-byte tau.
O le le lelei o lenei faʻatinoga e le o se mea e iloagofie, e le faʻatauvaʻa.
O le isi fa'aletonu e ono le iloa e le to'atele o lenei fa'atinoga e ono le lelei i nisi tulaga. O lona uiga, e sili ona lelei mo se mataupu patino, mo lenei tulaga o le vaeluaga o VictoriaMetrics time series id. E le faapea e talafeagai mo tulaga uma. Afai e le sa'o le fa'aoga, o le a le maua se fa'atuputeleina o le fa'atinoga, ae o se fa'aletonu o le manatua ma fa'agesegese le fa'atinoga.
Sei o tatou mafaufau i le faatinoga o lenei fausaga. Afai e te manaʻo e vaʻai, o loʻo i totonu o punaoa VictoriaMetrics, i totonu o le faila timeseries_id
o se tau 64-bit, lea o le 32 bits muamua e masani ona tumau ma na o le 32 bits mulimuli e suia.
O lenei faʻamaumauga faʻamaumauga e le o teuina i luga o le disk, e naʻo le faʻaogaina i le mafaufau.
O lana API lea. E le faigata tele. O le API e fa'atatau tonu i se fa'ata'ita'iga fa'apitoa o le fa'aogaina o VictoriaMetrics. O lona uiga, e leai ni galuega e le mana'omia iinei. O galuega ia o lo'o fa'aogaina manino e VictoriaMetrics.
E iai galuega add
, lea e fa'aopoopoina ai fa'atauga fou. E iai se galuega has
, lea e siaki mo tau fou. Ma o loʻo i ai se galuega del
, lea e aveesea ai tulaga faatauaina. E iai se galuega fesoasoani len
, lea e toe faafoi mai ai le tele o le seti. Galuega clone
tele clones. Ma galuega appendto
liliu le seti lea e tipi timeseries_ids
.
O le mea lea e foliga mai o le faʻatinoga o lenei faʻamaumauga faʻamaumauga. seti e lua elemene:
-
ItemsCount
ose fesoasoani fesoasoani e vave toe faafoi le numera o elemene i se seti. E mafai ona fai e aunoa ma lenei vaega fesoasoani, ae e tatau ona faʻaopoopo iinei ona e masani ona fesiligia e VictoriaMetrics le umi o le bitset i ana algorithms. -
O le fanua lona lua o
buckets
. O le tipi lea mai le fausagabucket32
. O fausaga taitasi e teuinahi
fanua. O pito i luga ia o le 32 bits. Ma fasi fasi e lua -b16his
иbuckets
maibucket16
fausaga.
Le pito i luga 16 bits o le vaega lona lua o le fausaga 64-bit o loʻo teuina iinei. Ma o iinei o loʻo teuina ai bitsets mo le pito i lalo ole 16 bits o paita taʻitasi.
Bucket64
e aofia ai se fa'asologa uint64
. Ole umi e fa'atatau ile fa'aogaina o nei fa'amautu. I le tasi bucket16
maualuga e mafai ona teuina 2^16=65536
itiiti. Afai e vaevae lenei mea i le 8, o lona uiga e 8 kilobytes. Afai e te toe vaelua i le 8, e 1000 uint64
uiga. O lena lava Bucket16
- o le matou fausaga 8-kilobyte lea.
Se'i o tatou va'ai pe fa'apefea ona fa'atinoina se tasi o metotia o lenei fausaga mo le fa'aopoopoina o se tau fou.
E amata uma lava i uint64
uiga. Matou te fuafua le pito i luga o le 32 bits, matou te fuafua le pito i lalo o le 32 bits. Tatou uia mea uma buckets
. Matou te faʻatusatusa le pito i luga 32 bits i pakete taʻitasi ma le tau faʻaopoopo. Ma afai latou te fetaui, ona matou taʻua lea o le galuega add
i le fausaga b32 buckets
. Ma fa'aopoopo le pito i lalo ole 32 bits iina. Ma afai e toe foi mai true
, o lona uiga na matou faʻaopoopoina se mea taua iina ma matou te leʻi i ai sea taua. Afai e toe foi mai false
, ona iai lea o se uiga faapena. Ona tatou faateleina lea o le numera o elemene i le fausaga.
Afai matou te le'i mauaina le mea e te mana'omia bucket
faʻatasi ai ma le manaʻomia hi-value, ona matou taʻua lea o le galuega addAlloc
, lea o le a maua ai se mea fou bucket
, fa'aopoopo i le fausaga o pakete.
O le faatinoga lea o le galuega b32.add
. E tali tutusa ma le faatinoga muamua. Matou te faʻatatauina le 16 pito sili ona taua, le sili ona taua ole 16 bits.
Ona tatou o atu uma i luga uma 16 bits. Matou te maua afitusi. Ma afai ei ai se fetaui, matou te taʻua le auala faʻaopoopo, lea o le a matou iloiloina i le isi itulau mo bucket16
.
Ma o le tulaga pito i lalo lea, lea e tatau ona faʻaleleia i le tele e mafai ai. Matou te fuafua mo uint64
tau id ile fasi fasi ma fa'apena fo'i bitmask
. O se ufimata lea mo se tau 64-bit ua tuʻuina atu, lea e mafai ona faʻaoga e siaki ai le i ai o lenei mea, pe setiina. Matou te siaki e vaʻai pe ua seti lenei bit ma seti, ma toe foʻi mai. O le matou faʻatinoga lea, lea na mafai ai ona matou faʻavavevaveina le faʻaogaina o ids fesoʻotaʻi o taimi faʻasologa i le 10 taimi faʻatusatusa i faʻafanua masani.
I le faaopoopo atu i lenei faʻataʻitaʻiga, VictoriaMetrics e tele isi faʻataʻitaʻiga. O le tele o nei fa'ata'ita'iga na fa'aopoopoina mo se mafua'aga, ae a mae'a fa'asalalau le code i le gaosiga.
Ole tulafono autu lea ole fa'atonuga - 'aua ne'i fa'aopoopo le fa'atonuga fa'apea o le ai ai se fagufagu iinei, aua e foliga mai o le a leai se fagu fagu iina. O le fa'alelei e masani lava ona fa'aleagaina le tulaga lelei o le code. O le mea lea, e aoga le faʻamalieina naʻo le maeʻa faʻasalalau ma sili atu i le gaosiga, ina ia o faʻamatalaga moni lea. Afai ei ai se tasi e fiafia, e mafai ona e tilotilo i le VictoriaMetrics source code ma suʻesuʻe isi faʻataʻitaʻiga o loʻo i ai.
E i ai sa'u fesili e uiga i bitset. E tutusa lelei ma le C++ vector bool faʻatinoga, optimized bitset. Na e ave le faʻatinoga mai iina?
Leai, e le mai iina. I le faʻatinoina o lenei bitset, na taʻitaʻia aʻu e le malamalama i le fausaga o nei ids timeseries, lea e faʻaaogaina i VictoriaMetrics. Ma o latou fausaga e faʻapea o le pito i luga o le 32 bits e tumau pea. Ole pito pito i lalo ole 32 e mafai ona suia. O le maualalo o le bit, o le tele o taimi e mafai ona suia. O le mea lea, o lenei faʻatinoga e faʻapitoa faʻapitoa mo lenei fausaga faʻamaumauga. O le faʻatinoga o le C ++, e pei ona ou iloa, e sili ona lelei mo le tulaga lautele. Afai e te optimize mo le tulaga lautele, o lona uiga o le a le sili ona lelei mo se mataupu patino.
Ou te fautuaina foi oe e matamata i le lipoti a Alexey Milovid. E tusa o le masina talu ai, na ia talanoa ai e uiga i le faʻaleleia atili i le ClickHouse mo faʻapitoa faʻapitoa. Na ona ia fai mai i le tulaga lautele, o le C ++ faʻatinoga poʻo se isi faʻatinoga e faʻatulagaina e galue lelei i le averesi i le falemaʻi. Atonu e sili atu le leaga nai lo se faʻatinoga faʻapitoa faʻapitoa e pei o matou, lea matou te iloa ai o le pito i luga 32 bits e tele lava ina tumau.
E iai la'u fesili lona lua. O le a le eseesega autu mai le InfluxDB?
E tele eseesega faavae. E tusa ai ma le faʻatinoga ma le faʻaaogaina o mafaufauga, o le InfluxDB i suʻega e faʻaalia ai le 10 taimi sili atu le faʻaaogaina o mafaufauga mo le maualuga o le cardinality time series, pe a tele naua, mo se faʻataʻitaʻiga, miliona. Mo se faʻataʻitaʻiga, VictoriaMetrics e faʻaaogaina le 1 GB i le miliona laina faʻamalosi, ae faʻaaogaina e InfluxDB le 10 GB. Ma o se eseesega tele lena.
O le eseesega taua lona lua o le InfluxDB o loʻo i ai gagana fesili uiga ese - Flux ma InfluxQL. Latou te le faigofie tele mo le galulue faatasi ma faasologa taimi faatusatusa i
Ma o le isi eseesega o le InfluxDB ei ai se faʻataʻitaʻiga faʻamatalaga uiga ese, lea e mafai ai e laina taʻitasi ona teuina ni fanua ma se seti o pine eseese. O nei laina ua toe vaevaeina i ni laulau eseese. O nei fa'alavelave fa'aopoopo e fa'alavelaveina ai galuega mulimuli ane ma lenei fa'amaumauga. E faigata ona lagolagoina ma malamalama.
I VictoriaMetrics e sili atu ona faigofie mea uma. O iina, o fa'asologa o taimi ta'itasi o se taua-taua. O le tau o se seti o togi - (timestamp, value)
, ma o le ki o le seti label=value
. E leai se eseesega i le va o fanua ma fua. E faʻatagaina oe e filifili soʻo se faʻamatalaga ona tuʻufaʻatasia, faʻaopoopo, toesea, faʻateleina, vaevae, e le pei o le InfluxDB lea e le o faʻatinoina ai faʻatusatusaga i le va o laina eseese e pei ona ou iloa. E tusa lava pe faʻatinoina, e faigata, e tatau ona e tusia le tele o code.
E i ai sa'u fesili e faamanino ai. Na ou malamalama saʻo o loʻo i ai se ituaiga o faʻafitauli na e talanoa i ai, o lenei faʻailoga faʻafefeteina e le fetaui ma le mafaufau, o lea o loʻo i ai le vaeluaga iina?
Muamua, na ou faʻaalia se faʻatinoga faʻavalevalea o se faʻailoga faʻafefe i luga o se faʻafanua masani Go. O lenei fa'atinoga e le talafeagai mo fa'amaumauga aua e le'o fa'asaoina le fa'asinomaga fa'aliliu i le tisiki, ma e tatau ona fa'asaoina le fa'amaumauga i le tisiki ina ia maua pea nei fa'amaumauga pe a toe amata. I lenei faʻatinoga, pe a e toe amataina le talosaga, o le a mou atu lau faʻasino igoa. Ma o le ae leiloa le avanoa i faʻamatalaga uma ona o le a le mafai ona e mauaina.
Talofa! Faafetai mo le lipoti! O lo'u igoa o Pavel. Ou te sau mai Wildberries. E i ai ni a'u fesili mo oe. Fesili muamua. E te manatu afai na e filifilia se isi mataupu faavae i le fausiaina o le fausaga o lau talosaga ma vaeluaina faʻamaumauga i le aluga o taimi, atonu o le a mafai ona e faʻafesoʻotaʻi faʻamaumauga pe a suʻe, e faʻavae i luga o le mea moni e tasi le vaeluaga o loʻo i ai faʻamatalaga mo le tasi vaitaimi, o lona uiga, i le taimi e tasi ma e le tatau ona e popole i le mea moni o au vaega e salalau ese? Fesili numera 2 - talu ai o loʻo e faʻatinoina se algorithm tutusa ma bitset ma isi mea uma, atonu na e taumafai e faʻaaoga faatonuga o le gaosiga? Masalo na e fa'ata'ita'iina ia fa'ata'ita'iga?
O le a ou taliina le lona lua i le taimi lava lena. Tatou te lei oo i lena tulaga. Ae afai e tatau ai, o le a tatou oo i ai. Ma o le mea muamua, o le a le fesili?
Na e talanoaina ni vaaiga se lua. Ma latou fai mai na latou filifilia le lona lua ma se faʻatinoga sili atu ona faigata. Ma latou te le fiafia i le mea muamua, lea e vaeluaina ai faʻamaumauga i le taimi.
Ioe. I le tulaga muamua, o le aofaʻi atoa o le faʻasinomaga o le a sili atu, aua i vaeluaga taʻitasi e tatau ona matou teuina faʻamatalaga faʻalua mo na faasologa o taimi e faʻaauau i nei vaega uma. Ma afai e laʻititi lau faʻasologa faʻasologa o taimi, o lona uiga o le faasologa lava e tasi e faʻaaogaina i taimi uma, i le tulaga muamua o le a sili atu le tele o le tele o avanoa o loʻo nofoia pe a faʻatusatusa i le tulaga lona lua.
Ma o lea - ioe, taimi vaeluaga o se filifiliga lelei. Faʻaaogaina e Prometheus. Ae o Prometheus e iai se isi faʻafitauli. Pe a tuʻufaʻatasia nei vaega o faʻamaumauga, e manaʻomia ona teu i le manatua meta faʻamatalaga mo igoa uma ma faʻasologa taimi. O le mea lea, afai o vaega o faʻamaumauga o loʻo tuʻufaʻatasia e tetele, ona faʻateleina lea o le faʻaaogaina o mafaufauga i le taimi o le tuʻufaʻatasia, e le pei o VictoriaMetrics. Pe a tuʻufaʻatasia, e le faʻaumatia e VictoriaMetrics le manatua; naʻo ni nai kilobytes e faʻaumatia, tusa lava po o le a le tele o faʻamaumauga tuʻufaʻatasia.
O le algorithm o loʻo e faʻaogaina e faʻaogaina ai le manatua. E fa'ailogaina fa'asologa o taimi o lo'o iai fa'atauga. Ma o le auala lea e te siakiina ai le faʻatasi o le auai i le tasi faʻamaumauga ma le isi. Ma e te malamalama pe na tupu se vaeluaga pe leai. E masani lava, o fa'amaumauga e fa'atino ai pupuu ma fa'ata'ita'i e teu ai a latou mea o lo'o iai nei ma fa'atautaia fa'amaumauga fa'avasega ona o le lavelave faigofie o nei gaioiga.
Aisea tatou te le fa'aogaina ai fa'ailo e fa'asalalau fa'amaumauga?
Ioe.
Matou te teuina laina faʻavasega i LevelDB poʻo le mergeset. E mafai ona tatou fa'agaoioi le pupuu ma su'e le fetaulaiga. Aisea tatou te le faaaogaina ai? Aua e tuai. Aua o le fa'auiga o lona uiga e tatau ona e vala'au se galuega mo laina ta'itasi. Ole telefoni ole galuega ole 5 nanoseconds. Ma afai e iai sau 100 laina, ona foliga mai lea tatou te faʻaaluina le afa sekone naʻo le valaʻau i le galuega.
E i ai se mea faapena, ioe. Ma la'u fesili mulimuli. Atonu e foliga ese le fesili. Aisea e le mafai ai ona faitau uma faʻasalalauga manaʻomia i le taimi e oʻo mai ai faʻamaumauga ma faʻasaoina i latou i le pepa manaʻomia? Aisea e teu ai le tele o voluma i nisi faiga e pei o VictoriaMetrics, ClickHouse, ma isi, ona faʻaalu ai lea o le tele o taimi ia i latou?
O le a ou tuuina atu se faataitaiga e faamanino atili ai. Se'i tatou fai atu pe fa'afefea ona galue se tama'i meata'alo saosaoa? E fa'amauina le mamao na e malaga ai, fa'aopoopo i taimi uma i le tau e tasi, ma le taimi lona lua. Ma vaeluaina. Ma maua averesi saoasaoa. E mafai ona e faia i le mea lava e tasi. Fa'aopoopo fa'amatalaga talafeagai uma ile lele.
Ua lelei, ua ou malamalama i le fesili. O lau faataitaiga e i ai lona tulaga. Afai e te iloa aggregates e te manaʻomia, o lona uiga o le faʻatinoga sili lea. Ae o le faʻafitauli o le faʻasaoina lea e tagata o nei metrics, o nisi faʻamatalaga i le ClickHouse ma latou te leʻi iloa pe faʻafefea ona latou faʻapipiʻiina ma faʻamamaina i latou i le lumanaʻi, o lea e tatau ai ona latou faʻasaoina uma faʻamatalaga mata. Ae afai e te iloa e te manaʻomia le faʻatusatusaina o se mea i le averesi, aisea la e te le faʻatatauina ai nai lo le teuina o se vaega o tau mataʻutia iina? Ae na'o le mea lea pe afai e te iloa tonu le mea e te mana'omia.
Ile auala, o fa'amaumauga mo le teuina o fa'asologa o taimi e lagolagoina le faitauina o fa'apotopotoga. Mo se faʻataʻitaʻiga, e lagolagoina e Prometheus
Mo se faʻataʻitaʻiga, i laʻu galuega talu ai na ou manaʻomia le faitauina o le numera o mea na tutupu i se faʻamalama faʻasolo i le itula mulimuli. O le faʻafitauli e tatau ona ou faia se faʻatinoga masani i Go, o lona uiga o se tautua mo le faitauina o lenei mea. O lenei auaunaga na iu lava ina le taua, aua e faigata ona fuafua. E mafai ona faigofie le faʻatinoga pe afai e te manaʻomia le faitauina o ni faʻasalalauga i taimi faʻatulagaina. Afai e te manaʻo e faitau mea na tutupu i se faʻamalama faʻafefe, ona le faigofie lea e pei ona foliga mai. Ou te manatu e leʻi faʻatinoina lenei mea i le ClickHouse poʻo i faʻamaumauga taimi, aua e faigata ona faʻatinoina.
Ma le isi fesili. Sa na ona matou talanoa e uiga i le averesi, ma sa ou manatua sa i ai se mea e pei o le Graphite ma le Carbon backend. Ma sa ia iloa le faʻafefeteina o faʻamatalaga tuai, o lona uiga, tuʻu le tasi mata i le minute, tasi le itula i le itula, ma isi. ia manifinifi . Ae le lagolagoina e Prometheus ma VictoriaMetrics lenei galuega. Ua fuafua e lagolagoina? Afai e leai, aisea e leai ai?
Faafetai mo le fesili. O matou tagata fa'aoga latou te fesili i lea taimi ma lea taimi. Latou te fesili mai po o afea o le a matou faʻaopoopoina ai le lagolago mo le faʻaititia. E tele fa'afitauli iinei. Muamua, e malamalama tagata uma downsampling
se mea e ese: e mana'o se tasi e maua so'o se fa'ailoga i se va'aiga, e mana'o se tasi i le maualuga, la'ititi, averesi tau. Afai e tele faiga e tusi faʻamaumauga i lau faʻamaumauga, ona le mafai lea ona e tuʻufaʻatasia uma. Atonu e mana'omia e faiga ta'itasi le fa'amama eseese. Ma e faigata ona faatino lea tulaga.
Ma o le mea lona lua o VictoriaMetrics, pei o ClickHouse, ua sili ona lelei mo le galue ma le tele o voluma o faʻamatalaga mataʻutia, ina ia mafai ai ona suo se piliona laina i lalo ifo o le sekone pe a fai e tele au 'au i lau masini. Va'aiga fa'asologa o taimi ile VictoriaMetrics - 50 points ile sekone ile 'au. Ma o lenei fa'atinoga e fa'atatau i 'au o lo'o iai. O lona uiga, afai e iai sau 000 cores, mo se faʻataʻitaʻiga, o le a e suʻeina le piliona togi i le sekone. Ma o lenei meatotino a VictoriaMetrics ma ClickHouse e faʻaitiitia ai le manaʻomia mo le faʻaitiitia.
O le isi vaega o le VictoriaMetrics e faʻapipiʻi lelei nei faʻamatalaga. Compression i le averesi i le gaosiga e mai le 0,4 i le 0,8 paita i le mata. O togi ta'itasi o se faailoga taimi + tau. Ma o loʻo faʻapipiʻiina i lalo ifo o le tasi le paita i le averesi.
Sergey. E i ai sa'u fesili. Ole a le aofa'i ole taimi ole pu'eina?
Tasi milisecond. Talu ai nei na matou faia ai se talanoaga ma isi tagata fa'atupu fa'amaumauga fa'asologa o taimi. O la latou taimi aupito maualalo e tasi le sekone. Ma i le Graphite, mo se faʻataʻitaʻiga, e tasi foi le sekone. I OpenTSDB e tasi foi le sekone. O le InfluxDB e iai le nanosecond sa'o. I VictoriaMetrics e tasi le millisecond, aua i Prometheus e tasi le millisecond. Ma o VictoriaMetrics na faʻavaeina muamua e avea ma teu mamao mo Prometheus. Ae o le taimi nei e mafai ona faʻasaoina faʻamaumauga mai isi faiga.
Fai mai le tagata na ou talanoa i ai o loʻo i ai le saʻo lona lua i le lua - e lava lena mo i latou aua e faʻalagolago i le ituaiga o faʻamaumauga o loʻo teuina i le faʻasologa o taimi. Afai o faʻamatalaga DevOps poʻo faʻamatalaga mai atinaʻe, lea e te aoina ai i vaeluaga o le 30 sekone, i le minute, ona lava lea o le saʻo lona lua, e te le manaʻomia se mea itiiti. Ma afai e te aoina mai nei faʻamatalaga mai faiga faʻatauvaʻa maualuga, ona e manaʻomia lea o le nanosecond saʻo.
Millisecond saʻo i VictoriaMetrics e talafeagai foi mo le DevOps case, ma e mafai ona fetaui mo le tele o mataupu na ou taʻua i le amataga o le lipoti. Pau lava le mea atonu e le talafeagai o faiga tau fefaʻatauaʻiga maualuga.
Fa'afetai! Ma le isi fesili. O le a le fetaui i le PromQL?
Fegalegaleaiga atoa i tua. VictoriaMetrics lagolago atoatoa PromQL. E le gata i lea, e faʻaopoopoina galuega faʻapitoa i le PromQL, lea e taʻua
Telegram auala
Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega.
O le a le mea e taofia ai oe mai le sui i VictoriaMetrics e avea ma au teu umi mo Prometheus? (Tusi i faʻamatalaga, o le a ou faʻaopopo i le palota))
-
71,4%Ou te le faʻaaogaina Prometheus5
-
28,6%Le iloa e uiga i VictoriaMetrics2
7 tagata fa'aoga na palota. 12 tagata fa'aoga na le fa'aaogaina.
puna: www.habr.com