TSDB Analysis in Prometheum 2

TSDB Analysis in Prometheum 2

Temporis series datorum (TSDB) apud Prometheum 2 optimum exemplum est solutionis machinalis quae maiores emendationes praebet super v2 reposita apud Prometheum 1 secundum cumulationis celeritatis, inquisitionis executionis et efficientiae datae. Prometheum 2 in Percona Monitoring et Management (PMM) fovere eramus et occasionem Promethei 2 TSDB intellegendi. In hoc articulo de eventibus harum observationum loquar.

Mediocris Prometheus inposuit

Pro his qui in databases tractabant communes, Promethei inposuit typicam satis iucundam esse. Ratus notitiarum cumulus stabilis tendit: opera monitoria fere totidem metri mittis, et infrastructurae lente mutatur.
Petitiones informationes ex variis auctoribus provenire possunt. Earum quaedam, ut summae, etiam pro stabili et praedictio valore contendunt. Alii, petitiones usoris, eruptiones causare possunt, licet hoc in pluribus laboribus non fit.

Onus test

Per probationem, facultatem cumulare data posui. Dixisti Prometheum 2.3.2 cum Go 1.10.1 (ut pars PMM 1.14) in Linode hoc scripto utens: StackScript. Ad generationis onus maxime realistica, hoc utens StackScript Plures nodos MySQL cum onere reali (Sysbench TPC-C Test), quorum singulas 10 Linux/MySQL nodos aemulatus sum.
Omnes sequentes probationes in Linode ministrante cum octo nucleis virtualibus et 32 ​​GB memoriae fiebant, 20 onere simulationum vigilantia ducentis instantiis MySQL currentibus. Vel in Prometheo vocabula, DCCC scuta, CCCCXL per secundam corradit, CCCLXXX millium monumentorum per secundam, et 800 decies centena millia activorum temporum seriei.

Design

Usitatius accessus datorum traditionalium, incluso a Prometheo 1.x, est to . memoria limit. Si onus tractare non satis est, latencias altas experieris et aliquas petitiones deficiet. Memoria usus apud Prometheum 2 est configurabilis per clavem storage.tsdb.min-block-duration, quae decernit quam longas tabulas in memoria serventur antequam orbis rutilant (default is 2 hours). Quantitas memoriae requisita dependet ex numero temporis seriei, pittacii et abraditi ad rete fluenti advenientis additae. In termini spatii orbis, Prometheus intendit uti 3 bytes per recordum (sample). Sed multo magis memoria requiruntur.

Tametsi amplitudo scandalum configurare potest, non tamen commendatur manuale illud configurare, ideo Prometheo dare tantum cogeris memoriam, quantum inposuit pro tuo labore.
Si non satis est memoriam metri metrorum venientem sustinere, Prometheus e memoria cadet vel OOM interfector ad eam perveniet.
PERMUTATIO addit ruinam morari cum Prometheus e memoria currit vere adiuvat non est, quia hoc munere usus consummationis memoriam explosivam facit. Puto aliquid facere cum Ite, decumanum suum purgamentum et modo agit permuto.
Alia iucunda accessio est ad caput truncum configurare certo tempore ruborem in disco, loco ab initio processus computare.

TSDB Analysis in Prometheum 2

Ut videre potes ex grapho, rubet in disco fieri singulis duabus horis. Si modulum clausulae mutaveris ad unam horam, hae resetes singulae horae occurrent, incipiendo post dimidiam horam.
Si hac et aliis graphis in Promethei institutione tua uti vis, hoc uti potes ashboardday ". PMM designata est, sed, cum minoribus modificationibus, in quamlibet Promethei institutionem accommodat.
"Truncum activum" dicitur caput, quod in memoria reponitur; caudices cum maior notitia praesto sint per mmap(). Hoc excludit necessitatem ut cache separatim configurandi, sed etiam significat quod satis spatii excedere debes ad systematis operativam cache si vis ad interrogationes datas antiquiorem quam id quod scandalum caput accommodare potest.
Hoc etiam significat Prometheum, virtutis memoria, consummationem satis altam spectare, de qua non aliquid cures.

TSDB Analysis in Prometheum 2

Alius punctus interesting designandi usus WAL (scribe praemisit log). Ut videre potes e documentis repositionis, Prometheus utitur WA ad fragores vitandos. Imprimis machinae ad sustentationem datam praestandam sunt, proh dolor, non bene documentis. Prometheus version 2.3.2 rubet WAL ad disci singulas 10 secundas et haec optio usor configurabilis non est.

Compactions

Prometheus TSDB similis copiae LSM designatus est: stipes caput subnixum periodice in disco, dum mechanismus compactio plures cuneos coniungit simul ad vitandum etiam multos stipites in quaestionibus perlustrando. Hic videre potes numerum caudicum quos in systemate experimentali post diem oneris observavi.

TSDB Analysis in Prometheum 2

Si plura de copia discere vis, meta.json fasciculum explorare potes, qui informationem habet de caudices in promptu et quomodo facta sint.

{
       "ulid": "01CPZDPD1D9R019JS87TPV5MPE",
       "minTime": 1536472800000,
       "maxTime": 1536494400000,
       "stats": {
               "numSamples": 8292128378,
               "numSeries": 1673622,
               "numChunks": 69528220
       },
       "compaction": {
               "level": 2,
               "sources": [
                       "01CPYRY9MS465Y5ETM3SXFBV7X",
                       "01CPYZT0WRJ1JB1P0DP80VY5KJ",
                       "01CPZ6NR4Q3PDP3E57HEH760XS"
               ],
               "parents": [
                       {
                               "ulid": "01CPYRY9MS465Y5ETM3SXFBV7X",
                               "minTime": 1536472800000,
                               "maxTime": 1536480000000
                       },
                       {
                               "ulid": "01CPYZT0WRJ1JB1P0DP80VY5KJ",
                               "minTime": 1536480000000,
                               "maxTime": 1536487200000
                       },
                       {
                               "ulid": "01CPZ6NR4Q3PDP3E57HEH760XS",
                               "minTime": 1536487200000,
                               "maxTime": 1536494400000
                       }
               ]
       },
       "version": 1
}

Compactiones in Prometheo ligantur ad truncum caput temporis rubens in disco. Hic plura talia perfici possunt.

TSDB Analysis in Prometheum 2

Apparet compactiones nullo modo limitatas esse ac magnum orbem I/O clavi in ​​executione efficere posse.

TSDB Analysis in Prometheum 2

CPU onus clavi

TSDB Analysis in Prometheum 2

Utique, hoc magis negativum habet in velocitate systematis, et etiam gravem impugnationem pro LSM repositione ponit: quomodo facere compactionem ad altas petitiones rates sustentare sine nimia capitis causa?
Usus memoriae in processu compactionis spectat etiam satis interesting.

TSDB Analysis in Prometheum 2

Videmus quomodo, post compactionem, plurimae memoriae mutationes status e conditorio ad Free: hoc significat quod potentia pretiosa notitia inde remotum est. Curiosum si hic usus est fadvice() vel aliqua alia ars minimizationis, an quia latibulum a caudices in compactione destructum erat liberatum?

Recuperatio post defectum

Recuperatio a defectibus tempus suscipit, ac certa ratione. Ad rivum advenientis myriades monumentorum per alterum, circiter 25 minuta exspectare habui dum recuperatio habita ratione coegi SSD.

level=info ts=2018-09-13T13:38:14.09650965Z caller=main.go:222 msg="Starting Prometheus" version="(version=2.3.2, branch=v2.3.2, revision=71af5e29e815795e9dd14742ee7725682fa14b7b)"
level=info ts=2018-09-13T13:38:14.096599879Z caller=main.go:223 build_context="(go=go1.10.1, user=Jenkins, date=20180725-08:58:13OURCE)"
level=info ts=2018-09-13T13:38:14.096624109Z caller=main.go:224 host_details="(Linux 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 1bee9e9b78cf (none))"
level=info ts=2018-09-13T13:38:14.096641396Z caller=main.go:225 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2018-09-13T13:38:14.097715256Z caller=web.go:415 component=web msg="Start listening for connections" address=:9090
level=info ts=2018-09-13T13:38:14.097400393Z caller=main.go:533 msg="Starting TSDB ..."
level=info ts=2018-09-13T13:38:14.098718401Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536530400000 maxt=1536537600000 ulid=01CQ0FW3ME8Q5W2AN5F9CB7R0R
level=info ts=2018-09-13T13:38:14.100315658Z caller=web.go:467 component=web msg="router prefix" prefix=/prometheus
level=info ts=2018-09-13T13:38:14.101793727Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536732000000 maxt=1536753600000 ulid=01CQ78486TNX5QZTBF049PQHSM
level=info ts=2018-09-13T13:38:14.102267346Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536537600000 maxt=1536732000000 ulid=01CQ78DE7HSQK0C0F5AZ46YGF0
level=info ts=2018-09-13T13:38:14.102660295Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536775200000 maxt=1536782400000 ulid=01CQ7SAT4RM21Y0PT5GNSS146Q
level=info ts=2018-09-13T13:38:14.103075885Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536753600000 maxt=1536775200000 ulid=01CQ7SV8WJ3C2W5S3RTAHC2GHB
level=error ts=2018-09-13T14:05:18.208469169Z caller=wal.go:275 component=tsdb msg="WAL corruption detected; truncating" err="unexpected CRC32 checksum d0465484, want 0" file=/opt/prometheus/data/.prom2-data/wal/007357 pos=15504363
level=info ts=2018-09-13T14:05:19.471459777Z caller=main.go:543 msg="TSDB started"
level=info ts=2018-09-13T14:05:19.471604598Z caller=main.go:603 msg="Loading configuration file" filename=/etc/prometheus.yml
level=info ts=2018-09-13T14:05:19.499156711Z caller=main.go:629 msg="Completed loading of configuration file" filename=/etc/prometheus.yml
level=info ts=2018-09-13T14:05:19.499228186Z caller=main.go:502 msg="Server is ready to receive web requests."

Praecipua quaestio recuperationis processus est princeps memoriae consummatio. Non obstante quod in normali condicione ministrans tantundem memoriae stabiliter operari potest, si ingruat, ob OOM non recuperet. Sola solutio inventa erat ut collectio notitia inactivandi, ministratorem afferret, recuperaret et reboot cum collectione para.

Calefaciens

Alius mores commemoro in fermentum, est relatio inter humilis effectus et summus resource consummatio post initium. In nonnullis, sed non omnibus inceptis, grave pondus in CPU et memoria animadverti.

TSDB Analysis in Prometheum 2

TSDB Analysis in Prometheum 2

Lacunae memoriae usus indicant Prometheum non posse omnes collectiones ab initio configurare, et quaedam deperire.
Causas accuratas summi CPU et memoriae oneris non figuravi. Suspicor hoc ob seriem novi temporis creationis in capite scandali cum magna frequentia.

CPU onus aestuat

Praeter compactiones, quae satis alte I/O onus efficiunt, spicas graves in CPU singulis duobus minutis onerare animadverti. Rumpationes longiores sunt cum initus fluxus altus est et videntur causari ab Go in quisquiliarum collectori cum nucleo aliquo saltem plene onerato.

TSDB Analysis in Prometheum 2

TSDB Analysis in Prometheum 2

Hi saltus non tam leves sunt. Haec cum occurrunt, Promethei viscus internus et metrice inaccessibiles facti sunt, notitiarum hiatus per idem temporis intervalla causantes.

TSDB Analysis in Prometheum 2

Etiam animadvertere Prometheum exportatorem uno secundo claudit.

TSDB Analysis in Prometheum 2

Correlationes purgamentorum notare possumus cum collectione (GC).

TSDB Analysis in Prometheum 2

conclusio,

TSDB in Prometheo 2 Celer, capax est series decies temporis tractandi, et simul mille monumentorum per alterum utens satis modesto odio. CPU et disci I/O utendo etiam infigo est. Exemplum meum demonstravit usque ad 200 metrorum secundo per core adhibitum.

Ad consilium expansionem debes meminisse de sufficienti copia memoriae, et hoc debet esse verae memoriae. Moles memoriae usus sum quam observavi fuit circiter 5 GB per 100 monumentorum per alterum fluminis ineuntes, qui una cum cella operativa dedit circiter 000 GB ipsius memoriae occupatae.

Nimirum adhuc multum laboris est faciendum ad CPU et disci I/O spicis mansuefactum, et hoc non mirum est considerare quomodo iuvenis TSDB Prometheus 2 comparatur cum InnoDB, TokuDB, RocksDB, WiredTiger, sed omnibus similes. problemata primo in vita sua currendi.

Source: www.habr.com