Quomodo retentat orbis cum fio pro sufficienti observantia pro etc

Nota. transl.: Hic articulus est effectus mini-investigationis per fabrum IBM Cloud peractarum quaerendi solutionem quaestionis realis quae ad operationi datorum etc. Hoc idem negotium nobis propositum fuit, attamen cursus considerationum actionumque auctorum latius interesse potest.

Quomodo retentat orbis cum fio pro sufficienti observantia pro etc

Brevis complexio totius articuli: fi et etc

Effectio botri etcd valde pendet a velocitate repositionis substratae. etcd exportationes variae Promethei metrice ad monitorem faciendum. Una earum est wal_fsync_duration_seconds. In documentis pro etc inquitRepositio illa satis celeriter considerari potest, si 99 centies huius metricae non excedit 10 ms.

Si consideras erigere botrum etcd in machinis Linux ac probare velle num pellet (ut SSDs) satis celeres sunt, commendamus utens vulgaris I/O probator vocatus. fio. Satis est praeceptum sequentis currere (directory test-data collocari debet in equestrium partitione, quae probata sunt pellunt);

fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=22m --bs=2300 --name=mytest

Reliquum est, ut ad output spectare et deprime, si 99th centies vicium spectes fdatasync in 10 ms. Si ita est, opus tuum coegi hercle. Hic est exemplum output:

fsync/fdatasync/sync_file_range:
  sync (usec): min=534, max=15766, avg=1273.08, stdev=1084.70
  sync percentiles (usec):
   | 1.00th=[ 553], 5.00th=[ 578], 10.00th=[ 594], 20.00th=[ 627],
   | 30.00th=[ 709], 40.00th=[ 750], 50.00th=[ 783], 60.00th=[ 1549],
   | 70.00th=[ 1729], 80.00th=[ 1991], 90.00th=[ 2180], 95.00th=[ 2278],
   | 99.00th=[ 2376], 99.50th=[ 9634], 99.90th=[15795], 99.95th=[15795],
   | 99.99th=[15795]

Paucae notulae:

  1. In exemplo superiore parametri adaequavimus --size и --bs ad certum casum. Ut significantem exitum fio, specificare bona pro usui tuo casui apta. Quomodo ea eligenda sint, infra dicetur.
  2. Per solam probationem fio orbis onerat subsystem. In vita reali, verisimile est alios processus scribere in orbe (praeter cognatos wal_fsync_duration_seconds). Hoc additional onus auget wal_fsync_duration_seconds. Aliis verbis, si 99th cent, ex probatione cum fio, paulo minus quam 10 ms, facultas bona est ut reposita non sufficiat.
  3. Experimentum ad versionem opus erit fio non minus quam 3.5, quia maior versiones eventus non aggregata fdatasync in forma percentiles.
  4. Praecedens conclusio est tantum excerptum ex conclusione generali fio.

Plura de fio et etc

Pauca de WALs etc

Fere, databases utere proactive logging (scribe-ante logging, WAL). afficitur etiam etc. Disceptatio de WAL extra ambitum huius articuli est, sed ad propositum nostrum, quid scire debes, unumquemque etcd botrum membrum in repositione persistente thesaurizat WAL. etc. scribit aliquas operationes repositas clavis-pretii (ut updates) ad WAL antequam eas exequatur. Si nodi fragores et sileo inter snapshots, etc. transactiones recuperare possunt cum prior snapshot e contentis WAL.

Ita quoties client adicit clavem KV copia vel updates valorem clavis exsistentis, etc. C. addit descriptionem operationis ad WAL, quod est regularis fasciculus in assidua copia. etc. C% certo habendum est ingressum WAL ante procedendum actu servatum esse. Ad hoc assequendum in Linux non satis est uti vocatione systematis writecum scribere ipsam operationem instrumentorum corporalium differatur. Exempli gratia, Linux murum ingressum in nucleo nuclei in-memoriae servare potest. Ut notitia scriptorum instrumentorum communicationis socialis vocaretur, invocari debet ratio vocationis post scribe fdatasync — Hoc ipsum est quod facit etc., ut videre potes in sequenti output strace; Hic 8 - WAL fasciculus descriptorum);

21:23:09.894875 lseek(8, 0, SEEK_CUR)   = 12808 <0.000012>
21:23:09.894911 write(8, ".20210220361223255266632$1020103026"34"rn3fo"..., 2296) = 2296 <0.000130>
21:23:09.895041 fdatasync(8)            = 0 <0.008314>

Infeliciter scribens ad diuturnitatem repositionis suscipit aliquod tempus. Prolongata exsecutio vocatorum fdatasync persecutionem afficere potest etc. In reposito documenta indicataquod ad sufficientem effectum opus est ut 99 centies centies durationis omnium vocat fdatasync cum fasciculus ad WAL scribens minus quam X ms. Aliae sunt metricae tabulae relatae, sed hic articulus in unum illum focus erit.

Aestimandi repono cum fio

Perpendere potes an ceptaculum quoddam ad usum aptum cum utendo utilitate etc fio — popularis I/O probator. Meminerint disci I/O multipliciter accidere posse: sync/async, genera syscallorum multifariam, et sic porro. Alterum nummi illud fio difficillimo usui. Utilitas multos parametros habet, et variae complexiones bonorum suorum ad varios eventus omnino conducunt. Ut rationabilem aestimationem pro etcd accipias, fac debes scribere onus quod per fio generatum est quam proxime ad etcd' WALIA fasciculus scribe onus;

  • Hoc significat quod genit fio onus saltem esse debet series consecutivarum tabellae scribens, ubi quisque scribens consistit in vocatione systematis writesequitur fdatasync.
  • Ut sequentiae scripturae efficiat, notandum est vexillum --rw=write.
  • quod fio scripsit utens vocat write (exempli gratia, quam alia ratio vocat. pwrite) Vexillum uti --ioengine=sync.
  • Denique vexillum --fdatasync=1 ut omnibus write oportet fdatasync.
  • Ceteri duo parametri in exemplo nostro sunt; --size и --bs — variari potest secundum specialem usum casus. Sequens sectio eorum configurationem describet.

Quare elegimus fio et quomodo didicimus quomodo illud constituamus?

Haec nota venit ex casu reali quod invenimus. Habuimus botrum in Kubernetes v1.13 cum vigilantia Promethei. SSDs pro repono pro etcd v3.2.24 adhibita sunt. Etcd metrice nimis altae latentiae demonstraverunt fdatasyncetiam cum esset botrus otiosus. Haec metrica nobis valde dubia visa sunt, nec certi quidnam repraesentarent fuimus. Praeterea botrus de machinis virtualibus constabat, quare dicere fieri non potuit utrum dilatio virtualisationi vel SSD culpa deberetur.

Praeterea varias mutationes in ferramentis ac programmatibus perpendebamus, quibus ad eas aestimandas opus erat. Scilicet, in unaquaque configuratione etcd currere posset et ad Promethei metricam respondentem spectare, sed id opus notabile requirere. Quae nobis necessaria erant, erat simplex via ad certam figuram aestimandam. Promethei intellectum nostrum metri ex ve- nere tentare voluimus etc.

Hoc requiritur solvendo duas difficultates:

  • Primum, quid I/O onus ab etcd generatur cum scribens ad WA files simile? Quae ratio vocat sunt? Quid est magnitudo monumenti cuneos?
  • Secundo dicamus quod respondetur dictis quaestionibus. Quomodo referas onus cum correspondente? fio? Post omnes fio - maxime flexibile utilitas cum copia parametri hoc facile est cognoscere, e.g. hic — proxime. transl.).

Utraque problemata eodem mandato substructio accessus solvimus lsof и strace:

  • cum lsof Omnes fasciculi descriptores processus uti potes, necnon tabellas quae spectant.
  • cum strace Potes resolvere processum iam currentem vel processum currere et illum observare. Mandatum hoc processu ostendit omniaque ratio vocat, si opus est, posteros. Hoc interest pro processibus qui dumis, et etc.

Primum est uti fecimus strace ad explorandum etcd server in Kubernetes botrum dum vacabat.

Ita compertum est caudices WAL recordum densissime conglobatos esse, maioris magnitudinis in iugi 2200-2400 bytes fuisse. Quam ob rem praeceptum in principio huius articuli cum vexillis utitur --bs=2300 (bs est magnitudo in bytes uniuscuiusque scribe in scandalum fio).

Quaeso note quod magnitudo etcd scribendarum caudices variari possunt secundum versionem, instruere, parametri valores etc. - afficit durationem fdatasync. Si similem usum habes, resolve cum strace etc. processibus tuis ut-ut-date valores.

Deinde, ut claram et comprehensam notionem capiamus quomodo opera tabellae systematis etc. strace cum vexillis -ffttT. Inde effecit ut processus pueri capere posset et output cuiusque ad singulas tabulas scriberet. Praeterea detailed informationem circa initium temporis ac durationis cuiusque vocationis systema nacta est.

Nos quoque utendum est mandatum lsofconfirmare intellectum output strace secundum quod lima descriptor usus est ad quam rem. Et obtinuit conclusionem stracesimile huic supra. Statistical motionibus cum synchronisation temporibus confirmata est metrica wal_fsync_duration_seconds ex etcd par vocat fdatasync apud WAL file descriptores.

Ad generate with fio quod inposuit simile, quod ex etc., documentum utilitatis pervestigatum est, et parametri ad negotium nostrum idoneo deligitur. Verificavimus quod ratio recta vocatus in progressu et durationem suam currendo confirmavit fio ex strace sicut factum est in casu etc.

Praecipua cura habita est ad valorem parametri determinandum --size. Repraesentat summam I/O onus a fio utilitate generatum. In nobis, hic numerus bytes in instrumentis instrumentis scriptus est. Protinus proportionalis numerus vocat write (et fdatasync). Ad specifica bs numerus vocat fdatasync quod size / bs.

Cum nos in cento elaboravimus, intendimus ut numerus exemplorum satis magnus esset ad momentum statisticum. Et placuit ut 10^4 (quae respondet quantitati 22 MB) sufficiet. Minores moduli values --size sonum dedit acutiorem (exempli gratia vocat fdatasyncquae multo longiores sunt quam ex consuetudine et XCIX cento afficiunt).

Est ad vos

Articulus ostendit quomodo utatur fio iudicari potest an media ad usum cum etc.d. destinata sint, satis hercle. Nunc ad te est! Machinationes virtualis explorare potes cum repositione SSD-substructio in ministerio Cloud IBM.

PS ab translator

Cum parata usus casibus fio Ad alia opera, vide documentum aut recta to repositoria project (multa sunt plura quam in documentis).

PPS ab translator

Lege etiam in nostro diario:

Source: www.habr.com

Add a comment