Samsung840プロディスクを使用するデータベースサーバーがあります。ウェブサイトでのアクティビティが少ない場合でも、負荷は常に通常よりも高くなります。そのため、ディスクが摩耗しているのではないかと思います。しかし、ディスクI/Oがボトルネックであることを確認するにはどうすればよいですか?
関連する可能性のあるスナップショットを次に示します。
top - 03:02:11 up 766 days, 20:45, 1 user, load average: 7.42, 6.89, 6.72
Tasks: 325 total, 1 running, 321 sleeping, 3 stopped, 0 zombie
%Cpu(s): 17.3 us, 0.4 sy, 0.0 ni, 82.1 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem: 13227468+total, 27130284 used, 10514440+free, 94308 buffers
KiB Swap: 3906556 total, 9136 used, 3897420 free. 3833216 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21764 mysql 20 0 27.058g 0.021t 12164 S 576.0 17.2 17369,44 mysqld
574 root 20 0 0 0 0 S 0.3 0.0 280:00.66 jbd2/sda1-8
5585 root 20 0 0 0 0 S 0.3 0.0 0:08.04 kworker/18:0
1 root 20 0 28692 4540 2964 S 0.0 0.0 42:51.98 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.50 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 894:44.38 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 21:07.91 kworker/u64:0
8 root 20 0 0 0 0 S 0.0 0.0 2510:32 rcu_sched
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00
iotop出力:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21764 mysql 20 0 27.058g 0.021t 12164 S 576.0 17.2 17369,44 mysqld
574 root 20 0 0 0 0 S 0.3 0.0 280:00.66 jbd2/sda1-8
5585 root 20 0 0 0 0 S 0.3 0.0 0:08.04 kworker/18:0
1 root 20 0 28692 4540 2964 S 0.0 0.0 42:51.98 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.50 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 894:44.38 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 21:07.91 kworker/u64:0
8 root 20 0 0 0 0 S 0.0 0.0 2510:32 rcu_sched
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
10 root rt 0 0 0 0 S 0.0 0.0 5:28.52 migration/0
11 root rt 0 0 0 0 S 0.0 0.0 3:15.12 watchdog/0
12 root rt 0 0 0 0 S 0.0 0.0 3:27.27 watchdog/1
13 root rt 0 0 0 0 S 0.0 0.0 3:19.37 migration/1
14 root 20 0 0 0 0 S 0.0 0.0 190:10.26 ksoftirqd/1
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
17 root rt 0 0 0 0 S 0.0 0.0 3:19.65 watchdog/2
18 root rt 0 0 0 0 S 0.0 0.0 2:52.44 migration/2
19 root 20 0 0 0 0 S 0.0 0.0 194:18.02 ksoftirqd/2
21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/2:0H
22 root rt 0 0 0 0 S 0.0 0.0 3:21.4
iostat -m(データベースはsdaにあり、Linuxファイルシステムはsdbにあります)
Linux 3.16.0-4-AMD64 (back) 03/27/20 _x86_64_ (32 CPU)
avg-cpu: %user %Nice %system %iowait %steal %idle
6.76 0.00 0.38 0.07 0.00 92.79
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdd 0.03 0.00 0.01 43327 384521
sdc 0.08 0.00 0.01 166547 748630
sdb 0.37 0.00 0.02 78269 1076710
sda 8.46 0.00 0.11 54407 7463246
上記のすべては、CPUがボトルネックであり、SSDではないことを意味します。最もわかりやすいのは、576%のCPUです。これは、5.76CPUコアが消費されていることを意味します。
問題はMySQLに関連しているようです-おそらく競合状態または複雑なクエリ、破損したテーブルまたは不適切なインデックス作成ですか?
ディスクに問題があった場合、CPUが低く、IOWaitが高くなると予想しましたが、IOWaitは0.07です。