可持续自动化构建微服务(12)Jemeter 压力测试

第十二章 Jemeter 压力测试

Apache JMeter Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、 CGI 脚本、 Java 对象、数据库、 FTP 服务器, 等等。

JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,类别下测试它们的强度和分析整体性能。另外, JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性, JMeter 允许使用正则表达式创建断言。

12、  Jemeter 压力测试
12.1 安装 Jemeter
下载地址: http://jmeter.apache.org
12.2 解压文件
下载解压到某个盘,我放在了 D
12.3 启动 jemeter
在安装目录的 bin 文件夹里,点击“ jmeter.bat ” , 启动成功后的界面

如果是英文版请点击 Options>Choose Language>Chinese(Simplified),切换成简体中文。
12.4 体验 jemeter
12.4.1 准备一个待测试的服务
我们用 eclipse 开发一个 spring-cloud-service 的服务

启动后,访问浏览器 http://localhost:8007/hello/myname

可以看到,这个服务有一个参数 user 是需要的。
12.4.2 创建 jemeter 压测内容
接下来,我们模拟 1000 用户访问该服务
12.4.2.1 创建测试计划
输入名称信息点击保存即可。

12.4.2.2 创建线程组
右键点击“spring-cloud-service 压测” ,添加>Threads(Users)>线程组

12.4.2.3 设置线程数

Number of Threads:一个用户占一个线程, 1000 个线程就是模拟 1000 个用户

Ramp-Up Period(in seconds):设置线程需要多长时间全部启动。如果线程数为 1000 ,准备时长为准备时长为 10 ,那么需要 1 秒钟启动 100 个线程。 如果设置为 0,就是并发;

Loop Count: 每个线程发送请求的次数。如果线程数为 1000 ,循环次数为 2 ,那么每个线程发送 2 次请求。总请求数为 1000*2=2000 。如果勾选了 永远 ,那么所有线程会一直发送请求,直到选择停止运行脚本。
12.4.2.4 添加 CSV Data Set Config
我们的服务需要传递一个参数值, 那么我们可以先创建一个 csv 文件,里面只有一列信息。 右键点击线程组 > 添加 > 配置元件 > CSV Data Set Config , 并填写相关信息

12.4.2.4 创建 HTTP 请求
右键点击线程组>添加>Sampler>HTTP 请求, 并填写相关参数

12.4.2.5 添加 Summary Report
右键点击线程组>添加>监听器> Summary Report, 用来查看测试结果

还可以添加很多监听器的内容, 如“图形结果”、 聚合报告等等。
12.4.3 开始运行
到目前为止, 脚本就全写好了,点击开始进行压力测试

12.4.4 测试结果
压力测试结果很快就出现了。

Jmeter 用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好。 测试脚本被保存后,可以重复使用, 也可以被导入到其他的电脑上运行。

猜你喜欢

转载自blog.csdn.net/jato333/article/details/80482013