news 2026/6/10 19:15:35

工作总结:性能测试中,我遇到的8个疑难杂症集锦

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
工作总结:性能测试中,我遇到的8个疑难杂症集锦

性能压测中我们需要明白以下几点:

1、好的开始是成功的一半,前期的准备非常重要;

2、过程中,关注每个细节,多个维度监控;

3、在调优中多积累经验;

4、对结果负责,测试报告要清晰易懂,追求数据的准确性。

01 如何分析性能数据(测试结果)

主要从吞吐量,错误率,资源监控数据,比如一个接口的处理能力为100个/s,高于需求的期望值。

错误率为0.001%,期望值为0.01%,最高cpu占用率不超70%。以上指标都符合期待值,那么通过提取这些关键数据就可以记录下来,作为测试的准出标准。

02 如何快速定位到性能阈值?

eg:每秒处理事务数达到最理想的值,有没有什么技巧?

对于一个新的压测单元,建议先设置一个线程数较小的初始值,逐渐增加线程数来观察事务的处理能力的变化。直到达到性能拐点(处理能力下降,响应时间明显增加)。

03 线程数是压的越多越好吗?压到多少线程合理?

线程数受压力产生机的CPU和内存影响较大,并且Jmeter是基于响应原理工作(一个线程在发出请求并得到应答后才会继续发出下一个请求)。

举个例子,Jmeter(单台)不能在服务器只能处理100个请求每秒的情况下,提供200QPS的压力,一般情况下建议不超过500,默认从100线程开始施压,根据实际处理能力来调整线程数大小。

04 压测持续时间长短有什么区别?压测持续时间长,保证效果更接近期望值?设置压测时间较短时的目的是什么,为了测高并发?

这个问题好比一个问卷调查,你调查的范围越大,取样更广泛得出的结论才更接近平均值(统计年收入,结果只统计了张三跟马云)。

一般情况下衡量单个接口的指标,时间不需要太长,因为涉及大量的数据读写操作,但至少不低于5分钟。如果能保证长时间运行稳定的情况下,取样时间可以相对减小。

05 平均响应时间为什么越随着时间的增长,越来越长?除了队列阻塞,还有其他原因吗?

大多数情况下是服务端的处理能力下降导致,在较大压力下,CPU和内存资源长时间被占用无法释放。

06 性能测试通常需要反复测试几轮才能达到预期的结果,有没有硬性标准?

完成变更(优化)后计划所列出的各项测试内容,测试结果稳定,数值无较大浮动(一般适用于最后一轮,已无优化空间)。

07 测试环境是否存在网络瓶颈如何确认?

一般情况下需要压测机和服务器在同一局域网内,走内网带宽,如果走外网很容易达到网络瓶颈。

这个时候,可以:

  • 找运维人员或机器所属负责人进行确认;

  • 直接复制文件传输到另一台服务器 查看网速是否达到内网带宽上限

scp -r -P 端口号 root@123.123.123.123:/root/,如内网带宽为100M时,可传输的最大网速为 12M/s 左右,如传输速率只是2M/s以下 可能不在同一网段,一般也满足不了压测传输对网速的要求。

08 我们怎么选择性能压测工具?

  • Loadrunner

  • 商用,支持各种协议,例如http、tcp、ftp等;

  • 支持多种并发模型,C脚本本身性能较高;

  • 臃肿,麻烦。

  • Jmeter

  • 开源、使用方便;

  • 基于Java,可扩展,支持模型较单一,本身性能受限于同步等待以及java本身;

  • 比较灵活,可以自己编写符合自己要求的脚本,二次开发更适合我们服务端测试。

  • 其他

  • Apache bench:工具小巧简单,上手学习较快;

  • Wrk :性能超级强,某些bench测试使用;

  • Grinder python等等,还有很多。

具体使用结合公司项目以及自己的优势来选择,我个人喜欢用Jmeter。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

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

远程调试不用愁!内网服务器也能轻松断点调试的实用技巧

文章目录前言1. Remote JVM Debug2. 系统要求与环境准备2.1 服务器环境2.2 本地开发环境3. 内网服务器准备及开始3.1 安装cpolar配置支持远程ssh登录3.1.1 什么是cpolar?3.1.2 安装cpolar3.1.3 注册及配置cpolar系统服务3.1.4 登录cpolar web ui 管理界面配置ssh端口…

作者头像 李华
网站建设 2026/6/10 9:10:59

基于51单片机的音乐喷泉设计

摘要 随着人们生活水平的提高和建立绿色城市的向往,音乐喷泉以其独特的魅力和特殊的功能,愈来愈成为休闲娱乐产业中的一项重要产品,音乐喷泉的兴建也越来越多。根据目前音乐喷泉的发展现状,介绍了一个以STC89C52单片机为核心的小型音乐喷泉控…

作者头像 李华
网站建设 2026/6/10 9:11:00

为什么不让程序员直接对接客户?而是通过产品经理…

一、那些年,我们"撞过"的客户南墙 先说个真实故事。 我刚从机械专业转行做嵌入式开发那会,公司接了个工业控制项目。当时团队小,没有专门的产品经理,老板直接让我和另外两个开发跟客户对接需求。 那天会议室里&#…

作者头像 李华
网站建设 2026/6/10 9:06:20

大数据隐私保护技术全解析:脱敏、匿名化、差分隐私哪个更实用?

大数据隐私保护实战:脱敏、匿名化、差分隐私到底怎么选? 副标题:从原理到落地的全面对比,帮你解决数据隐私的"选择困难症" 摘要/引言 在大数据时代,"数据是石油"的说法早已深入人心。但当我们享受数据带来的便利(比如精准推荐、智能医疗)时,数据…

作者头像 李华
网站建设 2026/6/10 9:07:46

Prompt Engineering (提示词)进阶必会:从“瞎聊”到“精准控制”

在AI编程的过程中,在实际真实项目开发过程中,在使用AI工具的时候,你是否觉得AI时而聪明绝顶,时而智商掉线?或者完全变成了傻逼了? 区别往往在于你使用的“手段”与“招式”,学会如何与它&#…

作者头像 李华
网站建设 2026/6/10 10:54:37

【震惊】大模型开发者的福音!一文掌握知识图谱+LLM融合技术,医疗AI应用实战与避坑指南,代码已打包!

摘要 本文深入探讨了大语言模型(LLMs)在医疗知识图谱(KGs)补全中的应用与局限,尤其是在疾病与治疗关系推断方面的表现。通过系统评估LLMs生成的治疗映射与现有临床知识的对齐程度,研究揭示了模型在覆盖率、…

作者头像 李华