There is a performance problem with the Linux system. In general, we can check the initial location problem by Top.iostat,vmstat and other commands. Among them, Iostat can provide us with rich IO status data.
$ iostat-x-1
AVG-CPU:%user%nice%system%iowait%steal%idle
10.43 0.00 1.51 1.51 0.00 86.56
device:rrqm/s wrqm/s r/s w/s rkb/s wkb/s avgrq-sz avgqu-sz await r_await w_await SVCTM%util
SDA 4477.00 9.00 951.00 13.00 24288.00 2492.00 55.56 0.21 0.22 0.21 0.92 0.17 16.00
< Span style= "font-size:11pt" >%user : show the percentage of cpu utilization that occurred while executing at the user Level (application).
%nice : Show The percentage of CPU utilization that occurred While executing is at the user level with a nice priority.
%system:Show The percentage of CPU utilization that occurredWhile executing at the system level (kernel).
%iowait: show the percentage of time that the CPU or CPUs were &NBSP;&NBSP; idle during which the System had an outstanding disk I/ O request.
%steal : show The percentage of time spent in involuntary wait by the virtual CPU or CPUs while The hypervisor was Servic ing another virtual processor.
%idle : show the percentage of time that the CPU or CPUs were &NBSP; idle and the system did not An outstanding disk I/O &NBSP;&NBSP; &NBSP; request.
rrqm/s: The number of read operations per second for the merge. Delta (rmerge)/swrqm/s: The number of write operations per second for the merge.
Delta (wmerge)/s
r/s: Number of Read I/O devices completed per second.
Delta (RIO)/s
w/s: Number of write i/0 devices completed per second. Delta (WIO)/srsec/s: Number of Read sectors per second. Delta (rsect)/swsec/s: Number of Write sectors per second. Delta (wsect)/srkb/s: Reads K bytes per second. Is half the rsec/s, since the size of each sector is 512 byteswkb/s: Writes K bytes per second. It's half the wsec/s.Avgrq-sz: The average data size (sector) per device I/O operation. Delta (rsect+wsect)/delta (rio+wio)Avgqu-sz: Average I/O queue length. Delta (AVEQ)/s/1000 (due to aveq units in milliseconds)await: The average wait time (in milliseconds) for each device I/O operation. Delta (ruse+wuse)/delta (rio+wio)SVCTM: The average service time (in milliseconds) per device I/O operation. Delta (use)/delta (rio+wio)%util: How much time in a second is spent on I/O operations, or how many times in a second I/O queues are non-empty. Delta (USR)/s/1000 (in milliseconds due to use)
Assuming that%util is close to 100%, indicating too many I/O requests, the I/O system is fully loaded, the disk may have a bottleneck, and generally%util greater than 70%,i/o pressure.
SVCTM generally less than await (because the waiting time for waiting requests is calculated repeatedly), the size of SVCTM is generally related to disk performance, cpu/memory load will have an impact on it, too many requests willindirectly leads to the addition of SVCTM.
The size of an await typically depends on the service time (SVCTM) and the length of the I/O queue and the emit mode of the I/O request. Suppose the SVCTM is closer to await, stating that I/O has almost no waiting time, and that the I/O queue is too long if the await is much larger than SVCTM. The response time of the application is slower, assuming that the response time is more than the user can tolerate, it is possible to consider replacing the faster disk, tuning the kernel elevator algorithm, optimizing the application, or upgrading the CPU
the queue Length (AVCQU-SZ) can also be used as an indicator for measuring the system I/O load, but because Avcqu-sz is averaged over the unit time, it does not reflect instantaneous I/O flooding.
Iostat-x 1 Viewing the IO load on the disk