jjzjj

Jmeter压测结果分析之聚合报告

橙子软件测试菇凉 2024-06-12 原文

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

一、对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进行压力测试

1、在docker安装nginx

# 拉取nginx:
docker pull nginx:1.17.9
#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进程
docker ps 

4、查看nginx资源使用率

# 查看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界面化是一样的。

以上我学习过程的分享,希望能够帮助大家!

有关Jmeter压测结果分析之聚合报告的更多相关文章

  1. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  2. ruby - Rails Elasticsearch 聚合 - 2

    不知何故,我似乎无法获得包含我的聚合的响应...使用curl它按预期工作:HBZUMB01$curl-XPOST"http://localhost:9200/contents/_search"-d'{"size":0,"aggs":{"sport_count":{"value_count":{"field":"dwid"}}}}'我收到回复:{"took":4,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":90,"max_score":0.0,"hits":[]},"a

  3. c# - Ruby 等效于 C# Linq 聚合方法 - 2

    什么是Linq聚合方法的ruby​​等价物。它的工作原理是这样的varfactorial=new[]{1,2,3,4,5}.Aggregate((acc,i)=>acc*i);每次将数组序列中的值传递给lambda时,变量acc都会累积。 最佳答案 这在数学以及几乎所有编程语言中通常称为折叠。它是更普遍的变形概念的一个实例。Ruby从Smalltalk中继承了这个特性的名称,它被称为inject:into:(像aCollectioninject:aStartValueinto:aBlock一样使用。)所以,在Ruby中,它称为inj

  4. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  5. 网站日志分析软件--让网站日志分析工作变得更简单 - 2

    网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.

  6. ABB-IRB-1200运动学分析MATLAB RVC工具分析+Simulink-Adams联合仿真 - 2

    一、机器人介绍        此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接

  7. 关于Qt程序打包后运行库依赖的常见问题分析及解决方法 - 2

    目录一.大致如下常见问题:(1)找不到程序所依赖的Qt库version`Qt_5'notfound(requiredby(2)CouldnotLoadtheQtplatformplugin"xcb"in""eventhoughitwasfound(3)打包到在不同的linux系统下,或者打包到高版本的相同系统下,运行程序时,直接提示段错误即segmentationfault,或者Illegalinstruction(coredumped)非法指令(4)ldd应用程序或者库,查看运行所依赖的库时,直接报段错误二.问题逐个分析,得出解决方法:(1)找不到程序所依赖的Qt库version`Qt_5'

  8. ruby - gem 推送结果为 "package metadata is missing" - 2

    我正在尝试将我更新的gem推送到ruby​​gems.com并得到以下结果。~/dev/V2/V2GPTI(master)$gembuildv2gpti.gemspecSuccessfullybuiltRubyGemName:v2gptiVersion:0.2File:v2gpti-0.2-universal-darwin-13.gem~/dev/V2/V2GPTI(master)$gempushv2gpti.gemspecERROR:Whileexecutinggem...(Gem::Package::FormatError)packagemetadataismissinginv2g

  9. ruby-on-rails - 如何使用 ruby​​-prof 和 JMeter 分析 Rails - 2

    我想使用ruby​​-prof和JMeter分析Rails应用程序。我对分析特定Controller/操作/或模型方法的建议方法不感兴趣,我想分析完整堆栈,从上到下。所以我运行这样的东西:RAILS_ENV=productionruby-prof-fprof.outscript/server>/dev/null然后我在上面运行我的JMeter测试计划。然而,问题是使用CTRL+C或SIGKILL中断它也会在ruby​​-prof可以写入任何输出之前杀死它。如何在不中断ruby​​-prof的情况下停止mongrel服务器? 最佳答案

  10. ruby - 猴子修补 float 中缀运算符产生意想不到的结果 - 2

    重新定义Float#/似乎没有效果:classFloatdef/(other)"magic!"endendputs10.0/2.0#=>5.0但是当另一个中缀运算符Float#*被重新定义时,Float#/突然采用了新的定义:classFloatdef/(other)"magic!"enddef*(other)"spooky"endendputs10.0/2.0#=>"magic!"我很想知道是否有人可以解释这种行为的来源,以及其他人是否得到相同的结果。ruby:ruby2.0.0p353(2013-11-22)[x64-mingw32]要快速确认错误,请运行thisscript.

随机推荐