乐趣区

关于后端:018-磁盘-IO-性能监控压测工具sariotopfioiostat

1 sar 命令查看以后磁盘 IO 读写

sar(System Activity Reporter 系统活动状况报告)是 Linux 上最为全面的零碎性能剖析工具之一,能够从多方面对系统的流动进行报告,包含:文件的读写状况、零碎调用的应用状况、磁盘 I /O、CPU 效率、内存应用情况、过程流动等。

(1)sar 工具装置

yum install sysstat

(2)sar 查看磁盘 IO 读写状况

# 查看以后磁盘 IO 读写,每 1 秒显示 1 次 显示 10 次。sar -b 1 10 

  • tps # 每秒向磁盘设施申请数据的次数,包含读、写申请,为 rtps 与 wtps 的和。出于效率思考,每一次 IO 下发后并不是立刻解决申请,而是将申请合并,这里 tps 指申请合并后的申请计数
  • rtps # 每秒向磁盘设施的读申请次数
  • wtps # 每秒向磁盘设施的写申请次数
  • bread # 每秒从磁盘读的 bytes 数量
  • bwrtn # 每秒向磁盘写的 bytes 数量

2 iotop 命令查看磁盘 IO 性能

iotop 命令是一个用来监督磁盘 I/O 应用情况的工具。iotop 是过程级别 IO 监控。

(1)iotop 工具装置

yum install iotop

(2)iotop 的罕用用例

  • iotop -o # 只显示正在产生 IO 的过程或线程;
  • iotop -d 3 -n 5 # 工夫距离 3 秒,输入 5 次;
  • iotop -botq -p 8382 # 输入 pid 为 8382 的过程 IO 状况

(3)iotop 可选参数阐明

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -o, --only            only show processes or threads actually doing I/O
  -b, --batch           non-interactive mode
  -n NUM, --iter=NUM    number of iterations before ending [infinite]
  -d SEC, --delay=SEC   delay between iterations [1 second]
  -p PID, --pid=PID     processes/threads to monitor [all]
  -u USER, --user=USER  users to monitor [all]
  -P, --processes       only show processes, not all threads
  -a, --accumulated     show accumulated I/O instead of bandwidth
  -k, --kilobytes       use kilobytes instead of a human friendly unit
  -t, --time            add a timestamp on each line (implies --batch)
  -q, --quiet           suppress some lines of header (implies --batch)

3 磁盘性能压测工具 fio

(1)fio 工具装置

 yum install fio

(2)IOPS 压测示例

  • (/data/test 这个是压测数据读写目录)

    fio -directory=/data/test -direct=1 -iodepth 10 -thread -rw=randwrite -ioengine=psync -bs=4k -size=2G -numjobs=10 -runtime=180 -group_reporting -name=rand_write

(3)带宽压测

  • (/data/test 这个是压测数据读写目录)

    fio -directory=/data/test -direct=1 -iodepth 10 -thread -rw=randwrite -ioengine=psync -bs=4096k -size=2G -numjobs=10 -runtime=180 -group_reporting -name=rand_write

4 iostat 的罕用用例

iostat 是零碎级别的 IO 监控,而 iotop 是过程级别 IO 监控。

iostat -d -k 1 10          #查看 TPS 和吞吐量信息 (磁盘读写速度单位为 KB)
iostat -d -m 2             #查看 TPS 和吞吐量信息 (磁盘读写速度单位为 MB)
iostat -d -x -k 1 10       #查看设施使用率(%util)、响应工夫(await)iostat -c 1 10             #查看 cpu 状态 

5 简略验证磁盘是否故障

在指标磁盘上 touch 一个空文件看看,是否磁盘故障导致无奈写入。

6 查看文件属于哪个盘

查看文件属于哪个盘

df /data/

7 附录

sar 应用:https://www.cnblogs.com/zcx-python/p/9001630.html
iostat 应用:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.html
IO 测试工具之 fio 详解:https://www.cnblogs.com/raykuan/p/6914748.html

8 小结

磁盘 IO 性能监控 / 压测工具罕用的有 sar、iotop、fio、iostat。这篇文章只是简略记录波及相干命令的应用,不做过多具体的深刻应用实际阐明,只是起到一个简略的抛砖引玉。

「不甩锅的码农」原创,转载请注明起源,未经受权禁止商业用途!同名 GZH 请关注!

退出移动版