Momwe mungayang'anire ma disks okhala ndi fio kuti agwire ntchito mokwanira etcd
Zindikirani. transl.: Nkhaniyi ndi zotsatira za kafukufuku wochepa wopangidwa ndi IBM Cloud engineers pofunafuna njira yothetsera vuto lenileni lokhudzana ndi ntchito ya database ya etcd. Ntchito yofananayi inali yofunika kwa ife, komabe, kulingalira ndi zochita za olemba kungakhale kosangalatsa muzochitika zambiri.
Chidule chachidule cha nkhani yonse: fio ndi etcd
Kuchita kwa gulu la etcd kumadalira kwambiri kuthamanga kwa malo osungiramo. etcd imatumiza ma metric osiyanasiyana a Prometheus kuti aziwunika momwe ntchito ikuyendera. Mmodzi wa iwo ndi wal_fsync_duration_seconds. Muzolemba za etcd akutikuti kusungirako kumatha kuganiziridwa mwachangu ngati 99th percentile ya metric iyi sidutsa 10 msβ¦
Ngati mukuganiza zokhazikitsa gulu la etcd pamakina a Linux ndipo mukufuna kuyesa ngati ma drive (monga ma SSD) akuthamanga mokwanira, timalimbikitsa kugwiritsa ntchito choyesa chodziwika bwino cha I/O chotchedwa. fio. Ndikokwanira kuyendetsa lamulo lotsatirali (directory test-data iyenera kukhala pagawo lokhazikitsidwa la drive yoyesedwa):
Chifukwa chiyani tinasankha fio ndi momwe taphunzirira momwe tingakhazikitsire
Cholemba ichi chikuchokera kuzochitika zenizeni zomwe tidakumana nazo. Tidali ndi gulu pa Kubernetes v1.13 ndikuwunika pa Prometheus. Ma SSD adagwiritsidwa ntchito ngati yosungirako etcd v3.2.24. Etcd ma metrics adawonetsa kuchedwa kwambiri fdatasync, ngakhale gululo linali lopanda ntchito. Kwa ife, ma metricswa adawoneka ngati okayikitsa kwambiri, ndipo sitinkadziwa chomwe amayimira. Kuphatikiza apo, gululi linali ndi makina owoneka bwino, kotero sikunali kotheka kunena ngati kuchedwako kudachitika chifukwa cha Virtualization kapena SSD ndiyomwe idayambitsa.
Kuphatikiza apo, tidawona kusintha kosiyanasiyana pamakonzedwe a hardware ndi mapulogalamu, kotero tidafunikira njira yowunikira. Zachidziwikire, zitha kukhala zotheka kuthamanga etcd pamasinthidwe aliwonse ndikuyang'ana ma metric ofananira a Prometheus, koma izi zingafune kuyesetsa kwakukulu. Zomwe tinkafunikira zinali njira yosavuta yowunikira masanjidwe enaake. Tinkafuna kuyesa kumvetsetsa kwathu ma metric a Prometheus akuchokera etcd.
Izi zinafuna kuthetsa mavuto awiri:
Choyamba, kodi katundu wa I / O wopangidwa ndi etcd polemba mafayilo a WAL amawoneka bwanji? Ndi mafoni amtundu wanji omwe amagwiritsidwa ntchito? Kodi kukula kwa mabuloko ojambulira ndi chiyani?
Kachiwiri, tinene kuti tili ndi mayankho a mafunso ali pamwambawa. Momwe mungapangirenso katundu wolingana ndi fio? Izi zili choncho fio - chida chosinthika kwambiri chokhala ndi magawo ambiri (izi ndizosavuta kutsimikizira, mwachitsanzo, apa - pafupifupi. transl.).
Ndi chithandizo cha lsof mutha kuwona zolemba zonse zamafayilo zomwe zimagwiritsidwa ntchito ndi ndondomekoyi, komanso mafayilo omwe amawatchula.
Ndi chithandizo cha strace mukhoza kusanthula ndondomeko yomwe ikuyenda kale kapena kuyendetsa ndondomeko ndikuwona. Lamulo likuwonetsa mafoni onse opangidwa ndi njirayi ndipo, mwachisawawa, mbadwa zake. Chotsatiracho ndi chofunikira pamachitidwe omwe akufota, ndipo etcd ndi imodzi mwazinthu zotere.
Chinthu choyamba chimene tinachita chinali kugwiritsa ntchito strace kuti muwone seva ya etcd mu gulu la Kubernetes pomwe inali yopanda ntchito.
Chifukwa chake zidapezeka kuti midadada ya WAL imakhala m'magulu ambiri, kukula kwaunyinji kunali mumitundu ya 2200-2400 byte. Ndiye chifukwa chake lamulo lomwe lili koyambirira kwa nkhaniyi likugwiritsa ntchito mbendera --bs=2300 (bs ndi kukula kwa mabayiti a chipika cholembera chilichonse fio).
Chonde dziwani kuti kukula kwa etcd kulemba midadada kungasiyane kutengera mtundu, kutumiza, mayendedwe, ndi zina. - zimakhudza nthawi fdatasync. Ngati muli ndi vuto lofananalo, santhulani ndi strace etcd njira zanu kuti mupeze zosintha zatsopano.
Kenako, kuti timvetsetse bwino komanso momveka bwino momwe etcd imagwirira ntchito ndi mafayilo amafayilo, timayiyendetsa kuchokera pansi. strace ndi mbendera -ffttT. Izi zidapangitsa kuti zitheke kujambula njira za ana ndikulemba zomwe zatulutsidwa ku fayilo yosiyana. Kuphatikiza apo, zambiri za nthawi yoyambira komanso nthawi ya kuyimba kulikonse kwadongosolo zidapezedwa.
Kupanga ndi fio ntchito yofanana ndi ya etcd, zolemba zazomwe zimagwiritsidwa ntchito zidaphunziridwa ndipo magawo oyenerera ntchito yathu adasankhidwa. Tatsimikizira kuti ma foni olondola amachitidwe ali mkati ndikutsimikizira nthawi yawo poyendetsa fio kuchokera strace (monga momwe zidachitikira etcd).
Chisamaliro chapadera chinaperekedwa pozindikira mtengo wa parameter --size. Zimayimira kuchuluka kwa I / O komwe kumapangidwa ndi fio utility. Kwa ife, ichi ndi chiwerengero chonse cha ma byte olembedwa kwa atolankhani. Zimagwirizana mwachindunji ndi chiwerengero cha mafoni write (ndi fdatasync). Zachindunji bs nambala ya mafoni fdatasync zofanana size / bs.
Popeza tinali ndi chidwi ndi percentile, tinali ndi cholinga chowonetsetsa kuti chiwerengero cha zitsanzo chinali chachikulu mokwanira kuti chikhale chofunikira. Ndipo ndinaganiza zimenezo 10^4 (yomwe ikufanana ndi kukula kwa 22 MB) idzakwanira. Magawo ang'onoang'ono --size adapereka phokoso lodziwika bwino (mwachitsanzo, mafoni fdatasync, zomwe zimatenga nthawi yayitali kuposa nthawi zonse ndipo zimakhudza 99th percentile).
Zili ndi inu
Nkhaniyi ikuwonetsa momwe mungagwiritsire ntchito fio munthu akhoza kuwunika ngati zoulutsira nkhani zomwe zimafunidwa kuti zigwiritsidwe ntchito ndi etcd ndizothamanga mokwanira. Tsopano zili ndi inu! Mutha kuyang'ana makina enieni omwe ali ndi zosungirako za SSD muutumiki Mtambo wa IBM.
PS kuchokera kwa womasulira
Ndi milandu yogwiritsira ntchito okonzeka fio Kwa ntchito zina, onani zolemba kapena mwachindunji ku nkhokwe za polojekiti (pali zambiri za izo kuposa zomwe zatchulidwa muzolemba).