一、事件背景

个人感觉自己做性能测试,可以说是轻车熟路了,而且工作多年一直都是这一套测试思路及体系,从未质疑过自己,也许是狮子座的迷之自信吧!

也就在上周让我对自己的测试方法及体系产生了质疑!

为什么?在性能测试的时候,压测500并发通过,人家40并发都过不去。

通俗点说,就是你测试没问题,在人家那测试出问题了,忽略脚本问题,显而易见因为测试方法差异导致测试结果的不同。

1、关于执行方法的差异

  • 同事的做法是直接跑10分钟的稳定性测试,然后上并发数;
  • 我的做法一个用户循环访问一次,然后上并发数;

2、关于执行结果的差异

  • 同事这种方式比我的方式,对目标服务器的压力更大;
  • 体现在哪,如果循环次数选择了一旦选择了永远,即请求次数会比我的方式多,所以自然压力也大;

3、真的是我测试方法错了吗

我和同事分别测试两个系统,具体还是有些区别的:

  • 同事这边业务场景有40个接口,执行一次最多1分钟,要不就是20秒,具体没记清楚;
  • 我这边的业务场景有76个接口,执行一次大约50分钟,如果我直接上负载测试10分钟,根本跑不完一组业务场景;
  • 我去请教大周老师,老师说正常先要让跑一定的时间,可以查看是否稳定运行及测试结果是否一致准确,性能测试本就是多次测试的结果。

4、结论

我是在最后跑的稳定性测试,是8小时起步,从时间上看覆盖到了他的十分钟,而且压力更大。

但是,有些同学会问他测试的对吗,他的思路是对的,因为他执行一次业务场景,小于10分钟,在小批量并发测试师没问题的。

当然,如果并发量上来后,还是设置十分钟的话,会出现我那种情况 业务场景接口没执行完的情况,此处,大家自行尝试见分晓。

二、关于线程组的相关设置

我又去查了大量资料,终于找到了一篇我觉得比较在理的文章,并举例给大家演示,我觉得这个同学的理论好像是对的,因为我也测试了下,发现也吻合我的测试结果(算求生存吗?)!

下面我将举例说明,该方法。

1、执行第一次数据采样,得到吞吐率和平均响应时间

由图可知:

吞吐率=2.6≈3,平均响应时间:t=0.386秒;

2、计算ramp-up period

假设线程N=10,估计的吞吐率=3, 那么估计的理想ramp-up period (T)(可以理解为线程启动的准备时间)= 10/3 = 3 秒。

3、循环次数计算

现在计算循环次数A。由于我们要考虑在第一个线程结束的时候,确保最后一个线程能启动,那么至少要大于一个值,这个值定位S=T-T/N=3-3/10=2.7。

当时间到 S=(T-T/N)时,最后一个线程启动,若要使所有线程同时运作,则需要在最后一个线程启动的时候第一个线程仍未关闭,为达到这个要求,需满足A > S/t

A>2.7/0.386=6.994≈7次 A>(T-T/N)/t

4、得出的测试方案

那么我们的测试方案如下:

5、关于公式



图片来源于网络,侵删

三、写在最后

真的是,活到老,学到老,遇到问题,多总结,多分析就好,技术需要严谨,不定期复盘。感兴趣的同学,可以自己动手尝试下。

关于Jmeter线程组的设置,看这一篇就够了的更多相关文章

  1. 【转】关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家 ...

  2. 关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家 ...

  3. JMeter线程组编辑区揭秘

    线程组编辑区如下: 有点复杂,但是慢慢看下来,还是比较容易理解. Name 带有业务含义的名字. Comments 线程组的备注说明. Action to be taken after a Sampl ...

  4. Java中的多线程=你只要看这一篇就够了

    如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其 ...

  5. [转帖]nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件

    nginx学习,看这一篇就够了:下载.安装.使用:正向代理.反向代理.负载均衡.常用命令和配置文件 2019-10-09 15:53:47 冯insist 阅读数 7285 文章标签: nginx学习 ...

  6. JVM内存模型你只要看这一篇就够了

    JVM内存模型你只要看这一篇就够了 我是一只孤傲的鱼鹰 让我们不厌其烦的从内存模型开始说起:作为一般人需要了解到的,JVM的内存区域可以被分为:线程栈,堆,静态方法区(实际上还有更多功能的区域,并且这 ...

  7. 2019-5-25-win10-uwp-win2d-入门-看这一篇就够了

    title author date CreateTime categories win10 uwp win2d 入门 看这一篇就够了 lindexi 2019-5-25 20:0:52 +0800 2 ...

  8. windows server 2019 域控批量新增不用,只看这一篇就够了,别的不用看

    windows server 2019 域控批量新增不用,只看这一篇就够了,别的不用看 1. 新建excel表格 A B C D E 姓 名 全名 登录名 密码 李 四 李四 李四 test123!@ ...

  9. 什么是 DevOps?看这一篇就够了!

    本文作者:Daniel Hu 个人主页:https://www.danielhu.cn/ 目录 一.前因 二.记忆 三.他们说-- 3.1.Atlassian 回答"什么是 DevOps?& ...

随机推荐

  1. 用C++实现的数独解题程序 SudokuSolver 2.2 及实例分析

    SudokuSolver 2.2 程序实现 根据 用C++实现的数独解题程序 SudokuSolver 2.1 及实例分析 里分析,对 2.1 版做了一些改进和尝试. CQuizDealer 类声明部 ...

  2. Linux——Docker安装

    1. 安装Docker i :环境准备:Linux要求内核3.0以上 ii:安装 #1.卸载旧版本 yum remove docker \ docker-client \ docker-client- ...

  3. Coursera Deep Learning笔记 改善深层神经网络:超参数调试 Batch归一化 Softmax

    摘抄:https://xienaoban.github.io/posts/2106.html 1. 调试(Tuning) 超参数 取值 #学习速率:\(\alpha\) Momentum:\(\bet ...

  4. [敏捷软工团队博客]Beta阶段测试报告

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段测试报告 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...

  5. [对对子队]会议记录4.20(Scrum Meeting11)

    今天已完成的工作 何瑞 ​ 工作内容:搭建第三关,添加了运行指令标识 ​ 相关issue:搭建关卡2.3 ​ 相关签入:4.20签入1 4.20签入2 吴昭邦 ​ 工作内容:搭建第三关 ​ 相关iss ...

  6. find&正则表达式

    标准的正则表示式格式 常用元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ ...

  7. CSS 奇技淫巧 | 巧妙实现文字二次加粗再加边框

    本文将通过一个实际的业务需求,讲解如何实现 极端场景下文字加粗加边框效果 文字多重边框的效果 需求背景 - 文字的二次加粗 今天遇到这样一个有意思的问题: 在文字展示的时候,利用了 font-weig ...

  8. 局域网(以太网与IEEE 802.3、IEEE 802.11、)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105016637 学习课程:<2019王道考研计算机网络> 学习目的 ...

  9. 从零开始的DIY智能家居 - 基于 ESP32 的智能光照传感器

    前言 上周出差有点急,结果家里灯没关,开了整整一周的时间(T▽T),整个人都裂开了,准备做一个能够远程控制灯的东西,让我以后出差能远程把家里灯关了. 第一步就是做这期的主题 - 智能光照传感器,因为我 ...

  10. Centos7 误删除bin/sbin之类的恢复

    参考连接:https://blog.csdn.net/weixin_41843733/article/details/107468767 挂载对应版本的光盘进入急救模式,复制已经丢失的命令到/mnt/ ...