Linux性能优化实战学习笔记:第二十五讲

一、磁盘性能指标

1、使用率

2、饱和度

3、IOPS

4、吞吐量

5、响应时间

6、性能测试工具

二、磁盘I/O观测

1、每块磁盘的使用率(指标实际上来自/proc/diskstats)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@luoahong ~]# iostat -d -x 1
Linux 5.1.0-1.el7.elrepo.x86_64 (luoahong)  05/18/2019  _x86_64_    (2 CPU)
 
Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
sda           3992.17 770824.35     4.35   0.11    1.17   193.08    0.87      3.48     0.00   0.00    6.00     4.00    0.00      0.00     0.00   0.00    0.00     0.00    2.91 110.35
 
Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
sda           3253.46 883780.88     2.76   0.08    1.54   271.64    0.46      1.84     0.00   0.00    1.00     4.00    0.00      0.00     0.00   0.00    0.00     0.00    3.60 105.71
 
Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
sda           6212.93 1610431.47     5.17   0.08    1.78   259.21    0.86      3.45     0.00   0.00    0.00     4.00    0.00      0.00     0.00   0.00    0.00     0.00    8.43 198.19
 
Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
sda            908.30 193127.80     3.25   0.36    1.98   212.62    0.36      1.44     0.00   0.00    1.00     4.00    0.00      0.00     0.00   0.00    0.00     0.00    1.39  25.45
 
Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
sda           3778.63 972369.23     6.84   0.18    1.59   257.33    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    4.42 119.83
 
Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
sda           1465.48 361423.81     4.76   0.32    1.73   246.63    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    1.92  48.21
 
Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
sda           5795.08 1191006.97     4.92   0.08    1.12   205.52    1.64      6.56     0.00   0.00    2.50     4.00    0.00      0.00     0.00   0.00    0.00     0.00    3.91 152.95

2、iowat指标图解

3、需要特别注意指标

三、进程I/O观测

 1、pidstat 查看进程I/O情况

1
2
3
4
5
6
7
[root@luoahong ~]# pidstat -d 1
Linux 5.1.0-1.el7.elrepo.x86_64 (luoahong)  05/18/2019  _x86_64_    (2 CPU)
 
10:37:42 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
10:37:43 AM     0      6834    170.30      0.00      0.00       0  master
10:37:43 AM    89      6835    269.31      0.00      0.00       0  pickup
10:37:43 AM    89      6836    419.80      0.00      0.00       0  qmgr

2、pidstat -d 1图解

 

3、iotop按照io大小对进程排序,然后找到I/o较大的那些进程

1
2
3
4
5
iotop
Total DISK READ :       0.00 B/s | Total DISK WRITE :       7.85 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
15055 be/3 root        0.00 B/s    7.85 K/s  0.00 %  0.00 % systemd-journald

 4、iotop命令详解

 

posted @   活的潇洒80  阅读(1178)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示