性能测试工具Jmeter负载模拟

打印 上一主题 下一主题

主题 844|帖子 844|积分 2542

目录
场景设置
线性属性
增补知识:java线程一样平常有以下5种状态
场景运行
1.GUI运行测试
2.非GUI运行测试

在Jmeter测试筹划中可以实现场景,负载,监听的功能。场景是用来尽量模拟用户的真实操作的工作单元,Jmeter场景主要通过线程组设置完成。场景设计源自于用户的真实操作,场景设计的原则是忠于用户的真实操作,将用户的各种操作组合到场景中来。
固然,Jmeter场景设计不但仅是设置线程组,有些复杂场景的设计还需要共同逻辑控制器。
场景设置

Jmeter线程组实际上是建立一个线程池,Jmeter根据用户的设置初始化线程池,并在运行时处理各种逻辑。


名称:可以随意设置,但最好有业务意义。
注释:可以随意设置,也可以为空
在取样器错误后要实行的动作:既某一个哀求出错后的异常处理方式,分为以下5中方式运行。
1>继续
如果哀求(用Sampler元件模拟的用户哀求)出现错误,其后的哀求将继续运行。
在大量用户并发时,服务器偶尔响应错误是正常现象。比方服务器由于性能题目不能正常响应大概响应慢,此时出现的错误需要被记载,作为服务器存在性能题目的依据。
2>启动下一进程循环。如果哀求出现错误,则同一脚本中的余下哀求将不再实行,直接实行下一进程。
3>停止线程。如果哀求失败,则停止当前线程,不再继续实行。假如配置了运行50个线程,如果某一线程中的某一个哀求失败了,则停止当前线程。如果停止的事件增多,则停下来线程也会增多,处于运行状态的线程会淘汰,最后导致服务器负载不敷(若服务器负载不敷,测试结果将不具有参考性),因此一样平常不会勾选此项。
4>停止测试。如果哀求失败,则停止全部线程,即停下整个测试。但是每个线程会实行完当前迭代后再停止。
5>立即停止测试。如果哀求失败,立即停止整个测试场景的运行。
线性属性

1>线程数。运行的线程数设置,一个线程对应一个模拟用户。
2>Ramp-up时间(秒)。全部线程从启动到开始运行的时间间隔,单位是秒。即全部线程在多长时间内开始运行。
如果线程数设置了30个,Ramp-up时间设置了10秒,那么开启场景后每秒会启动(30/10)3个线程。
如果Ramp-up设置了0秒,那么开启场景后将全部运行30个线程。
3>循环次数。哀求的重复次数。如果选择背面的“永远”,那么哀求将一直继续除非停止或瓦解;如果不选择“永远”,而在输入框中输入数字,那么哀求将重复指定的次数;如果输入1,那么哀求将实行一次;实行0次无意义,以是不支持设置为0。
4>Same user on each iteration。复用前一次迭代的线程。
5>延长创建线程知道需要。线程在Ramp-up Period的间隔时间内启动并运行。比方设置了30个线程10秒内的Ramp-up Period时间,那么每隔1秒启动3个线程并运行测试。


6>调理器。设置何时开始
7>持续时间(秒)。测试筹划持续多长时间。
8>启动延长(秒)。从当前延长多长时间开始运行测试,单机实行按钮后,仅初始化场景,不运行测试,等候延长到达后开始测试,运行时长为“持续时间”中设置的时间长度。
如果你以为这个场景无法满足负载递增的需求,不能设计出浪涌的场景,那么可以使用第三方插件(jmeter-plugins官网下载)来满足要求。
增补知识:java线程一样平常有以下5种状态

NEW。创建未启动,已经实例化。
RUNNABLE。就绪状态,线程对象创建后,其他线程调用了该对象的start()方法,该状态的线程位于可运行线程池中,已经预备好。只等获取CPU的使用权,然后开始运行。
RUNNING。运行状态,就绪状态的线程获取了CPU使用权,实行步伐代码。
BLOCKED。阻塞状态,线程由于某种缘故原由放弃CPU使用权,临时停止运行(典的如IO等候导致的线程处于BLOCKED状态):直到线程进入就绪状态,才有时机转到运行状态:阻塞的情况分为以下3种。
等特阻塞。运行的线程实行 wz0方法,线程进入等候池中。
同步阻塞。运行的线程在获取对象的同步锁时,由于该同步锁被别的线程占用(思就是资源争用落败),该线程被放入锁池中。
其他阻塞。运行的线程实行 sleep()或join()方法,大概发出了IO哀求时,该线程设置为组赛状态。当sleep()状态超时时、join()等候线程停止大概超时,大概IO处理完毕时线程重新转入就绪状态。
DEAD。殒命状态。实行完毕大概异常退出,线程生命周期竣事。
场景运行

Jmeter通过场景运行来制造负载。Jmeter的场景运行方式分为两种,一种是GUI方式,另一种是非GUI方式。在windows系统中我们可以使用下令窗口的中运行。
Jmeter运行基于两种架构,一种是本地化运行,即单机运行;别的一种是远程运行。不管是GUI大概是非GUI方式,都支持本地化和远程运行。
1.GUI运行测试

由于具有可视化,用GUI方式查看测试结果比较直观,用鼠标单击就可以控制启动,也方便我们实时查看运行状态,查看测试结果,运行线程等。
2.非GUI运行测试

非GUI运行测试是没有Jmeter界面,我们在下令窗口通过下令行来实现场景运行,之以是使用非GUI方式运行是由于Jmeter可视化界面及监听动态展示结果比较消耗负载机资源,再多并发情况下GUI方式往往会导致负载及资源告急,会对性能测试结果造成影响。
固然,这个影响不是说被测系统的性能受到影响。比如,响应时间变大之类,而是影响了负载量的生成。非GUI方式下100个线程可以产生100TPS的负载,而GUI方式下大概会产生80TPS的负载数。
如果一台负载机器只能支持100个线程运行,那么我们只能有多增长机器外,在测试实行时提醒各人关注负载机性能,可以多架设几台jmeter负载机器来减轻单台负载机器的资源消耗。
非GUI运行Jmeter测试筹划下令行:



  1. java -jar %JMETER_HOME%\bin\ApacheJMeter.jar -n -t %JMETER_HOME%'scriptJforum-5.1-01.jmx -r -l result.jtl
复制代码



  1. %JMETER_HОME%\bin\jmeter -n -t %JMETER_HOME%\script\ Jforum-5.1-01.jmx -1%JMETER_HOME%\result\results.jtl
复制代码
这两种方式都可以运行测试筹划,JMeter运行测试筹划实际上是通过运行ApacheJMeter.jar 来完成的。
阅读后若有收获,不吝关注,分享,在看等操作!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

来自云龙湖轮廓分明的月亮

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表