服务器io读写较高怎么办?

  • Post author:
  • Post category:其他


服务器io过高可能会导致等待时间较长,影响使用体验,那我们应该如何去检查服务器的读写性能呢?


一、通过 top 命令查看wa指标。

如果服务器的wa很高,那么说明CPU等待磁盘写入完成的时间很长,持续这样的状态可能会导致CPU资源耗尽。



top


op – 17:29:08 up 10 days, 19:20,  1 user,  load average: 14.31, 9.34, 9.08

Tasks: 351 total,   1 running, 350 sleeping,   0 stopped,   0 zombie

%Cpu(s):  6.9 us,  7.7 sy,  0.3 ni,  2.9 id,

81.7 wa

,  0.0 hi,  0.5 si,  0.0 st

KiB Mem :  8010196 total,   735612 free,  5450964 used,  1823620 buff/cache

KiB Swap:        0 total,        0 free,        0 used.  1636516 avail Mem



二、通过iostat 命令查看磁盘的写入和读取情况


iostat -d sda 2

Linux 3.10.0-327.el7.x86_64 (szfyruat01)        07/11/2018      _x86_64_        (8 CPU)


Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda               0.98        10.34         9.89  237685197  227298479



iostat

命令的常见用法:


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状态


三、通过 iotop 命令查看高 I/O对应的进程


iotop [OPTIONS]

描述iotop根据Linux内核(需要2.6.20及以上)来监测I/O,并且能显示当前进程/线程的I/O使用率。

FileReadWrite 应用:三个线程,每个线程都在每秒36M,42M,75M的速度读写io



版权声明:本文为Nicolege678原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。