Labākie rīki diska I/O veiktspējas pārraudzībai operētājsistēmā Linux


Īsumā: šajā rokasgrāmatā mēs apspriedīsim labākos rīkus diska I/O darbības (veiktspējas) uzraudzībai un atkļūdošanai Linux serveros.

Galvenais veiktspējas rādītājs, kas jāuzrauga Linux serverī, ir diska I/O (ievades/izvades) darbība, kas var būtiski ietekmēt vairākus Linux servera aspektus, jo īpaši failu vai datu (īpaši) saglabāšanas uz diska vai izguves ātrumu no tā. datu bāzu serveros). Tam ir pulsācijas ietekme uz lietojumprogrammu un pakalpojumu veiktspēju.

1. iostat — parāda ierīces ievades un izvades statistiku

sistēmas uzraudzības utilītas sysstat pakotnē, kas ir plaši izmantota utilīta, kas paredzēta CPU statistikas un I/O statistikas ziņošanai blokierīcēm un nodalījumiem.

Lai savā Linux serverī izmantotu iostat, savā Linux sistēmā jāinstalē sysstat pakotne, palaižot Linux izplatīšanai piemēroto komandu.

$ 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]    

Lai parādītu vienkāršu ierīces izmantošanas pārskatu, palaidiet iostat ar komandrindas opciju -d. Parasti pirmajā pārskatā ir sniegta statistika par laiku kopš sistēmas palaišanas (sāknēšanas laiks), un katrs nākamais pārskats attiecas uz laiku kopš iepriekšējā pārskata.

Izmantojiet -x, lai iegūtu paplašinātu statistikas pārskatu, un karodziņu -t, lai iespējotu laiku katram pārskatam. Turklāt, ja vēlaties atskaites izvadē izslēgt ierīces bez jebkādām darbībām, pievienojiet karodziņu -z:

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

Lai statistiku parādītu kilobaitos sekundē, nevis blokos sekundē, pievienojiet karodziņu -k vai izmantojiet karodziņu -m, lai parādītu statistiku megabaitos sekundē.

# iostat -d -k
OR
# iostat -d -m

iostat var arī parādīt nepārtrauktus ierīces pārskatus ar x sekunžu intervālu. Piemēram, šī komanda parāda pārskatus ar divu sekunžu intervālu:

# iostat -d 2

Saistībā ar iepriekšējo komandu varat parādīt n skaitu atskaišu ar x sekunžu intervālu. Šī komanda parādīs 10 pārskatus ar divu sekunžu intervālu. Varat arī saglabāt pārskatu failā vēlākai analīzei.

# iostat -d 2 10
OR
# iostat -d 2 10 > disk_io_report.txt &

Lai iegūtu papildinformāciju par pārskatu kolonnām, izlasiet iostat rokasgrāmatas lapu:

# man iostat

2. sar — Rādīt Linux sistēmas darbību

sar ir vēl viena noderīga utilīta, kas tiek piegādāta kopā ar sysstat pakotni, kas paredzēta sistēmas darbības informācijas apkopošanai, ziņošanai vai saglabāšanai. Pirms sākat to lietot, tas ir jāiestata šādi.

Pirmkārt, iespējojiet to datu apkopošanai failā /etc/default/sysstat.

# vi /etc/default/sysstat

Atrodiet šo rindiņu un mainiet vērtību uz “true”, kā parādīts attēlā.

ENABLED="true"

Tālāk jums ir jāsamazina datu vākšanas intervāls, kas definēts sysstat cron darbos. Pēc noklusējuma tas ir iestatīts uz ik pēc 10 minūtēm, to var samazināt līdz ik pēc 2 minūtēm.

To var izdarīt failā /etc/cron.d/sysstat:

# vi /etc/cron.d/sysstat

Saglabājiet failu un aizveriet to.

Visbeidzot, iespējojiet un palaidiet sysstat pakalpojumu, izmantojot šo systemctl komandu:

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

Pēc tam pagaidiet 2 minūtes, lai sāktu skatīt sar ziņojumus. Izmantojiet komandu sar un komandrindas opciju -b, lai ziņotu par I/O un pārsūtīšanas ātruma statistiku, un -d, lai ziņotu par darbību katrai blokierīcei, kā parādīts attēlā.

# sar -d -b

3. iotop — pārrauga Linux diska I/O lietojumu

Līdzīgi kā iotop ir vienkārša utilīta, kas ļauj pārraudzīt diska I/O darbību un lietojumu katram procesam.

Varat to instalēt savā Linux serverī šādi (neaizmirstiet palaist atbilstošo komandu savam Linux izplatīšanai):

$ 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]    

Lai pārraudzītu katra procesa I/O darbību, varat palaist iotop bez argumentiem, kā norādīts tālāk. Pēc noklusējuma aizkave starp iterācijām ir 1 sekunde. To var mainīt, izmantojot karogu -d.

# iotop
OR
# iotop -d 2

iotop pēc noklusējuma parādīs visus procesa pavedienus. Lai mainītu šo darbību tā, lai tajā tiktu rādīti tikai procesi, izmantojiet komandrindas opciju -P.

# iotop -P

Turklāt, izmantojot opciju -a, varat norādīt tai parādīt uzkrāto I/O, nevis joslas platumu. Šajā režīmā iotop parāda I/O procesu skaitu, kas veikti kopš iotop izsaukšanas.

# iotop -P -a

Tas ir viss, kas mums bija priekš jums! Mēs vēlētos uzzināt jūsu domas par šo rokasgrāmatu vai iepriekš minētajiem rīkiem. Atstājiet komentāru, izmantojot zemāk esošo atsauksmju veidlapu.

Varat mūs informēt arī par rīkiem, kuru, jūsuprāt, trūkst šajā sarakstā, taču tie ir pelnījuši, lai tie tiktu parādīti šeit.