news 2026/5/28 16:16:58

13年测试老鸟,性能测试-性能调优分析思路解析,一篇快速上手...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
13年测试老鸟,性能测试-性能调优分析思路解析,一篇快速上手...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)

前言

1、性能调优分析思路

环境:基于centos7 为主的
使用的工具环境都是docker配的
四大指标:cpu io 内存 网络

如何测试性能呢?
今天的目的就是学的cpu和io牵扯就是linux命令

性能测试领域
学习分析思路 性能调优 CPU IO 能说出你的分析思路具体点

1、Linux 性能测试
2、分析树 CPU高-----?------?
环境-centos
依赖docker
3、场景设计??????
要有基本建模能力
单接口 基准 场景混合
怎么压?
发现问题如何初步定位??????
RT TPS threads
资源使用情况

四大指标:cpu io 内存 网络开销
预备知识:
要知道物理核和逻辑核
1.cpu 有几个核 单独执行几个任务 并发
4核 20进程 就会正常切换
4核 8逻辑核
怎么查,命令要急死

  1. 进程 线程 协程 cpu是时间管理大师
    虽然进程嵌套线程,cpu负责调度线程
    协程 -田径里面跑步-里面还有赛道 ,赛道就是协成
    协成的调度cpu管不了

状态的形式
状态:1.运行 2.等待 (资源不够用、cpu调度) 3.停止 4. 僵尸
查看cpu???
cat /proc/cpuinfo | grep ‘model name’ | wc -l
一个叫利用率 干活的时间/总时间 就用top命令 top后按1

一个叫平均负载 比如老板跟你定工资,我看你一小时已经做了多少任务,手头多少任务,多少在排队
看看cpu看看任务队列里面,等待 或正在 使用cpu的任务队列长度
wa IO开销
要指标-当你tps上到多少,rt不能过长 错误率 不能报错
再有资源使用的指标
1万 rt<500ms 错误率 <千4 资源使用指标:低于80%
平均负载指标:
小于核*1.5
2核心 3

CPU 使用率 平均负载
高 高 这种叫计算密集型
yum install jstack

定位问题??

先top看最大进程号
top -Hp 14155 在看进程号下的线程
cd /usr/local/src/jdk1.8.0_221/bin
./jstack 14155 > /root/s.log 这个输入进程号,打出日志
printf “%x\n” 14182 这个是进程下的线程号,把进程号下面的线程号打印出来
cat o.log |grep ‘3766’ 看日志定位到那行代码有问题

垃圾回收机制的问题,会打印出代码Gc
jstat -gcutil 【PID】 1000 100 查看每秒钟gc的情况
jstat 线程调用关系
jmap 查看线程的堆内存
进入usr/local/src/jdk1.8.0_221/bin
./jmap -heap 3075
另外一种
jmap -dump:format=b,file=18214.bin 18214
./jmap -dump:format=b,file=25473.bin 25473 进程号
打印出bin文件
在本地C:\Program Files\Java\jdk1.8.0_181\bin打开 lvm.exe
点击类查看,可以看到内存从高到底排,把最高的类型拿出来分析

dokcer

dockerrun --name nginx -p10000:80 -itd feisky/nginx:spdockerrun --name phpfpm -itd --network container:nginx feisky/php-fpm:sp

docker
分为镜像,可以用镜像启动多个实例
先下一个镜像然后下多个容器
镜像 ---- 容器 ---- 启动 实例
docker image …
docker ps -a
docker stop xxx(id) 停止容器
docker rm id 删除一个容器

短进程 短线程 这种场景????
大量的出生和死亡
docker exec -it 7311e50d1d89 /bin/bash
重启docker服务 systemctl restart docker
pstree | grep stress

cpu ---- 进程 线程 死循环+慢语句+计算复杂 FullGC大对象回收,分析堆的使用情况
如果发现GC也没发现需要看看代码那部分创建了短进程
某个命令 短进程
192.168.29.129:10000

主要是
第一种 cpu进程过高
第二种 慢代码 频繁垃圾回收
第三种 短进程

完整版!企业级性能测试实战,速通Jmeter性能测试到分布式集群压测教程

下面是我整理的2026年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

人生最动人的篇章,往往写在最艰难的转折之后。当你觉得力不从心时,请记住:每一个"不可能"的突破,都始于"再试一次"的勇气。你的坚持,正在为世界书写新的可能!

别让他人的质疑成为你的枷锁!你体内蕴藏着改变命运的力量,每个微小的进步都在为辉煌铺路。当别人停下脚步时,你的坚持就是最有力的回应。向前走,属于你的舞台正等待绽放!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 14:51:03

Java汽修新势力:同城维修改装系统源码

以下是一套基于Java的同城汽车维修改装系统源码的详细解析&#xff0c;涵盖技术架构、核心功能、关键代码示例及行业优势&#xff1a; 一、技术架构 跨平台兼容性&#xff1a;利用Java“一次编写&#xff0c;到处运行”的特性&#xff0c;系统无缝适配Windows、Linux服务器及…

作者头像 李华
网站建设 2026/5/24 8:49:47

跟我学C++中级篇—线程局部存储的底层分析

一、线程数据控制 在实际的开发中&#xff0c;经常遇到各种情况的数据处理。最典型的就是开发者经常遇到的线程数据共享的情况&#xff0c;不管是利用互斥变量还是其它形式的同步机制&#xff0c;可以保证线程间数据交互的安全性。但有一种情况下&#xff0c;恰恰是需要各个线程…

作者头像 李华
网站建设 2026/5/24 9:42:22

Claude Code(Windows)安装、配置与使用全流程总结

一、你遇到的核心问题是什么 在 Windows 环境下使用 Claude Code 时&#xff0c;最容易踩的坑是&#xff1a; 同时存在两种鉴权方式 ANTHROPIC_AUTH_TOKEN&#xff08;CLI 登录态&#xff09; ANTHROPIC_API_KEY&#xff08;API Key&#xff09; Claude Code 强制只允许一种…

作者头像 李华
网站建设 2026/5/11 6:57:27

Flutter for OpenHarmony音乐播放器App实战14:专辑详情实现

专辑详情页是展示专辑完整信息的页面&#xff0c;用户可以查看专辑封面、歌手信息、发行时间以及专辑内的所有歌曲。本篇文章将详细介绍如何使用CustomScrollView和Sliver组件实现一个美观实用的专辑详情页面。 页面基础结构 专辑详情页使用StatelessWidget&#xff0c;因为页…

作者头像 李华
网站建设 2026/5/1 14:06:55

Flutter for OpenHarmony音乐播放器App实战24:我喜欢的音乐实现

我喜欢的音乐是用户收藏歌曲的专属歌单&#xff0c;用户可以在这里找到所有标记为喜欢的歌曲。本篇将详细介绍如何实现我喜欢的音乐页面&#xff0c;包括歌单头部设计、排序功能和歌曲操作菜单。 功能分析 我喜欢的音乐页面需要实现以下功能&#xff1a;渐变封面展示、歌曲数…

作者头像 李华