设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

老牌运维教你如何快速分析Linux服务器的性能问题(5)

发布时间:2019-09-29 12:54 所属栏目:21 来源:互联网蚂蚁哥
导读:await值的大小一般取决与svctm的值和I/O队列长度以及I/O请求模式,如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序

await值的大小一般取决与svctm的值和I/O队列长度以及I/O请求模式,如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢,此时可以通过更换更快的硬盘来解决问题。

%util项的值也是衡量磁盘I/O的一个重要指标,如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。

3.2 iostat –d命令组合

通过“iostat –d”命令组合也可以查看系统磁盘的使用状况,请看如下输出:

  1. [root@webserver ~]# iostat -d 2 3 
  2. inux 2.6.9-42.ELsmp (webserver) 12/01/2008 _i686_ (8 CPU) 
  3. Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn 
  4. da 1.87 2.58 114.12 6479462 286537372 
  5. Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn 
  6. da 0.00 0.00 0.00 0 0 
  7. Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn 
  8. da 1.00 0.00 12.00 0 24 

对上面每项的输出解释如下:

  • Blk_read/s表示每秒读取的数据块数。
  • Blk_wrtn/s表示每秒写入的数据块数。
  • Blk_read表示读取的所有块数
  • Blk_wrtn表示写入的所有块数。

这里需要注意的一点是:上面输出的第一项是系统从启动以来到统计时的所有传输信息,从第二次输出的数据才代表在检测的时间段内系统的传输值。

可以通过Blk_read/s和Blk_wrtn/s的值对磁盘的读写性能有一个基本的了解,如果Blk_wrtn/s值很大,表示磁盘的写操作很频繁,可以考虑优化磁盘或者优化程序,如果Blk_read/s值很大,表示磁盘直接读取操作很多,可以将读取的数据放入内存中进行操作。对于这两个选项的值没有一个固定的大小,根据系统应用的不同,会有不同的值,但是有一个规则还是可以遵循的:长期的、超大的数据读写,肯定是不正常的,这种情况一定会影响系统性能。

“iostat –x”组合还提供了对每个磁盘的单独统计,如果不指定磁盘,默认是对所有磁盘进行统计,请看下面的一个输出:

  1. [root@webserver ~]# iostat -x /dev/sda 2 3 
  2. Linux 2.6.9-42.ELsmp (webserver) 12/01/2008 _i686_ (8 CPU) 
  3.     avg-cpu: %user %nice %system %iowait %steal %idle 
  4.  2.45 0.00 0.30 0.24 0.00 97.03 
  5.     Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util 
  6. sda 0.01 12.48 0.10 1.78 2.58 114.03 62.33 0.07 38.39 1.30 0.24 
  7.     avg-cpu: %user %nice %system %iowait %steal %idle 
  8.  3.97 0.00 1.83 8.19 0.00 86.14 
  9.     Device:rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util 
  10. sda 0.00 195.00 0.00 18.00 0.00 1704.00 94.67 0.04 2.50 0.11 0.20 
  11.     avg-cpu: %user %nice %system %iowait %steal %idle 
  12.  4.04 0.00 1.83 8.01 0.00 86.18 
  13.     Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util 
  14. sda 0.00 4.50 0.00 7.00 0.00 92.00 13.14 0.01 0.79 0.14 0.10 

这个输出基本与“sar –d”相同,需要说明的几个选项的含义为:

  • rrqm/s表示每秒进行merged的读操作数目。
  • wrqm/s表示每秒进行 merge 的写操作数目。
  • r/s表示每秒完成读I/O设备的次数。
  • w/s表示每秒完成写I/O设备的次数。
  • rsec/s表示每秒读取的扇区数。
  • wsec/s表示每秒写入的扇区数。

3.3 vmstat –d组合

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读