一、磁盘性能主要经常会看磁盘i/o使用率、iops、吞吐量、i/o响应时间等,常用命令sar、iostat、dstat :
1、常用命令:iostat -xm 1 ,单位MB,表示每1秒刷新一次

----------------- avg-cpu ----------------
%user:用户CPU占用百分比。
%nice:NICE模式用户CPU占用百分比。
%system:系统CPU占用百分比。
%iowait:等待I/O的CPU占用百分比。
%steal:虚拟CPU相关。
%idle:CPU空闲时间百分比。
备注:
如果%iowait的值过高,表示硬盘存在I/O瓶颈,意味着磁盘缓慢或负载过大。
如果%idle值高,表示CPU较空闲;
如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量;
如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。
----------------- Device -----------------
rrqm/s:每秒合并的读请求。
wrqm/s:每秒合并的写请求。
r/s:每秒发送到设备的读请求。
w/s:每秒发送到设备的写请求。
(rkB/s, rMB/s):每秒读的KB或MB数。
(wkB/s, wMB/s):每秒读的KB或MB数。
avgrq-sz:请求的扇区数。
avgqu-sz:在设备队列中等待的请求数。
await:平均每次IO请求处理的毫秒数,包括处理时间和等待时间。
r_await:平均每次读请求处理的毫秒数。
w_await:平均每次写请求处理的毫秒数。
svctm:平均每次IO请求处理的毫秒数,不包括排队等待时间。
%util:一秒中有百分之多少的时间用于I/O操作,即被I/O消耗的CPU百分比。
备注:
%util:如果%util接近100%,说明磁盘产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈,长期下去,会影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。(如果是多磁盘,即使%util是100%,因为磁盘的并发能力,磁盘使用未必到了瓶颈);
await:一般系统IO响应时间应该低于5ms, 如果大于10ms就比较大,await 值的大小一般取决与 svctm 的值和 I/O 队列长度以 及I/O 请求模式,如果 svctm 的值与 await 很接近,表示几乎没有 I/O 等待,磁盘性能很好,如果 await 的值远高于 svctm 的值,则表示 I/O 队列等待太长,系统上运行的应用程序将变慢,如果响应时间超过了用户可以容许的范围,此时可以通过更换更快的硬盘、调整内核 elevator 算法,优化应用,或者升级 CPU来解决
svctm:正常情况下 svctm 应该是小于 await 值的,而 svctm 的大小和磁盘性能有关,CPU 、内存的负荷也会对 svctm 值造成影响,过多的请求也会间接的导致 svctm 值的增加。
2、iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
3、iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
4、iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态
















