性能测试全栈笔记:51.性能监控工具-cpu进阶/内存/磁盘篇

作者: admin 分类: 性能专题 发布时间: 2021-12-28 17:04

性能测试全栈笔记

思考:拿到性能项目该怎么做?

  • 1.根据配置文档,部署项目,比较难的,请教运维部署
  • 2.分析需求,分析高频接口
  • 3.怎么找性能瓶颈?(重点关注服务器端)
    • 响应时间:事务维度、接口维度
    • TPS:一般互联网公司1000+/s,一线互联网千万/百万级别/s
    • 成功率:一般互联网公司99.999%
    • 操作系统级别监控:就是我们之前部署过的服务器

五十一、性能监控工具-cpu进阶/内存/磁盘篇

首先看一张草图:

top命令:top

输入:1(显示每核cpu的占比)

分析:

重点:us,sy,wa的占比

us:70%以上;sy:30%以下

如果:us+sy=70%

那么,us=70%*0.7=49%以上;sy=70%*0.3=21%以下,都是可以的

如果比较纯粹的看,就看id(空闲占比),简单计算:100%-30%(空闲)=70%(繁忙率)

从第六行开始,动态展示占用的进程。

内存:

命令:free

free -m:MB为单位

free -k:k为单位

total= used + free + buff/cache

  • 第一列
    • Mem 内存的使用信息
    • Swap 交换空间的使用信息
  • 第一行
    • total 系统总的可用物理内存大小
    • used 已被使用的物理内存大小
    • free 还有多少物理内存可用
    • shared 被共享使用的物理内存大小
    • buff/cache 被 buffer 和 cache 使用的物理内存大小
    • available 还可以被 应用程序 使用的物理内存大小
  • free 与 available 的区别:
    • free 是真正尚未被使用的物理内存数量
    • available 是应用程序认为可用内存数量
  • buffer和cache
    • 两者都是Linux下的缓存机制,其中buffer为写操作的缓存,cache为读操作的缓存
  • swap
    • 交换空间,磁盘上的一块空间,当系统内存不足时,会使用交换空间

磁盘一:

命令:iostat

安装:[root@jmeter1 ~]# yum -y install sysstat

输入:iostat

一般用:iostat -x -k 1

  • -x:展示磁盘的扩展信息
  • -k:以k为单位展示磁盘数据
  • 1:每1秒刷新一次

结果分析:

  • iowait :它指示 cpu 用于等待 io 请求完成的时间
  • util:磁盘IO使用率,单位%,反映磁盘的繁忙程度(时间维度),上限100%(重点)
  • r/s:每秒读请求数(辅助)
  • w/s:每秒写请求数(辅助
  • rkb:每秒读磁盘字节数(重点,一般看这个)
  • wkb:每秒写磁盘字节数(重点,一般看这个

小结:如果util一直无限接近100%,那么基本可以说明遇到了性能问题,但需排除磁盘是否开启了debug模式

磁盘二:

命令:df -h

[root@jmeter1 ~]# df -h

分析:一般看Size最大那个use%的数据,小于90%

磁盘速度测试:

磁盘IO读命令:

先安装:yum -y install hdparm

然后:hdparm -T /dev/sda

可以看到:2秒钟读取了24622 MB的缓存,约12332.40 MB/sec

磁盘IO写速度:time dd if=/dev/zero of=test.dbf bs=8k count=300000 oflag=direct

可以看到,每次写入/读取8k的数据,执行300000次,消耗32.4649 秒,速度75.7 MB/秒

至此,top进阶/内存/磁盘篇学习到这里,下面开启性能监控综合工具篇章。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复