千家信息网

用于资源分析的USE方法是什么?

发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,用于资源分析的USE方法对于每种资源,检查:1、 Utilization 使用率2、 Saturation 饱和度3、 Errors 错误Linux 60秒分析这个内容来自性能分析大神和Netflix
千家信息网最后更新 2025年02月13日用于资源分析的USE方法是什么?

用于资源分析的USE方法

对于每种资源,检查:

1、 Utilization 使用率

2、 Saturation 饱和度

3、 Errors 错误



Linux 60秒分析

这个内容来自性能分析大神和Netflix性能工程团队

1、 uptime

2、 dmesg | tail

3、 vmstat 1

4、 mpstat -P ALL 1

5、 pidstat 1

6、 iostat -xz 1

7、 free -m

8、 sar -n DEV 1

9、 sar -n TCP,ETCP 1

10、 top


uptime

这是查看平均负载的快速方法,该平均负载指示要运行的任务(进程)的数量。在Linux系统上,这些数字包括要在CPU上运行的进程以及在不可中断I / O(通常是磁盘I / O)中阻塞的进程。这给出了资源负载(或需求)的高级概念,然后可以使用其他工具进一步探索。

首次响应问题时,可以检查平均负载,以查看问题是否仍然存在。在容错环境中,遇到性能问题的服务器可能会在您登录查看时自动从服务中删除。15分钟的平均负载过高,而1分钟的平均负载过低,则表明您登录得太迟而无法发现问题。


dmesg | tail

 [1880957.563150] perl invoked oom-killer: gfp_mask=0x280da, order=0, oom_score_adj=0
[...]
[1880957.563400] Out of memory: Kill process 18694 (perl) score 246 or sacrifice child
[1880957.563408] Killed process 18694 (perl) total-vm:1972392kB, anon-rss:1953348kB,
file-rss:0kB
[2320864.954447] TCP: Possible SYN flooding on port 7001. Dropping request.  Check
SNMP counters.


这将显示过去的10条系统消息(如果有的话),查找可能导致性能问题的错误。

上面的示例包括OOM killerTCP SYN flooding造成的连接丢弃情况。TCP消息甚至指向您进行下一个分析区域:SNMP计数器。


vmstat 1

这是起源于BSD的虚拟内存统计工具,它还显示其他系统指标。

请注意,第一行数字是自启动以来的摘要(内存计数器除外)



mpstat -P ALL 1

$ mpstat -P ALL 1
[...]
03:16:41 AM  CPU   %usr  %nice  %sys %iowait  %irq  %soft %steal %guest %gnice  %idle
03:16:42 AM  all  14.27   0.00  0.75    0.44  0.00   0.00   0.06   0.00   0.00  84.48
03:16:42 AM    0 100.00   0.00  0.00    0.00  0.00   0.00   0.00   0.00   0.00   0.00
03:16:42 AM    1   0.00   0.00  0.00    0.00  0.00   0.00   0.00   0.00   0.00 100.00
03:16:42 AM    2   8.08   0.00  0.00    0.00  0.00   0.00   0.00   0.00   0.00  91.92
03:16:42 AM    3  10.00   0.00  1.00    0.00  0.00   0.00   1.00   0.00   0.00  88.00
03:16:42 AM    4   1.01   0.00  0.00    0.00  0.00   0.00   0.00   0.00   0.00  98.99
03:16:42 AM    5   5.10   0.00  0.00    0.00  0.00   0.00   0.00   0.00   0.00  94.90
03:16:42 AM    6  11.00   0.00  0.00    0.00  0.00   0.00   0.00   0.00   0.00  89.00
03:16:42 AM    7  10.00   0.00  0.00    0.00  0.00   0.00   0.00   0.00   0.00  90.00
[...]

此命令显示按CPU时间划分成状态的时间。

输出显示了一个问题:CPU 0达到了100%的用户时间,这是单线程瓶颈的证据。

还需要注意到是否有iowait很高的情况出现。以及可以通过syscallkernel tracing以及CPU分析来探索的%sys时间。


pidstat 1

pidstat(1)显示每个进程的CPU使用率。top(1)是用于此目的的流行工具;但是,pidstat(1)默认提供滚动输出,以便可以看到随时间的变化。

$ pidstat 1
Linux 4.13.0-19-generic (...)       08/04/2018     _x86_64_     (16 CPU)
 
03:20:47 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
03:20:48 AM     0      1307    0.00    0.98    0.00    0.98     8  irqbalance
03:20:48 AM    33     12178    4.90    0.00    0.00    4.90     4  java
03:20:48 AM    33     12569  476.47   24.51    0.00  500.98     0  java
03:20:48 AM     0    130249    0.98    0.98    0.00    1.96     1  pidstat
 
03:20:48 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
03:20:49 AM    33     12178    4.00    0.00    0.00    4.00     4  java
03:20:49 AM    33     12569  331.00   21.00    0.00  352.00     0  java
03:20:49 AM     0    129906    1.00    0.00    0.00    1.00     8  sshd
03:20:49 AM     0    130249    1.00    1.00    0.00    2.00     1  pidstat
03:20:49 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
03:20:50 AM    33     12178    4.00    0.00    0.00    4.00     4  java
03:20:50 AM   113     12356    1.00    0.00    0.00    1.00    11  snmp-pass
03:20:50 AM    33     12569  210.00   13.00    0.00  223.00     0  java
03:20:50 AM     0    130249    1.00    0.00    0.00    1.00     1  pidstat
[...]


此输出表明Java进程每秒消耗的CPU数量是变化的。注意这些百分比是所有CPU的总和,所以500%等于五个CPU100%。

iostat -xz 1

此工具显示存储设备I / O指标。每个磁盘设备的输出列都在此处用换行符表示,因此很难读取。


free -m

推荐使用 -w 参数, 显示的更详细


sar -n DEV 1

sar工具具有用于不同度量标准组的多种模式。

在这里,我使用它来查看网络设备指标。检查接口吞吐量rxkB/stxkB/s,以查看是否已达到任何限制。

图上可以看到 enp2s0f0received接收到的流量在 9852817kb/ssended 发出的流量在 847.7965.78kb/s的样子。



sar -n TCP,ETCP 1

现在,我们使用sar(1)查看TCP指标和TCP错误。要检查的列:

active/s 每秒本地启动的TCP连接数(例如,通过connect()) ,主动对外发起连接(可以理解为client模式)

passive/s 每秒远程启动的TCP连接数(例如,通过accept()) ,被动接收外部连接请求(可以理解为server模式)

retrans/s 每秒TCP重传的次数

主动和被动连接计数对于表征工作负载很有用。重新传输是网络或远程主机问题的迹象。


top

top命令,可以具备uptime的功能。此外还能按照cpu或者内存使用率排序、搜索指定进程。 总体而言,top命令具备很强大的processcpumem瓶颈分析功能。这里不过多介绍。

问题 分析 进程 工具 时间 性能 指标 检查 输出 资源 使用率 内存 命令 模式 系统 设备 这是 错误 方法 主动 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 嘉定区企业软件开发销售价格 2021年软件开发岗位 bs架构软件开发费用 西安交易软件开发 服务器网络中心开机之后打不开 北京龙首网络技术有限公司 深入探究数据库索引数据结构 数据库如何查找一个地方gdp 苹果手机登录链接不到服务器 token这么保存到数据库 互联网科技公司中年危机 移动4g网络技术标准依据 必火网络安全学院百科 农业商品的电商平台软件开发 c 下拉列表连接数据库 男生做软件测试还是软件开发 管家婆收银软件数据库导出 公共数据库进不去 长春电商软件开发公司排名 保护网络安全的照片 我心中的网络安全观大讨论 在软件开发方面的工作英文 第7章数据库与ado基础 IMF数据库技术 无锡互联网科技有限公司排名 数据库删除星期几的条件格式 互联网科技接地气 和龙市天气预报软件开发 c解析crv文件到数据库 易迈云服务器怎么样
0