Я заметил кое-что, что беспокоит iostat, что я не могу объяснить - похоже, что iostat может быть не совсем надежным (?)
Я пытаюсь устранить плохую производительность MySQL, и одно из самых очевидных мест для поиска — это диски, поэтому:
ip-10-14-4-14 корень: iostat -x nvme2n1
Linux 5.4.0-1029-aws (ip-10-14-4-14) 27.10.21 _x86_64_ (8 ЦП)
avg-cpu: %user %nice %system %iowait %steal %idle
1,19 0,00 0,47 0,84 0,00 97,49
Устройство r/s rkB/s rrqm/s %rrqm r_await rawq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await Darq-sz aqu-sz % использовать
nvme2n1 4,93 160,70 0,26 4,95 0,53 32,60 216,03 6863,39 57,07 20,90 0,78 31,77 0,00 0,00 0,00 0,00 0,00 0,00 0,00 16,50
Это выглядит не так уж плохо - %util
составляет всего 16,5; Однако:
ip-10-14-4-14 корень: iostat -y 1 -x nvme2n1
Linux 5.4.0-1029-aws (ip-10-14-4-14) 27.10.21 _x86_64_ (8 ЦП)
avg-cpu: %user %nice %system %iowait %steal %idle
4,65 0,00 1,26 1,13 0,00 92,96
Устройство r/s rkB/s rrqm/s %rrqm r_await rawq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await Darq-sz aqu-sz % использовать
nvme2n1 10,00 160,00 0,00 0,00 0,40 16,00 2058,00 40260,00 326,00 13,67 0,65 19,56 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Та же система, почти в то же время, но сейчас %util
равно 100. Я даже пытался запустить первую версию в цикле, а затем %util
остается низким:
для i в $(seq 1 50); сделать iostat -x nvme2n1; сделано
Linux 5.4.0-1029-aws (ip-10-14-4-14) 27.10.21 _x86_64_ (8 ЦП)
avg-cpu: %user %nice %system %iowait %steal %idle
1,19 0,00 0,48 0,84 0,00 97,49
Устройство r/s rkB/s rrqm/s %rrqm r_await rawq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await Darq-sz aqu-sz % использовать
nvme2n1 4,93 160,70 0,26 4,95 0,53 32,59 216,32 6868,15 57,10 20,88 0,78 31,75 0,00 0,00 0,00 0,00 0,00 0,00 0,00 16,51
...
Что происходит? Я просто неправильно использую инструмент?