参考自:自学it网,http://www.zixue.it/。
(1)使用iostat命令。
[test@localhost /]$ iostat -d 2 3 Linux 3.10.0-862.9.1.el7.x86_64 (localhost.localdomain) 2018年10月11日 _x86_64_ (1 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 1.71 45.92 41.60 274356 248524 dm-0 1.46 40.99 41.25 244915 246436 dm-1 0.02 0.37 0.00 2228 0 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.00 0.00 0.00 0 0 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.00 0.00 0.00 0 0 dm-0 0.00 0.00 0.00 0 0 dm-1 0.00 0.00 0.00 0 0
解释:kB_read/s 每秒读取数据块数kB_wrtn/s 每秒写入的数据块数KB_read 读取的所有数据块数kB_wrtn 写入的所有数据块数如果kB_wrtn/s的值很大,表示写操作频繁,需要考虑优化磁盘或者优化程序。如果kB_read/s的值很大,表示读操作频繁,可以将读取的数据放入内存中。
(2)使用sar评估磁盘性能
[test@localhost /]$ sar -d 2 2 Linux 3.10.0-862.9.1.el7.x86_64 (localhost.localdomain) 2018年10月11日 _x86_64_ (1 CPU) 16时38分09秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 16时38分11秒 dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时38分11秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时38分11秒 dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时38分11秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 16时38分13秒 dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时38分13秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时38分13秒 dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 平均时间: dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
解释:await 表示平均每次设备I/O操作的等待时间(以毫秒为单位)。svctm 表示平均每次设备I/O操作的服务时间(以毫秒为单位)。%util 表示一秒钟有百分之几的时间用于I/O操作。一般有如下评判标准:svctm应该是小于await值的,而svctm的大小和磁盘性能有关,cpu、内存的负荷也会对svctm 的值造成影响,过多的请求也会间接的导致svctm值的增加。await值的大小一般取决于svctm的值和I/O队列长度以及I/O请求模式, 如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好。 如果await的值远大于svctm的值,则表示I/O队列等待太长,此时可以 通过更换更快的磁盘来解决问题。%util项的值也是衡量磁盘I/O的重要指标,如果%util接近100%,表示磁盘产生 的I/O请求太多,I/O系统已经满负荷在工作,该磁盘可能存在瓶颈。 长期下去,势必影响系统的性能,可以通过优化程序或通过更换更高、 更快的磁盘来解决此问题。
转载于:https://www.cnblogs.com/gyfluck/p/9773458.html
