如何使用jemeter进行性能测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何使⽤jemeter进⾏性能测试
⼀:如何使⽤jemeter进⾏压测
1)稳定性测试就需要长时间运⾏,其运⾏时间1天、2天、⼀周等
2)常规的性能压测⼤概时长在10-20分钟⽐较友好
压测设置参数如下:
⼆:线程属性
1. 线程数:虚拟⽤户数。
⼀个虚拟⽤户占⽤⼀个进程或线程。
设置多少虚拟⽤户数在这⾥也就是设置多少个线程数。
2. Ramp-Up Period(in seconds)准备时长:设置的虚拟⽤户数需要多长时间全部启动。
如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
3. 循环次数:每个线程发送请求的次数。
如果线程数为10,循环次数为100,那么每个线程发送100次请求。
总请求数为10*100=1000 。
如果勾选了“永远”,那么所有线程会⼀直发送请求,⼀到选择停⽌运⾏脚本。
4. Delay Thread creation until needed:直到需要时延迟线程的创建。
5. 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间
启动时间:测试启动时间,启动延迟会覆盖它。
当启动时间已过,⼿动只需测试时当前时间也会覆盖它。
结束时间:测试结束时间,持续时间会覆盖它。
线程数、Ramp-UP时间、循环次数之间的关系
三:定时器
当设置1S内完成5个但是有时候不是真正的1S就完成了5个,那么这个时候需要添加⼀个定时器,固定多长时间完成多少个线程
四:设置集合点
>Ramp-Up Period 设置0,⽴马开启发送请求,如果要模拟在⼀瞬间⾼并发的时候,很耗测试机器性能,⽆法⽀持较⼤的并发数
>如果Ramp-Up Period 设置1,代表1秒钟启动10个线程,0.5秒钟启动5个,也不算真正的同时10个并发。
----这种情况下,需要设置集合点,达到仿真⾼并发测试,主要作⽤是阻塞线程,直到指定的线程数量达到后再⼀起释放,瞬间产⽣很⼤的压⼒
Number of Simula...: 每集合够多少个⽤户(线程)后发送请求,确保设置的值不⼤于它所在线程组包含的⽤户数(线程数)>设置为0,等同于设置为线程组中的线程数
>设置为⾮0,代表达到设置的⽤户(线程)后,并发执⾏后续操作
Timout in...: 超时时间,即多少毫秒后同时释放已集结的的线程,发送测试请求
>设置为0,Timer将等待线程数直到达到了Number of....设置的值后才执⾏,不够则⼀直等待
>设置为⾮0,如果超过了所设置的最⼤等待时间后,还没有达到Number of..设置的值,Timer将不再等待
五:tps&响应时间
1):tps含义
tps:每秒钟处理的请求数,也就是指服务器的处理能⼒,tps越⾼说明服务器处理能⼒越好
响应时间:对请求作出响应所需要的时间也就是每个请求的处理时间
【响应时间=⽹络传输时间+应⽤服务器处理时间+数据库服务器处理时间】
2):在jmeter中查看压测报告
jmeter-监听器-聚合报告,主要看以下⼏项
samples:总共发出多少请求
average:平均相应时间,单位毫秒
Error%:错误率
throughput:吞吐量(等同于tps)
六:添加断⾔
1:断⾔添加路径
判断我们返回的⽂本中是否包含添加的内容,添加参数${"resultCode":"SUCCESS"}要测试的模式中
七:添加断⾔结果
运⾏完毕就可以看到断⾔结果成功与失败。