jmeter测试网站QPS

61 篇文章 3 订阅
订阅专栏

上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。

1)测试目标网站是fnng.cnblogs.com

2)测试目的是该网站在负载达到20 QPS 时的响应时间。

QPS 解释

  QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

  为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对fnng.cnblogs.com博客首页请求,因此只需要使用HTTP Request Sampler 即可。

建立测试计划

   启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。

添加线程组


    一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选择线程组即可。

   jmeter中 每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的,也就是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。

 

 

   线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。

线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

  设置合理的线程数对于能否达到测试目标有决定性的影 响。在本例中,要求得到网站首页在20 QPS 负载情况下的响应时间,如果如果线程数量设置的过小,则很可能无法达到设定的QPS要求。另外,设置合理 的循环次数也很重要,除了上面介绍的固定循环次数与永远外;也可以灵活的选择设定测试运行时间。勾选“调度器”,进行调度器配置。

添加HTTP请求


  添加完成线程组后,在线程组上右键菜单(添加--->Sampler--->HTTP请求)选择HTTP请求。对于jmeter来说,取样器(Sampler)是与服务器进行交互的单元。一个取样器通常进行三部分的工作:

向服务器发送请求

记录服务器的响应数据

记录相应时间信息

   一个HTTP请求有着许多的配置参数,下面将详细介绍:

名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。

服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。

端口号:目标服务器的端口号,默认值为80 。

协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https ,默认值为http 。

方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

Content encoding :内容的编码方式,默认值为iso8859

路径:目标URL路径(不包括服务器地址和端口)

自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。

Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。

Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。

同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

同请求一起发送文件:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟。

从HTML文件获取所有有内含的资源: 当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行Parse 并获取HTML中包含的所有资源(图 片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需 要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。

用作监视器:此取样器被当成监视器,在Monitor Results Listener 中可以直接看到基于该取样器的图形化统计信息。默认为不选中。

Save response as MD5 hash? :选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。

  在这里我们添加两个HTTP请求,分别用于对fnng.cnblogs.com发送请求。

设置QPS限制


  本次性能测试的需求中提到测试的目的是“了解博客的首页在负载达到20 QPS时的响应时间”,因此需要控制向博客首页发送请求的负载为20QPS。

  一种可行的方法是逐步调整测试计划中的线程计算的数量 以及为取样器(Sampler)添加定时器(Timer),以使HTTP取样器发出的请求的QPS保持在20个左右。但这种方法耗时耗力,需要经过多次尝 试才能达到;另一方法,完全通过设置定时器来控制QPS,一旦取样器的响应时间发生改变(网络环境发生改变),就需要重新调整定时器的等待时间。

  Jmeter提供了一个非常有用的定时器,称为Constant Throughput Timer (常数吞吐量定时器),该定时器可以方便地控制给定的取样器发送请求的吞吐量。

  右键点击fnng.cnblogs.com ,弹出菜单(添加--->定时器--->Constant Throughput Timer)选择Constant Throughput Timer

Constant Throughput Timer 的主要属性介绍:

名称 :定时器的名称

Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,因此,对应测试需求中所要求的20 QPS ,这里的值应该是1200 。

Calculate Throughput based on :有5个选项,分别是:

  This thread only :控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的 target Throughput 乘以矣线程的数量。

  All active threads : 设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。

   All active threads in current thread group :设置的target Throughput将分配在当前线程 组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads选项的效果完全相同。

  All active threads (shared ):与All active threads 的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。

   All cative threads in current thread group (shared ):与 All active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上 一次运行结束后等待合理的时间后再次运行。

  如上图,该元件仅作用于fnng.cnblogs.com ,设置定时器的Target throughput为1200/分钟(20 QPS),设置Calculate Throughput based on 的值为All active threads 。

  当 然,Constant Throughput Timer只有在线程组中的线程产生足够多的request 的情况下才有意义,因此,即使设置了 Constant Throughput Timer的值,也可能由于线程组中的线程数量不够,或是定时器设置不合理等原因导致总体的QPS不能达到预期 目标。

添加监听器(Listener)


   脚本的主要部分设置完成后,需要通过某种方式获得性能测试中的测试结果,在本例中,我们关心的是请求的响应时间。

  Jmeter 中使用监听器元件收集取样器记录的数据并以可视化的方式来呈现。Jmeter有各种不同的监听器类型,因为上HTTP请求,我们可在添加聚合报告,更为直观的查看测试结果。

  添加聚合报告,右键点击线程组,在弹的菜单(添加--->监听器--->聚合报告)中选择聚合报告。

 

运行脚本


  添加完成聚合报告后,我们来运行脚本,稍后介绍聚合报告的参数。

  在运脚本之前,我们来查看一下,各个元件的参数设置:

--------------------------------------------------------------- 

线程组:

线程数:20

准备时长: 10

循环次数:10

---------------------------------------------------------------  

HTTP请求:

名称:fnng.cnblogs.com。

服务器名称或IP :fnng.cnblogs.com

端口号:80 

Implementation : java 

协议: http

方法: GET

路径:/

---------------------------------------------------------------  

常数吞吐量定时器:

Target throughput(in samples per minute):1200.0

Calculate Throughput based on :All active threads

---------------------------------------------------------------  

点击工具栏上的运行按钮,或者点击菜单栏“ 运行--->启动 ” 或者使用快捷键ctrl+r 来运行程序。

聚合报告分析


查看聚合报告的运行结果:

 OK! 到此一次完整的性能测试结束,如果你从中有所收获,推荐一记~!

性能测试工具、监控工具、性能方案设计、全链路介绍
qq_39546957的博客
03-24 1086
2.Grinder主要有controller、agent、monitor三部分,controller提供web界面、协调测试过程、显示结果、创建和调试python脚本,agent实际发起压力的工具,使用monitor监听性能指标反馈给controller。4.在不依赖外部存储的情况下,支持服务器节点的本地存储,通过Prometheus自带的时序数据库,可以完成每秒千万级的数据存储。1.apache ab测试的并发数与其所运行的服务器的CPU颗粒数有很大关系,CPU颗粒数越大,测试结果所支持的并发数就越大。
JMeter压力测试工具
07-01
JMeter绿色插件
JMeter性能测试实战之QPS检测过程解析
独行侠梦的博客
02-09 8025
目录结构一、测试需求 二、测试步骤 1.添加线程组 2.添加HTTP请求 3.设置QPS限制 4.添加监视器 5.运行脚本 6.聚合报告分析...
【性能测试】功能简单的小说网站Jmeter+fiddler实践)
尹煜的博客
04-22 3901
初学Jmeter,主要是学习它的性能测试内容,因为Jmeter可以很好地模拟请求的人数和次数(模拟实际情况的高并发),这篇文章主要是介绍配置环境、下载安装以及对一个功能非常简单(没有登录编辑等操作)的小说网站进行性能测试,以后有机会再和大家分享功能更为复杂的网站或app的性能测试内容。 Jmeter介绍及配置 1.Jmeter介绍 JMeter是一款纯java编写负载功能测试和性能测试开源工具软件,它是Apache基金(开源为主)旗下的软件。JMeter最大优势是开源及轻量级,而且适合自动化和.
jmeter 指定QPS压测接口
最新发布
HumorChen的博客
04-22 766
压测开始后qps按我的配置要求逐渐稳定到了10qps当你配置更高的qps时,会受限制于线程数、服务器每秒能接受的请求数、限制的qps、网络吞吐量等,取瓶颈最小值,可以根据实际需要不断修改参数压测。
利用JMeter进行Web测试(简介适合初学者)
nashviller的专栏
01-25 3402
http://www.blogjava.net/qileilove/archive/2012/04/09/373628.html 利用JMeter进行Web测试 JMeter介绍 脚本录制 运行JMeter进行测试 JMeter主要组件介绍 参数化设置 动态数据关联 使用命令行运行JMeter脚本 利用XSLT分析JMeter结果文件 JMeter介绍 JMe
【0基础也能学会】JMeter:如何开始简单的WEB压力测试
软件测试技术分享官
06-28 197
考虑到JMeter是流行的Web性能压测工具,因此趁着这次机会上网查阅了很多关于JMeter的资料,也自己动手进行软件的配置和调测,从最基本的发送HTTP请求,到参数化输入,分布式测试和最后的实时结果展示都折腾了一把。现将折腾过程进行整理,既作为自己日后参考,也可分享给有需要的人,少踩一些坑。同时,官网上也有丰富的文档资源,包括用户手册,最佳实践,组件参考和教程等,值得花时间仔细阅读。并按下图所示填写相关的参数,包括协议,服务器名,请求类型和路径,让模拟用户发送HTTP GET Reqeust到被测网站
Jmeter 之 https接口 性能测试
shujie5202的博客
01-17 2522
Jmeter 之 https接口 性能测
【java】JMeter进行web测试
m0_51371693的博客
07-17 1322
参考JMeter用户手册。
[开源工具]使用Fiddler/Postman简单计算QPS[新手开箱可用]
学生董格
12-27 1359
qps即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,即为QPS
常用压测工具对比
adorable_的博客
03-23 2439
压测,即压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。 主要检测服务器的承受能力,包括用户承受能力(多少用户同时玩基本不影响质量)、流量承受等。 压测的目的就是通过压测(模拟真实用户的行为),测算出机器的性能(单台机器的QPS),从而推算出系统在承受指定用户数(100W)时,需要多少机器能支撑得住。
jmeter测试某个QPS下的响应时间-设置QPS限制
weixin_34389926的博客
05-06 2845
本次性能测试的需求中提到测试的目的是“了解博客的首页在负载达到20 QPS时的响应时间”,因此需要控制向博客首页发送请求的负载为20QPS。   一种可行的方法是逐步调整测试计划中的线程计算的数量以及为取样器(Sampler)添加定时器(Timer),以使HTTP取样器发出的请求的QPS保持在20个左右。但这种方法耗时耗力,需要经过多次尝试才能达到;另一方法,完全通过设置定时器来控制QPS,一旦...
JMeter操作文档
12-22
十、 用Badboy工具录制,JMeter测试 1. 界面 2. 工具介绍 3. 导出jmeter脚本 4. 使用jmeter进行性能测试 十一、 多用户测试及集合点 1. 多用户测试 2. 集合点 十二、 分布式测试 十三、 监控内存及CPU等 十四、 用...
JMeter使用plugins插件进行服务器性能监控
02-24
性能测试时,我们的关注点有两部分1服务本身:并发响应时间QPS2服务器的资源使用情况:cpumemoryI/Odisk等JMeter的plugins插件可以实现对"二"的监控,具体操作步骤如下(主要记录我的实践过程):说明:我的jmeter版本...
java压力测试工具
11-21
项目中使用badbody和jmeter来进行类似于HP的loadrunner进行web性能测试
超详细!Jmeter性能测试
热门推荐
muxiaoyu0318的博客
02-15 5万+
性能测试认知主要内容什么是性能测试?性能测试分类性能测试指标性能测试的基本流程jmeter性能测试工具jmeter的介绍与组成jmeter工具的多并发请求jmeter工具脚本开发的精要技巧linux与MySQL的性能理解linux服务器性能监控指标与分析MySQL数据库性能指标分析课程学习目标掌握性能测试的基本流程掌握性能测试工具jmeter的基本使用掌握性能指标所代表的的含义掌握性能监控的基本命令了解慢查询的含义。
【高性能】Web性能压力测试JMeter测试秒杀Red
a23452的博客
09-14 1426
高性能问题:- 秒杀系统最多可以抗住多大的流量不出现异常? - 连续100小时以上的疲劳测试是否会让系统内存无法下降,GC无法回收内存,CPU不降低? - 高并发压力下,应用程序哪里消耗资源最多,需要优化? - 针对协议的测试: 比如之前的聊天服务,HTTP轮询 和 WebSocket谁更消耗性能?相差多少? - 单台压力机无法生成更大压力,如何增加压力机?
jmeter计算测试QPS
Le_1M的博客
11-02 1万+
jmeter测试QPS前言测试方法概论1.建立测试(准备工作,有经验的可以跳至下一步)2.在满足响应时间要求的情况下逐步增加线程3.在满足响应时间要求的情况下逐步增加线程 前言 网上一搜全是复制粘贴,根据个人理解,得出一套测试QPS的方法,so:本文一切概念为个人理解,请辩证的看文章。 测试方法概论 首先定一个响应时间的目标,本文定为平均相应时间小于200ms,其次根据这个响应时间找到能满足的最大线程数与合适的测试时间。最后根据公式QPS = 并发数(线程数)/ 平均响应时间 计算QPS 1.建立测试(准备
jemeter登录接口测试
06-03
JMeter可以用来进行接口测试,以下是一些关于JMeter登录接口测试的步骤: 1. 创建测试计划:在JMeter中创建一个测试计划,并添加一个线程组和一个HTTP请求。 2. 配置HTTP请求:在HTTP请求中,输入登录接口的URL,并选择请求方法为POST。在参数中,输入用户名和密码等登录信息。 3. 添加HTTP Header管理器:在HTTP请求中添加一个HTTP Header管理器,用于添加登录请求所需要的请求头信息。 4. 添加断言:在HTTP请求中添加一个响应断言,用于判断登录接口返回的数据是否符合预期。可以使用响应代码或响应数据等指标来进行判断。 5. 添加监听器:在HTTP请求中添加一个监听器,用于查看测试结果。可以使用图表、表格、树形结构等多种方式来查看测试结果。 6. 运行测试计划:在JMeter中运行测试计划,查看测试结果是否符合预期。 需要注意的是,登录接口测试需要考虑多种情况,如正确的用户名和密码、错误的用户名和密码、空的用户名和密码等。需要进行多次测试,并对测试结果进行分析和统计,以便发现潜在的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • C#/.NET Winform 界面库UI推荐 28174
  • SQL Server 创建索引(CREATE NONCLUSTERED INDEX ) 15661
  • JavaScript实现动态添加的元素添加点击事件 13447
  • .NET Core/.NET5/.NET6 开源项目汇总:(权限)管理系统 9859
  • layui中实现按钮点击事件 7130

分类专栏

  • vue 19篇
  • 钉钉和微信接口
  • MSSQL数据库 153篇
  • sqlsugar 3篇
  • oracle 1篇
  • C#技巧 110篇
  • .net core 61篇
  • java 43篇
  • 前端 75篇
  • WPF 3篇
  • 上位机 6篇
  • 开发资源 1篇
  • c# DevExpress 56篇
  • ASP.NET 10篇
  • C# FastReport 7篇
  • MQ消息队列
  • Dapper 1篇
  • C#实战及通用方法 24篇
  • layui
  • apicloud 1篇
  • k3cloud
  • VBA
  • jquery bootstrap 2篇
  • .net框架
  • PHP 2篇
  • JS 8篇
  • echarts
  • 算法
  • c#服务端开发 20篇
  • uniapp 2篇
  • FreeSql 1篇
  • 小程序 1篇
  • dephi实战 43篇
  • MYSQL 3篇
  • delphi component 67篇
  • delphi - JSON 9篇
  • 财务 2篇
  • linux 3篇
  • git 1篇
  • delphi服务中间层 19篇
  • delphi FMX跨平台 1篇
  • delphi数据库交互 9篇
  • delphi BPL插件开发 10篇
  • delphi 技巧 109篇

最新评论

  • vue权限管理---按钮权限如何写?

    CSDN-Ada助手: 不知道 Vue入门 技能树是否可以帮到你:https://edu.csdn.net/skill/vue?utm_source=AI_act_vue

  • SQL SERVER导出数据字典

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)增加条理清晰的目录;(2)提升标题与正文的相关性;(3)使用更多的站内链接。

  • C# WinForm扩展控件TextBox底部下划线展示

    南风古灶: 很不错,可以用!强烈推荐!

  • SQLserver 适合千万数据查询分页操作的一个通用存储过程(实测试成功)

    lhzcm888888: 会比row_number()分页快吗?

  • 一文带你Asp.Netcore webapi快速进阶【详细说明+使用案例】

    黑咩狗夜: 你这,跟官网的一样哈哈哈

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • SqlServer 函数Declare通过传变量查询超慢解决办法
  • Oracle 利用 rowid 提升 update 性能
  • C#发邮件_EmailHelper
2024年17篇
2023年17篇
2022年33篇
2021年215篇
2020年260篇
2019年377篇
2017年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司桐城网站推广系统推荐那曲网站推广方案公司忻州SEO按效果付费公司临汾网站推广报价武汉企业网站改版哪家好绍兴网页设计报价南京百度竞价价格布吉企业网站改版哪家好深圳设计公司网站报价益阳高端网站设计哪家好乐山企业网站建设哪家好丹竹头百姓网标王推广公司普洱企业网站设计公司雅安百度网站优化排名哪家好和县网站排名优化哪家好常州网站seo优化价格中山网站排名优化梅州网站优化推荐垦利网站seo优化哪家好木棉湾网站推广工具价格毕节高端网站设计哪家好贵阳优化定西seo排名多少钱晋中SEO按天扣费多少钱扬州网站制作设计楚雄网络广告推广公司潍坊网站搭建哪家好阜新网站优化哪家好天津百度竞价推荐宜昌外贸网站设计公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化