Basics of PostgreSQL vigilantia. Alexey Lesovsky

Moneo te legere transcriptum relationis ab Alexey Lesovsky ex Data Egret "Fundamenta PostgreSQL vigilantia"

In hac fama, Alexey Lesovsky loquetur de cardinis statisticis post-gressibus, quid significent, et cur adessent in vigilantia; quid graphs in magna sit, quomodo ea addere et quomodo interpretari debeas. Renuntiatio utilis erit administratoribus datorum, administratoribus et machinis qui interest in Postgres sollicitudin.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Nomen meum Alexey Lesovsky est, turmam Egret datam designo.

De me pauca dicam. Iamdudum incepit tamquam administrator systematis.

Omnia genera Linux diversarum rationum administravi, in variis rebus ad Linux, i.e. virtualizationem, vigilantiam, cum procuratoribus elaboravi, etc. Sed aliquando plus cum databases laborare coepi, PostgreSQL. Vere amavi eum. Et aliquando in PostgreSQL opus plurimum temporis laboris mei incepi. Itaque paulatim factus sum PostgreSQL DBA.

In omni vita mea, semper studui in locis statisticis, vigilantiae et telemetriae. Et cum administrator systematis essem, cum Zabbix arctissime laboravi. Et scripsi parva copia scriptorum sicut zabbix-extensiones. Erat suo tempore admodum popularis. Et ibi fieri potuit ut monitor res longe diversas, non solum Linux, sed etiam varias componentes.

Nunc in PostgreSQL laboro. Iam aliud scribo quod te cum PostgreSQL mutant laborare sinit. Dicitur pgCenter (articulus in HabrΓ© - Post-gressus statistics sine nervis et contentionibus).

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Paulo notula prooemialis. Quales condiciones nostri clientes, clientes nostri habent? Est aliquod genus accidentis ad modum datorum comparatur. Cum datorum iam restituto, caput departmentis vel evolutionis caput advenit et dicit: "Amici, monitorem datorum necesse est, quia quid mali factum est et ne id in futuro fiat". Hic incipit processus interesting eligendi ratio vigilantia vel ratio vigilantiae exsistentis accommodandi ut monitorem database - PostgreSQL, MySQL vel aliquos alios possis. Et collegae suggerere incipiunt: β€œAudivi talem database esse. Ea utamur." Collegae inter se contendere incipiunt. Et in fine evenit ut nos aliquod genus database deligeremus, sed PostgreSQL vigilantia in eo potius male exhibetur et semper aliquid addere debemus. Sume repositoria quaedam a GitHub, clone, scripta adapta, et quodammodo customize. Et tandem desinit esse aliquod opus manuale.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

In hac ergo sermone conabor tibi aliquam notitiam dare quam vigilantiam eligere non solum pro PostgreSQL, sed etiam pro datorum. Et dabo tibi scientiam quae tibi permittit ut vigilantiam tuam absolvas ad aliquid inde commodum consequendum, ut emolumenti datorum monitorium possis, ut cito ne quid eveniat casus subit.

Et ideae quae in hac relatione erunt, cuilibet datorum directe accommodari possunt, fiat DBMS vel noSQL. Ergo non solum PostgreSQL, sed multae mixturis hoc facere in PostgreSQL. Exempla quaerendi erunt, exempla entium quae PostgreSQL vigilantia habet. Et si tua DBMS eadem habet quae te in vigilantia ponere permiseris, ea etiam accommodare potes, ea adde et bonum erit.

Basics of PostgreSQL vigilantia. Alexey LesovskyEgo non in fama
loqui quomodo tradat ac reponunt metricam. Nihil dicam de notitia post-processus et usori exhibens. Nec ego aliquid de erectione dicam.
Sed ut fabula progreditur, diversa eenshotsscrarum exsistentium vigilantia ostendam et eas quodammodo reprehendere. Sed tamen conabor not notas nominare ne vendo vel anti- vendo pro istis productis faciendis. Omnia ergo fortuita sunt temere et imaginationi relinquuntur.
Basics of PostgreSQL vigilantia. Alexey Lesovsky
Primum, quid vigilantia sit figura. Cras sit amet ipsum ante. Hoc omnes intelligunt. Sed simul, magna vigilantia negotium productum non refert et lucrum societatis directe non afficit, ergo tempus semper in residuo basis vigilantia collocatur. Si tempus habemus, magna agimus, si tempus non habemus, OK, in backlog ponemus et aliquando ad haec negotia revertemur.

Ex usu igitur nostro, cum ad clientes venimus, vigilantia saepe incompleta est et non habet aliqua interesting quae nos adiuvet melius officium datorum. Cras semper eget quam et efficitur.

Databases res tam implicatae sunt quae monitorio etiam indigent, quia repositorium datorum notitiarum sunt. Magni momenti est notitia pro societate, nullo modo amitti potest. Eodem autem tempore, databases fragmenta programmatum valde implicata sunt. Magnum numerum componentium constant. Et multa harum partium viverra eget.

Basics of PostgreSQL vigilantia. Alexey LesovskySi specialiter de PostgreSQL loquimur, repraesentari potest in forma schematis quod ex pluribus componentibus consistit. Haec inter se correspondent. Eodemque tempore, PostgreSQL subsystem stats Collector sic dictae habet, quae te permittit ut statistica de operatione harum subsystematum colligas et aliquod genus instrumenti administratori vel usoris praebeat ut has statisticas inspicere possit.

Hae statisticae in forma quadam functionum et sententiarum statuuntur. Tabulae etiam dici possunt. Hoc est, per clientem psql regularem, ad database coniungere potes, de his functionibus et visibus delectos fac, et aliquos certos numeros de operatione subsystematum PostgreSQL habe.

Hos numeros addere potes ad systema gratissimum vigilantia, graphas hauri, functiones adde et analytica in longum terminum habe.

Sed in hac fama non omnia haec officia complebo, quia totum diem capere potuit. Litteram ad verbum dabo duo, tria vel quatuor, et tibi dicam quomodo melius vigilantiam adiuvant.
Basics of PostgreSQL vigilantia. Alexey Lesovsky
Et si de magna datorum loquimur, quid necesse est monitori esse? Imprimis opus est monitori promptitudinis, quia datorum munus est quod praebet accessum ad clientes notitias et opus est monitori promptitudinis, et etiam aliquas eius qualitates et quantitatis notas praebent.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Nobis etiam opus est clientibus monitoribus nostris datorum coniungere, quia possunt esse tam normales clientes quam clientes noxii qui datorum nocere possunt. Etiam viverra opus est ac suas operationes perscrutans.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Cum clientes ad datorum coniungunt, manifestum est cum notitia nostra laborare incipiunt, sic monere oportet quomodo clientes cum notitia operantur: quibus tabulis, et ad minus, cum quibus indices. Hoc est, inposuit opus aestimare quod a clientibus nostris creatum est.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Sed quod inposuit etiam in petitionibus utique consistit. Applicationes conectunt ad datorum, accessus notitias utentes quaerendo, magni momenti est aestimare quaenam quaesita habemus in datorum, monitorium adaequationem, quod prave scripta non sunt, aliquas optiones renovari et fieri necesse est ut velocius operentur. ac meliore effectu.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Et quoniam de database loquimur, datorum processus semper in background. Processus background auxilium conservant datorum observantiam in bono gradu, unde copiam facultatum sibi ad operandum requirunt. Et simul, cum clientis opibus petere possunt, ita processus background avarus potest directe afficiunt petitiones clientium observantiam. Ideo etiam opus est monitori et vestiri ut nullae sint depravationes secundum processuum curriculorum.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Et haec omnia in magna vigilantia database in systemate metrico permanet. Sed considerans quod maxime nostrae infrastructurae ad nubes movetur, ratio metrica unius exercitus semper in curriculum labatur. Sed in databases adhuc pertinentes sunt et, sane, etiam necessaria est ratio metrica monitoris.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Omnia plus minusve subtilia cum systemate metrico, omnes moderni systemata vigilantia iam his metricis adiuvantur, sed generatim nonnulla elementa adhuc non satis sunt et quaedam addenda sunt. Eos etiam attingam, plures elabitur.

Basics of PostgreSQL vigilantia. Alexey Lesovsky
Primum consilium est facilitas. Quid est accessibilitas? Availability in my understanding is the ability of the base to service connections, i.e., the base is elevetur, it, as a service, accepts hospites from clients. Et haec facilitas quibusdam notis perpendi potest. Commodissimum est has notas ostendere in dashboards.

Basics of PostgreSQL vigilantia. Alexey Lesovsky
Quisque scit quid sunt dashboards. Hoc est, cum sumpsisti unum aspectum in velum in quo res necessariae notitiae perstringuntur. Et statim determinare potes utrum in datorum difficultatibus sit necne.
Quocirca promptitudo datorum et aliarum notarum clavis semper in ashboardis exponi debet ut haec notitia adsit et semper tibi praesto sit. Quaedam additamenta singularia quae iam in inquisitione incidentium adiuvant, cum casus aliquos casus explorant, iam opus est ut in secundariis dashboards ponendae sint, vel in exercitio nexus qui ad tertiam partem systematis vigilantiae magnae ducunt.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Exemplum unius notae magna ratio. Haec ratio vigilantia frigidissima est. Multum notitia colligit, sed ex parte mea, mirum notionem habet dashboards. Vinculum est ut "ashboardday creare". Sed cum ashboardday creas, duarum columnarum indicem facis, indicem graphorum. Et cum debes aliquid intueri, incipe strepere cum mure, scrolling, desiderans chartulam quaerens. Et hoc accipit tempus, i.e. non sunt dashboards as such. Sunt tantum indices chartarum.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Quid his adde ashboardis? Potes incipere cum tali charactere responsionis tempore. PostgreSQL sententiam pg_stat_state habet. Debilitata est per defaltam, sed una ex momentis rationum sententiis quae semper praestabilis et adhibenda est. Informationes de omnibus quaestionibus currit quae in datorum instrumentis sunt exsecuti.

Ideoque ex eo incipere possumus quod tempus omnium petitionum totalem executionem capere possumus et eam per numerum petitionum praedictorum agrorum utendo dividere. Sed haec mediocris temperatura in valetudinarium est. Ex aliis campis incipere possumus - minimum inquisitionis exsecutionis tempus, maximum et medianum. Ac possumus etiam centones aedificare, PostgreSQL huic correspondentes functiones habet. Et possumus aliquos numeros habere qui responsionis tempus datorum nostrorum iam peractis petitionibus, i.e., petitio ficta "select 1" non exequimur et tempus responsionis spectamus, sed tempus responsionis resolvimus petitiones iam peractas et trahimus. aut figuram separatam aut grapham ab ea aedificamus.

Gravis etiam est ad monitorem numerum errorum qui nunc systematis generantur. Et pro hac sententia uti potes. Nos in campo xact_rollback focus. Hic campus non solum numerum gyrorum in datorum datorum ostendit, sed etiam numerum errorum habet. Relative loquendo, hanc figuram in ashboardday ostendere possumus et videre quot errores nunc habemus. Si errores multum sunt, merito haec ligna inspicere et videre, quales errores sint et cur fiant, et postea eas collocare et solvere.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Talem rem addere potes ut Tachometer. Hi sunt numerus negotiorum secundorum et numerus petitionum secundarum. Relative loquendo, his numeris uti potes pro currenti observantia datorum tuorum, et observa num culmina sint in petitionibus, cacumina in negotiis, vel e converso, an datorum onustum sit quod aliquis retro defecerit. Gravis est semper hanc figuram intueri et meminisse nostrum propositum huiusmodi executionis normalem esse, valores autem supra et infra iam sunt quaedam quaedam problematicae et incomprehensibiles, quae minime quaerendum est quare hi numeri sint. sic altus.

Ad numerum transactionum aestimandum, iterum ad visum pg_stat_database referre possumus. Adiicere possumus numerum officiorum et numerum revolutionum ac numerum negotiorum secundorum obtinere.

Quisque scitne plures petitiones posse in unam rem convenire? Ergo TPS et QPS inmutato sunt diversa.

Numerus petitionum per secundam ex pg_stat_statibus obtineri potest et summam omnium petitionum peractarum simpliciter computare. Patet nos valorem currentem cum priori comparare, eum demere, delta adipisci, quantitatem acquirere.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Additamenta metrica si lubet, addere potes, quae etiam adiuvant aestimare promptitudinem database nostri et monitoris num aliqui downtimes fuerint.

Horum unum uptime metri est. Sed uptime in PostgreSQL est aliquantulus captiosius. Dicam quare. Cum PostgreSQL incepit, uptime incipit renuntiationes. Sed si in aliquo puncto, exempli gratia, opus aliquod noctu currendo, OOM interfector venit et processum pueri postgreSQL fortiter terminavit, tunc in hoc casu PostgreSQL nexum omnium clientium terminat, in area memoriae schedulae reponit ac recuperatio ab incipit. ultimum LAPIS. Et dum haec recuperatio e LAPIS durat, datorum nexus non accipit, i.e. haec condicio pro tempore down aestimari potest. Sed uptime counter non erit reset, quia computat postmaster satus tempus ab ipso primo momento. Huiusmodi igitur rerum condiciones omitti possunt.

Monere debes numerum vacui operarum. Quisque scitne quid autovacuum in PostgreSQL sit? Hoc interesting subsystem in PostgreSQL. Multi articuli de ea scripti sunt, multae relationes factae sunt. Multae disputationes de vacuo sunt et quomodo operari debent. Multi malum necessarium existimant. Sed id quam est. Simile quiddam est Purgaeorum collectori qui versiones versuum expurgat, quibus nulla re opus est, et spatium in tabulis et indicibus novorum ordinum liberat.

Quid opus est monitor eam? Quia vacuum interdum multum nocet. Consumit magna copia opum et clientium petitiones ut exitum incipiunt pati.

Et per visum pg_stat_activity viverra debet, de quo in sectione sequenti loquar. Haec sententia ostendit activitatem hodiernam in database. Atque per hanc actionem indagare possumus numerum vacuorum qui nunc operantur. Vacuum indagare possumus et videre quod si modum excesserimus, haec est ratio inspicere in occasus PostgreSQL et operationem vacui quodammodo optimize.

Alia res de PostgreSQL est quod PostgreSQL valde aegrotus est longarum transactionum. Praesertim ex transactionibus quae diu pendent et nihil agunt. Hoc est, quod dicitur status otiosus in re. Talis transactio crines tenet et vacuum ab operando impedit. Et per consequens tabulae intumescunt et augentur. Et queries qui cum his tabulis laborare incipiunt tardius laborare, quia necesse est omnes veteres versiones ordinum a memoria ad disci et retro trudere. Ideo tempus, tempus longissimae operationis, longissimum vacuum petitionibus etiam monitoriis opus est. Et si videmus aliquos processus diutissime currentes, iam plusquam 10-20-30 minuta ad OLTP oneris, tunc necesse est eos attendere et eos fortiter terminare, vel applicationem optimize ut illi. non vocati nec pendent. Ad quod inposuit analyticum, 10-20-30 minuta normalia sunt etiam longiora.

Basics of PostgreSQL vigilantia. Alexey Lesovsky
Deinde habemus optionem cum clientibus coniunctis. Cum ashboardday iam creavimus et in eo metrica disponibilitate key missae, informationes quoque adiuncta de clientibus ibi connexis addere possumus.

Informationes de clientibus connexis magni momenti est quod, ex prospectu PostgreSQL, clientes diversi sunt. Sunt clientes boni et mali clientes sunt.

Simplex exemplum. Per clientem intelligo applicationis. Applicatio cum datorum coniungit et statim petita sua ibi mittit, processus datorum et eas exequitur, et eventus ad clientem redit. Hi sunt boni et recti clientes.

Cum client condiciones sunt, nexum tenet, sed nihil facit. Res publica otiosa est.

Sed clientes mali sunt. Exempli gratia, idem client conexus, transactionem aperuit, aliquid in datorum fecit ac deinde in codicem ingressus est, verbi gratia, ut extrinsecus accederet vel illic notitias receptas procederet. Sed rem gestam non conclusit. Et res gesta in datorum dependet et in seram linea tenetur. Mala conditio haec est. Ac si subito alicubi intra se applicatio excepta deficit, tum res diutissime per- manere potest. Et hoc directe afficit PostgreSQL effectus. PostgreSQL tardius erit. Ideo interest ut tales clientes opportune indagare ac fortiter opus suum terminare. Et applicationis tuam optimize debes ut condiciones tales non fiant.

Ceteri mali clientes clientes exspectant. Sed ex circumstantiis fiunt mali. Exempli gratia simplex res otiosa: potest transactionem aperire, comas in lineas aliquas capere, alicubi in codice deficere, negotio suspendio relicto. Veniet alius client et eadem data petet, sed occurret seram, quia suspensum negotium iam in quibusdam ordinibus requiritur crines tenet. Et secunda transactio dependet circa expectans primam transactionem ad perficiendum vel vi arcendum ab administratore. Ergo transactiones pendens possunt cumulare et nexum datorum implere modum. Et cum plenus sit modus, applicatio iam datorum operare non potest. Haec condicio iam in casu necessitatis est. Ideo malos clientes oportet investigari et tempestive respondisse.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Aliud exemplum vigilantiae. Et ashboardday honestum iam est hic. Est notitia super hospites. DB connexione - 8 frusta. Et actum est. Nihil habemus certius de quibus clientes sint industrii, qui clientes sunt otiosi, nihil agentes. Nulla notitia est de transactionibus et nexibus pendentibus, i.e., haec figura est quae numerum nexuum ostendit et eum esse. Ergo et tu ipse suspicaris.
Basics of PostgreSQL vigilantia. Alexey Lesovsky
Proinde informationem hanc ad vigilantiam addere, debes pg_stat_activity rationi visum accedere. Si multum temporis in PostgreSQL expendas, haec est optima sententia quae amicum tuum fieri debet, quia ostendit actionem hodiernam in PostgreSQL, i.e., quid in eo agatur. Uterque processus separatus est linea quae de hoc processu notitias ostendit: ex quo hospite nexus facta est, sub quo usuario, quo nomine, cum negotium incepit, quid petitio sit amet, quid petitio proxima sit. et ideo statum huius campi stati utentes aestimare possumus. Relative loquendo, ex hoc campo coetus possumus et illos status qui nunc sunt in datorum numero et nexus qui in database stati habent. Et numeros iam receptos ad nostra vigilantia et graphas innixas mittere possumus.
Gravis est aestimare durationem transactionis. Iam dixi interest vacuorum durationem aestimare, res autem eodem modo aestimari. Sunt xact_incipiendi et agri query_start. Illi, relative loquendo, tempus negotii et initium petitionis ostendunt. Munus nunc() accipimus, quod indicationem hodiernam ostendit, et transactionem ac instantiam notationis subtrahe. Et exigitur tempus transactionis, durationis petitionis.

Si longas res videmus, iam perficiamus. Pro onere OLTP, longae transactiones iam plus quam 1-2-3 minutae. Pro inposuit OLAP, longae operationes normales sunt, sed si plus quam duas horas ad perficiendum capiunt, hoc quoque signum est quod alicubi skew habemus.

Basics of PostgreSQL vigilantia. Alexey Lesovsky
Cum clientes datorum conexi sunt, operari incipiunt cum notitia nostra. Accedunt tabulae, accedunt indices ut notitias e tabula accipiant. Et magni momenti est aestimare quomodo clientes cum hac notitia inter se conveniunt.

Hoc necessarium est ut inposuit nostram ponderandam ac duriter intelligamus quae nobis mensae sunt "calidissimae". Exempli gratia, hoc necessarium est in adiunctis, ubi tabulas "calidas" ponere volumus in aliquo genere ieiunii SSD repositionis. Exempli causa, nonnullae tabulae archivi, quas diu non usi sumus, ad aliquod genus "frigus" archivi moveri possunt, ad SATA agitet et ibi habitent, accedent ad opus.

Hoc etiam utile est ad detegendas anomalias post quaslibet emissiones et operas. Dicamus consilium aliquod novam plumam dimisit. Exempli gratia novas functionality ad operandum cum datorum accessimus. Et si tabulam graphi usus machinamur, facile has anomalias in his graphis deprehendere possumus. Exempli gratia, renovatio erumpit vel delere prorumpit. Valde visibilis erit.

Anomalias in mutantibus "nare" quoque deprehendere potes. Quid est hoc? PostgreSQL interrogationes scheduler valde validas et valde bonas habet. Integer tincidunt tempus ante ac consequat. Quomodo operatur? Ut bene consilia ponat, PostgreSQL statas colligit de distributione notitiarum in tabulis certo temporis intervallo et cum quadam frequentia. Valores maxime communes sunt: ​​numerus valorum singularium, informationes de nulla in mensa, multum informationes.

Ex his statisticis, excogitator plures interrogationes construit, unam optimam eligit et hac interrogatione utitur ut ipsam interrogationem et notitias reditus exsequatur.

Et fit ut mutant "supernatet". Qualitas et quantitas data quodammodo mutatur in tabula, sed statistica non est collecta. Consilia formata non bene. Et si consilia nostra suboptimalia ex vigilantia collecta, in tabulis fundata, suboptima evadant, has anomalias videre poterimus. Exempli gratia, notitia alicubi mutata qualitate et loco indicis, sequentiae per mensam fieri coeptae sunt, i.e. si quaesitum necesse est ut tantum 100 ordines reddere (finis enim 100 est), tunc quaestio integra pro hac interrogatione praestabitur. Semper autem hoc pessimum effectum habet.

Idque in vigilantia videre possumus. Et iam interrogationem hanc vide, explica pro ea, collige statisticam, novam indicem addito aedifica. Et iam huic quaestioni respondeo. Gravis ideo praesent.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Aliud exemplum vigilantiae. Multi eum agnoverunt quia valde popularis puto. Qui utitur in inceptis suis Prometheum? Quis hoc artificio in conjunctione cum Prometheo utitur? Ita est quod in repositorio normae huius vigilantiae ashboardday est operandi cum PostgreSQL - postgres_exporter Prometheus. Sed unum est malum speciale.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Plures graphes sunt. Et designantur bytes ut unitas, i.e. 5 graphi. Haec data inserta sunt, data renovatio, data dele, data affer et data redi. Mensura unitas bytes est. Sed res est quae statistica in PostgreSQL data in tuple redit. Itaque hae graphae valde bonae sunt ut tuum quod inposuit pluries et decies, quia tuple non est byte, tuple chorda est, multae bytes et semper variae longitudinis sunt. Hoc est, quod inposuit computare in bytes utendo tuples est munus univocum vel difficillimum. Cum igitur uteris ashboardday vel in vigilantia constructo, semper interest intelligere quod recte operatur et redit tibi recte aestimata notitia.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Quomodo mutant in his tabulis? Ad hoc, PostgreSQL habet quandam familiam visorum. Et principalis sententia est pg_stat_user_tables. User_tables - hoc significat tabulae pro utentis creatae. E contra, sunt rationes sententiae quae ab ipso PostgreSQL adhibentur. Et est tabula summaria Alltabularum, quae tam rationem quamque usorum comprehendit. Ab aliquo eorum incipere potes quod tibi placet.

Superioribus agris uti potes numerum insertorum, updates et deleterum aestimare potes. Exemplum ashboardday quo his agris usus sum ad notas inposuit aestimandas. Ergo etiam super eos aedificare possumus. Sed memoria digna est has tuples, non bytes esse, ideo in bytes id facere non possumus.

Ex hac notitia, sic dictas tabulas TopN aedificare possumus. Pro exemplo, Top-V, Top-X. Et indagare potes illas calidas tabulas quae prae aliis REDIVIVUS. Exempli gratia, 5 tabulas "calidas" inserendas. Atque his TopN tabulis utendo inposuit et aestimare possumus insitam inposuit post quaslibet emissiones, updates et operas.

Magnitudinem mensae aestimare etiam interest, quia interdum tincidunt evolvunt novam plumam, et tabulae nostrae in magna magnitudine tumescunt, quia decreverunt additamenta notitiarum addere, sed non praedicunt quomodo hoc esset. afficit magnitudinem database. Tales etiam casus ad nos obveniunt.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Et nunc parva quaestio est. Quae quaestio oritur cum videris sarcinam in servo tuo database? Quid altera quaestio habetis?

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Sed re vera quaestio sic oritur. Quid petit onus causa? Id est, non interest intueri processus causatus onere. Patet quod si hostia datorum habet, tunc currit ibi datorum et patet quod solum ibi disponentur databases. Si Top aperiamus, ibi indicem processuum videbimus in PostgreSQL qui aliquid agunt. Non liquebit ex Top quid agunt.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Proinde, quaeres quaeres quaeres qui summum onus causant, quod queries, ut regula, plus lucri dat quam inveneris in PostgreSQL vel configuratione operandi ratio, vel etiam ferramenta incedit. Secundum meam aestimationem, hoc est circiter 80-85-90%. Atque id multo celerius. Celerius est petitionem emendare quam lineam conformationem corrigere, sileo sileo, praesertim si database non potest restarted addere vel ferramenta addere. Facilius est interrogationem alicubi rescribere vel indicem addere ut melius ex hac quaestione eveniat.

Basics of PostgreSQL vigilantia. Alexey Lesovsky
Ideoque necessarium est monitorem petitionum eorumque adaequationem. Vigilantiae exemplum sumamus. Et hic quoque magna vigilantia esse videtur. Est notitia replicationis, notitia perput, interclusio, utilitas resource. Omnia praeclara sunt, sed nulla petita notitia. Quas queries in datorum nostrorum datorum currunt, quam diu currunt, quot harum queriarum sunt, non liquet. Semper necesse habemus hanc informationem in magna vigilantia habere.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Et ut haec informationes accipere possumus, moduli pg_stat_statuta uti. Fundatur, varia graphs aedificare potes. Exempli causa, scire potes in quaestionibus frequentissimis, id est de iis quaestionibus quae saepissime exercentur. Imo etiam perutile est inspicere et intelligere, si quid in precibus assurgat.

Monere potes inquisitiones longissimas, id est illas queries quae longissimas ad perficiendum capiunt. Processus currunt, consumunt I/O. Etiam aestimare possumus hunc usum agrorum total_time, medio tempore, blk_write_ tempore et tempore blk_read_.

Gravissimas petitiones aestimare possumus ac monitores pro usu facultatis, eae quae ex orbe legunt, id cum memoria operantur, vel e converse scribendi genus onus creandi.

amplissimis petitionibus aestimare possumus. Hae sunt queries magnum numerum ordinum redeuntium. Verbi gratia, posset esse aliqua petitio ubi oblitus est ponere modum. Et simpliciter refert omnia contenta mensae vel interrogationis per tabulas queriedas.

Atque etiam monitores queries, quae temporariis tabulis vel tabulis temporariis utuntur.

Basics of PostgreSQL vigilantia. Alexey Lesovsky
Et adhuc habemus processus background. Processus background principaliter sunt checkpoints vel etiam vocantur checkpoints, hae sunt autovacuum et replicatio.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Aliud exemplum vigilantiae. Est tab Sustentationem ad sinistram, vade ad illam et spera aliquid utile videre. Sed hic tantum tempus est operandi vacui et statisticae collectionis, nihil amplius. Haec notitia pauperrima est, ideo semper informationem habere oportet quomodo processus background in nostris datorum operibus operatur et num aliquae difficultates ex opere suo sint.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Cum ad checkpoints consideramus, meminisse debemus paginas sordidos punctata rubore perplexa memoriae area ad disci, deinde lapillos creare. Et haec LAPIS tunc adhiberi potest ut locus convalescendi si PostgreSQL subitis subito terminetur.

Proinde, ut omnes paginae "sordida" in disco rubent, opus est quodam scripto facere. Et fere in systematibus cum magna memoria, hoc multum est. Et si persaepe in brevi intervallo puncta facimus, tunc orbis effectus signanter valde stillabit. Et clientes petitiones facultatum inopia laborant. Certabunt opibus et fructibus carent.

Itaque per agros determinatos pg_stat_bgwriter utendo, numerum calculorum qui occurrunt, admonere possumus. Et si per certum temporis spatium (in 10-15-20 minuta, in media hora) multum habeamus, exempli gratia 3-4-5, haec quaestio iam esse potest. Et iam debes inspicere in datorum, in configuratione, inspicere, quae causat tantam copiam latrinae. Forsitan quaedam magnae memoriae agatur. Iam inposuit quod inposuit aestimare possumus, quod inposuit graphas iam additas. LAPIS parametri iam inplicare possumus et fac ut effectum interrogationis non magnopere afficiant.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Iterum ad autovacuum redeo quia talis res est, ut dixi, quod facile utrumque orbem et interrogationem perficiendi addere potest, ideo semper est momenti ad quantitatem autovacui aestimandam.

Numerus operariorum autovacuorum in datorum limitatur. Defalta tria sunt, ergo si semper tres operarios in datorum operando habemus, id significat quod autovacuum nostrum non configuratur, necesse est limites erigere, occasus autovacuum recognoscere et in configurationem ingredi.
Aliquam sit amet pretium quam habemus operarii vacuum. Aut a utentis deductae, DBA accessit et manuale quoddam vacuum emissum est, et hoc onus creatum est. Quasdam habemus quaestionis. Vel hic est numerus vacuorum qui rei emissae sunt. Aliquot versiones PostgreSQL hae valde graves vacuums sunt. Et facile possunt adiicere, quia totam mensam legunt, omnes cuneos in illa tabula scandunt.

Et quidem, duratione vacuums. Si vacuas diuturna habemus, quae diutissime currunt, id significat quod iterum operam dare debemus ad vacuitatem configurationis et fortasse eius occasus retractare. Quia condicio oriri potest cum opus vacuum in mensa diu (3-4 horae), sed per tempus vacuum laborabat, magna copia ordinum mortuorum denuo in mensam accumulare procuravit. Statimque ut vacuum est, necesse est hanc tabulam iterum vacuare. Et venimus ad statum - vacuum sine fine. Atque in hoc casu vacuum opus suum non tolerat, et tabulae paulatim intumescant, quamvis solida utilissima in eo maneat. Itaque, per longum vacuum, semper in schemate despicimus et eam optimize conantur, sed simul ut petitiones clientium observantia non patiatur.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Hodie nulla est fere institutionis PostgreSQL quae replicationem fluentem non habet. Replicatio est processus notitiae movendae a domino ad imaginem.

Replicatio in PostgreSQL fit per logam transactionem. Magus generat transactionem stipes. Transactio stipes percurrit per nexum retis ad imaginem, et tunc in replica repraesentetur. Simplex est.

Proinde sententia pg_stat_replicationis replicationis lag ad monitor adhibetur. Sed non omnia cum illa simplicia sunt. In versione X, sententia varias mutationes subiit. Uno modo aliqui agri appellati sunt. Et quidam agri adiecti sunt. In versione X, agri apparuerunt qui permittunt te replicationem pigri in secundis aestimare. Valde commodus est. Ante versionem X, replicationem lag in bytes aestimare potuit. Haec optio manet in versione 10, i.e., quod tibi commodius est eligere potes - laganum in bytes aestima vel laganum in secundis aestimare. Multi utrumque faciunt.

Sed tamen, ut replicatio pigri aestimanda sit, scire debes positionem ligni in negotio. Et hae transactiones positiones logatae sunt prorsus in visu pg_stat_replicationis. Relative loquendo duo puncta in transactione stipes accipere possumus functione pg_xlog_location_diff() utendo. Delta inter eas computa et replicationem lag in bytes obtine. Praesent commodo et purus.

In versione 10, hoc munus renominatum est cum pg_wal_lsn_diff(). Fere in omnibus functionibus, opinionibus et utilitatibus ubi verbum "xlog" apparuit, substitutum est cum valore "muri". Quod quidem pertinet ad utramque opinionem et functiones. Hoc tale est.

Plus, in versione X, lineae additae sunt quae lag speciatim ostendunt. Scribuntur haec lag, rubor lag, replay lag. Hoc est, haec monitorem interest. Si enim videmus replicationem pigri habere, tunc quaerendum est cur apparuerit, unde esset et quaestionem figere.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Fere omnia in systemate metrico ordine sunt. Cum aliqua vigilantia incipit, incipit ratio metrica. Haec est dispositio processuum, memoria, permuto, retis et orbis. Sed multi parametri non sunt ibi per defaltam.

Si omnia ordine redivivo sunt, tunc problemata orbis redivivus sunt. Pro regula, adipiscing tincidunt informationes de throughput add. Potest esse in iops vel bytes. Sed de latency et utendo orbis machinis obliviscuntur. Hae ambitus maioris momenti sunt qui nos sinunt aestimare quomodo orbis nostri onusti sint et quam tardi sint. Si altam latencym habemus, hoc significat quod problemata quaedam sunt cum orbis. Si utendo altam habemus, significat discos summitatem parietum non esse. Haec sunt melioris notae quam throughput.

Praeter haec statistica etiam ex /proc lima systema obtineri possunt, sicut processus redivivus fit. Nescio cur haec notitia vigilantia non addatur. Veruntamen interest hoc in tua vigilantia habere.

Eadem ratio est interfaces retis. Informationes de network throughput in facis, in bytes, sed tamen nulla notitia latency et nulla notitia de utendo, quamvis haec quoque utilis sit notitia.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Ullam adipiscing est inceptos. Et qualicumque vigilantia accipias, semper non occurrit aliqua criteria quaestionis. Sed tamen excoluntur, nova ac nova adduntur, aliquid eligunt ac perficiunt.

Et ad perficiendum semper notionem habere debes eorum quae statistica media praebentur et quomodo his uti potes ad quaestiones solvendas.

Et pauca cardinis puncta;

  • Semper monitor promptitudinis et ashboarddays habere debes ut cito perpendere potes omnia in ordine datorum.
  • Semper habere debes ideam de clientibus tuis database ut malos clientes arundineas et eos deprimas.
  • Interest aestimare quomodo hi clientes cum data operantur. Ideam habere debes de tuo quod inposuit.
  • Magni interest aestimare quomodo hoc inposuit formatur, ope quid queritur. Potes interrogationes aestimare, eas optimize potes, eas reficere, indices eis aedificare. Sit amet ipsum.
  • Processus background clientem petitiones negative incursum possunt, Gravis est ad monitorem ut nimis multis opibus non utantur.
  • Ratio metrica permittit te consilia inire ad scalas et augendas facultates servorum tuorum, ut magni momenti est eas quoque indagare et perpendere.

Basics of PostgreSQL vigilantia. Alexey Lesovsky

Si hoc loco interest, hos nexus sequi potes.
http://bit.do/stats_collector - Haec documenta officialis e statistics collectoris sunt. Est descriptio omnium sententiarum actuariorum et omnium agrorum descriptio. Legere, intelligere et resolvere potes. Et fundata in illis, graphias tuas construe, et vigilantia tua addas.

Exemplum petitiones:
http://bit.do/dataegret_sql
http://bit.do/lesovsky_sql

Hoc est nostrum corpus repositum et meum proprium. Continent exemplum queries. Nullae habentur quaestiones ex selectis ex serie ibi. Iam quaestionibus iunctis paratae factae sunt, utentes functiones interesting quae te permittunt, numeros rudis in readabiles, commodas vertere, i.e., haec sunt bytes, tempus. Ea colligere potes, specta, eas resolve, ad vigilantiam adde, vigilantia tua in illis aedifica.

quaestiones

Quaeritur: Dixisti te notas non ostentare, sed adhuc sum curiosus - quales ashboardas in tuis inceptis uteris?
Respondet: Variat. Fit ut ad emptorem veniamus et ipse iam suam vigilantiam habet. Et nos monemus ut emptori ad eorum vigilantiam accedat necesse est. Pessima res est cum Zabbix. Quia TopN graphs aedificandi facultatem non habet. Ipsi utimur Okmeterquoniam cum hisce guys vigilantia consulebamus. PostgreSQL viverra in nituntur nostris technicis specificationibus. Librum meum scribo, qui notitias per Prometheum colligit et eam reddit grafana. Mihi opus est meum exportatorem in Prometheo creare ac deinde omnia in Grafana reddere.

Quaeritur: Utrum aliquae sint analogae AWR relationum vel aggregationis? Nostin' quid simile?
Responsio: Immo scio quid sit Awr, res frigidissima est. In momento variae birotae variae sunt quae proxime sequentia exemplar efficiunt. In aliquo temporis intervallo, nonnulla baselinea eidem PostgreSQL vel ad repositio separata scripta sunt. Eas in interreti google, ibi sunt. Una e tincidunt rei talis sedet super sql.ru forum in filo PostgreSQL. Eum ibi capere potes. Imo talia sunt, adhiberi possunt. Plus in suo pgCenter Item scribo quod idem facere permittit.

PS1 Si postgres_exporter uteris, quo ashboardday uteris? Earum plura sunt. Iam outdated sunt. Fortasse communitas an updated templates creabit?

PS2 pganalyze remota quia est proprietatis SaaS oblatio quae in actione vigilantia et suggestiones automated incedit.

Tantum usores descripserunt in aliquet participare possunt. InscribeTe gratissimum esse.

Quod auto-hosted vigilantia postgresql (cum ashboardday) optimum cogitas?

  • 30,0%Zabbix + additamenta ab Alexey Lesovsky vel zabbix 4.4 vel libzbxpgsql + zabbix libzbxpgsql + zabbix3

  • 0,0%https://github.com/lesovsky/pgcenter0

  • 0,0%https://github.com/pg-monz/pg_monz0

  • 20,0%https://github.com/cybertec-postgresql/pgwatch22

  • 20,0%https://github.com/postgrespro/mamonsu2

  • 0,0%https://www.percona.com/doc/percona-monitoring-and-management/conf-postgres.html0

  • 10,0%pganalyze est proprietatis saas - it1 . delere non possum

  • 10,0%https://github.com/powa-team/powa1

  • 0,0%https://github.com/darold/pgbadger0

  • 0,0%https://github.com/darold/pgcluu0

  • 0,0%https://github.com/zalando/PGObserver0

  • 10,0%https://github.com/spotify/postgresql-metrics1

10 utentes censuerunt. 26 Utentes abstinuerunt.

Source: www.habr.com