写点什么

性能测试|JMeter 压测结果分析

  • 2023-07-04
    北京
  • 本文字数:1338 字

    阅读完需:约 4 分钟

搜索微信公众号: 霍格沃兹测试学院,学习更多测试开发前沿技术


获取更多技术资料,请点击!


查看结果树

https://ceshiren.com/t/topic/1369.json 发起请求


1、增加线程组、HTTP Request、添加结果树,配置协议、域名、请求地址,如下图所示:



请求结果如下图所示:



响应结果默认的是 text 文本格式



(1)第一种方式:正则表达式过滤:


#配置id的数据的正则表达式: "id":.*?.
复制代码



(2)第二种方式:json 表达式过滤:


#json表达式 .post_stream.stream[0]
复制代码


聚合报告

一、对 https://ceshiren.com/t/topic/1369.json 发起请求


当我们进行压压力测试完后,最关心就是测试数据了。


1、在分析聚合报告之前,我们先来了解聚合报告都包含了什么内容


  • Aggregate Report(聚合报告)参数:

  • 平均值:平均响应时间,所有请求的平均响应时间。

  • 中位数:50%的用户响应时间不超过这个值。

  • 99% Line: 99%的用户响应时间不超过这个值。

  • Error%:异常百分比。(错误请求的数量/请求的总数)

  • Throughput:吞吐量,默认情况下每秒完成的请求数。

  • Received KB / sec:接收数据。


2、在测试计划(Test Plan)添加线程组、聚合报告(Aggregate Report),在线程组下添加 HTTP Request,如下图所示:



3、发送正确的请求



成功请求后显示的聚合报告数值:



4、发送错误的请求



当我们进行压压力测试完后,最关心就是测试数据了,下面我们一起来分析 Jmeter 聚合报告数据。聚合报告如下图所示:



二、对本地 python 服务发起请求


1、启动一个服务,端口号是 8081



2、在测试计划(Test Plan)添加线程组、聚合报告(Aggregate Report),在线程组下添加 HTTP Request,如下图所示:



3、请求之后会返回信息



4、在线程组设置循环运行


设置线程数为 1,一直循环运行:




本地的服务相对比较稳定,设置一直循环运行还没有出现问题



10 个线程同时跑的数值:



10 线程同时运行出现了异常数据:



5、使用命令行方式查看聚合报告


一般在测试的时候不使用图形化界面,因为会消耗一些的资源,可以使用命令行的方式运行


sh jmeter.sh -n -t test_http.jmx -l test_http.jtl#-n:不开启图形化界面#-t:制定测试计划#-l:指定输出的结果
复制代码



打开测试计划的 jmx 文件,这个需要在图形化界面设置好之后保存下来的。放在 jmeter 的 bin 目录下



请求之后返回的结果,30s 刷新一次



三、对 nginx 进行压力测试


在 docker 安装 nginx


#拉取nginx:docker pull nginx:1.17.#nginx:镜像名字#1.17.9版本信息
复制代码


2、 部署 nginx


(1)nginx 部署方式 1:


docker run -d --name nginx -p 8088:80 nginx:1.17.9#后台运行:d#端口:8088#映射端口:80
复制代码


(2)nginx 部署方式 2:


# 挂载目录:docker run -d --name nginx -p 8088:80 -v ${PWD}/nginx/html:/usr/share/nginx/html nginx:1.17.9#:-v:挂载目录# ${PWD}/html 其中html是可以修改名称# /iusr/share/nginx/html 其中html是不可以修改的,这是容器的路径,这个路径一定不能错
复制代码


3、查看 docker 进程


docker ps
复制代码



4、查看 nginx 资源使用率


docker stats nginx
复制代码



5、编辑测试计划


# 编辑test_http.jmx,test_http.jmx是在本地上传上来的vim test_http.jmx
复制代码



6、 查看聚合报告命令


# 查看聚合报告命令sh jmeter.sh -n -t test_http.jmx -l test_http.jtl
复制代码



对应的列和 jmeter 界面化是一样的。


搜索微信公众号: 霍格沃兹测试学院,学习更多测试开发前沿技术


获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
性能测试|JMeter压测结果分析_#性能测试_霍格沃兹测试开发学社_InfoQ写作社区