如何使用jemeter进行性能测试
下载链接:http://jmeter.apache.org/download_jmeter.cgi
一:如何使用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:断言添加路径
判断我们返回的文本中是否包含添加的内容,添加参数${"resultCode":"SUCCESS"}要测试的模式中
七:添加断言结果
运行完毕就可以看到断言结果成功与失败