Here are some commands to monitor and identify Disk I/O related server loads.
iostat give stats about disk i/o usage. Some of the important values are
* %iowait = if this value is higher, your server is waiting on IO. This can be due to high disk operation on your server or disk is faulty.
* %idle = it is better to have higher value. If your disk usage is higher, the value goes down.
# iostat Linux 3.10.0-514.26.2.el7.x86_64 (server1.hostonnet.com) Monday 17 July 2017 _x86_64_ (8 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.53 0.00 0.11 0.51 0.00 98.85 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 20.62 422.52 102.49 12530308 3039304 sdb 0.00 0.03 0.00 914 0 #
Here we have 2 disks in the server. Only one of them is n use. Since Disk I/O is mainly bottle neck most servers face, it is better to use both disk, this way I/O load get distributed between 2 disks. For this, you may move MySQL data folder to 2nd disk.