网站项目流程软件wap网站
news/
2025/9/24 9:05:00/
文章来源:
网站项目流程,软件wap网站,做彩票网站要多大服务器,赣州网站制作公司上一节中#xff0c;我们了解了jmeter的一此主要元件#xff0c;那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。1)测试目标网站是fnng.cnblogs.com2)测试目的是该网站在负载达到20 QPS 时的响应时间。QPS 解释QPS…上一节中我们了解了jmeter的一此主要元件那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。1)测试目标网站是fnng.cnblogs.com2)测试目的是该网站在负载达到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*1002000 。如果勾选了“永远”那么所有线程会一直发送请求一到选择停止运行脚本。设置合理的线程数对于能否达到测试目标有决定性的影 响。在本例中要求得到网站首页在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 TimerConstant 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端口号80Implementation java协议 http方法 GET路径/---------------------------------------------------------------常数吞吐量定时器Target throughput(in samples per minute)1200.0Calculate Throughput based on All active threads---------------------------------------------------------------点击工具栏上的运行按钮或者点击菜单栏“ 运行---启动 ” 或者使用快捷键ctrlr 来运行程序。聚合报告分析查看聚合报告的运行结果OK! 到此一次完整的性能测试结束如果你从中有所收获推荐一记~
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915438.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!