3 najbolja alata za nadzor I/O performansi diska u Linuxu


Ukratko: U ovom ćemo vodiču raspravljati o najboljim alatima za nadzor i otklanjanje pogrešaka I/O aktivnosti diska (performanse) na Linux poslužiteljima.

Ključna metrika performansi za praćenje na Linux poslužitelju je I/O (ulaz/izlaz) aktivnost diska, koja može značajno utjecati na nekoliko aspekata Linux poslužitelja, posebno na brzinu spremanja na disk ili dohvaćanja s diska, datoteka ili podataka (osobito na poslužiteljima baze podataka). To ima efekt valova na performanse aplikacija i usluga.

1. iostat – Prikazuje statistiku ulaza i izlaza uređaja

iosat je jedan od mnogih uslužnih programa za nadzor sustava baziranih na terminalima u paketu sysstat, koji je široko korišteni uslužni program dizajniran za izvješćivanje CPU statistike i I/O statistike za blok uređaje i particije.

Da biste koristili iostat na svom Linux poslužitelju, trebate instalirati paket sysstat na svoj Linux sustav pokretanjem odgovarajuće naredbe za vašu distribuciju Linuxa.

sudo apt install sysstat          [On Debian, Ubuntu and Mint]
sudo yum install sysstat          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a app-admin/sysstat  [On Gentoo Linux]
sudo apk add sysstat              [On Alpine Linux]
sudo pacman -S sysstat            [On Arch Linux]
sudo zypper install sysstat       [On OpenSUSE]    

Za prikaz jednostavnog izvješća o korištenju uređaja, pokrenite iostat s opcijom naredbenog retka -d. Obično prvo izvješće daje statistiku o vremenu od pokretanja sustava (vrijeme podizanja sustava), a svako sljedeće izvješće odnosi se na vrijeme od prethodnog izvješća.

Koristite -x za prošireno statističko izvješće i oznaku -t da omogućite vrijeme za svako izvješće. Osim toga, ako želite eliminirati uređaje bez ikakve aktivnosti u izlazu izvješća, dodajte oznaku -z:

iostat -d -t 
OR
iostat -d -x -t 

Za prikaz statistike u kilobajtima po sekundi za razliku od blokova po sekundi dodajte oznaku -k ili koristite oznaku -m za prikaz statistike u megabajtima po sekundi.

iostat -d -k
OR
iostat -d -m

iostat također može prikazati kontinuirana izvješća uređaja u intervalima od x sekundi. Na primjer, sljedeća naredba prikazuje izvješća u intervalima od dvije sekunde:

iostat -d 2

U vezi s prethodnom naredbom, možete prikazati n broj izvješća u intervalima od x sekundi. Sljedeća naredba će prikazati 10 izvješća u intervalima od dvije sekunde.

iostat -d 2 10

Alternativno, možete spremiti izvješće u datoteku za kasniju analizu.

iostat -d 2 10 > disk_io_report.txt &

Za više informacija o stupcima izvješća, pročitajte stranicu priručnika iostat:

man iostat

2. sar – Prikaži aktivnost Linux sustava

sar je još jedan koristan uslužni program koji se isporučuje s paketom sysstat, namijenjen prikupljanju, izvješćivanju ili spremanju informacija o aktivnostima sustava. Prije nego što ga počnete koristiti, morate ga postaviti na sljedeći način.

Najprije mu omogućite prikupljanje podataka u datoteci /etc/default/sysstat.

vi /etc/default/sysstat

Potražite sljedeći redak i promijenite vrijednost u “true” kao što je prikazano.

ENABLED="true"

Zatim trebate smanjiti interval prikupljanja podataka definiran u sysstat cron poslovima. Prema zadanim postavkama postavljeno je na svakih 10 minuta, možete ga smanjiti na svake 2 minute.

To možete učiniti u datoteci /etc/cron.d/sysstat:

vi /etc/cron.d/sysstat

Spremite datoteku i zatvorite je.

Na kraju omogućite i pokrenite uslugu sysstat pomoću sljedeće systemctl naredbe:

systemctl enable --now sysstat.service
systemctl enable sysstat.service

Zatim pričekajte 2 minute da počnete pregledavati sar izvješća. Koristite naredbu sar i opciju naredbenog retka -b za izvješćivanje statistike o I/O i brzini prijenosa i -d za izvješćivanje o aktivnosti za svaki blok uređaj kao što je prikazano.

sar -d -b

3. iotop – Pratite korištenje I/O diska Linuxa

Slično najboljem alatu za nadzor u smislu dizajna, iotop je jednostavan uslužni program koji vam omogućuje praćenje I/O aktivnosti diska i korištenja na bazi procesa.

Možete ga instalirati na svoj Linux poslužitelj na sljedeći način (ne zaboravite pokrenuti odgovarajuću naredbu za svoju distribuciju Linuxa):

sudo apt install iotop             [On Debian, Ubuntu and Mint]
sudo yum install iotop             [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-processs/iotop  [On Gentoo Linux]
sudo apk add iotop                 [On Alpine Linux]
sudo pacman -S iotop               [On Arch Linux]
sudo zypper install iotop          [On OpenSUSE]    

Za praćenje I/O aktivnosti po procesu, možete pokrenuti iotop bez ikakvih argumenata kako slijedi. Prema zadanim postavkama, odgoda između ponavljanja je 1 sekunda. Ovo možete promijeniti pomoću oznake -d.

iotop
OR
iotop -d 2

iotop će prema zadanim postavkama prikazati sve niti procesa. Da biste promijenili ovo ponašanje tako da prikazuje samo procese, upotrijebite opciju -P naredbenog retka.

iotop -P

Također, koristeći opciju -a, možete ga uputiti da prikazuje akumulirane I/O umjesto prikazivanja propusnosti. U ovom načinu rada, iotop prikazuje količinu I/O procesa izvedenih otkad je iotop pozvan.

iotop -P -a

To je sve što smo imali za vas! Željeli bismo znati vaše mišljenje o ovom vodiču ili gore navedenim alatima. Ostavite komentar putem obrasca za povratne informacije u nastavku.

Također nas možete obavijestiti o alatima za koje mislite da nedostaju na ovom popisu, ali zaslužuju da se ovdje pojave.