最近开发遇到压力测试需求,使用了下jmeter,使用起来很简单,顺便做个笔记。
下载apache-jmeter-3.3.zip,其他版本下载地址:Apache Jmeter
解压缩,双击jmeter.bat打开Jmeter客户端:
Windows客户端Jmeter初始窗口
右键"测试计划》添加》线程组":
设置线程数和循环次数:
右击线程组,"添加》Sampler》HTTP请求"
Http请求界面填写协议、域名、Http请求方式、请求路径(去除域名)、如请求有参数填写参数,点击保存,保存后是个.jmx文件。
执行压测后需要看测试结果,可以新建查看结果树:
右键线程组,"添加》监听器》查看结果树"
然后执行开始和暂停按钮便可以看到HTTP请求记录。可以分析请求响应,返回SUCCESS表示成功,于是可以添加响应断言,对HTTP请求按需筛选:
右键线程组,"添加》断言》响应断言":
再次点击执行,请求响应包含了SUCCESS的为成功的,不包含的都归为失败的请求,可以用Aggregate Graph生成图表:
然后,可以不停地修改HTTP里设置的线程数和循环次数,观看请求记录,找到系统的瓶颈。如果手动停止请求,会造成一些HTTP(Socket closed)失败,为了达到实际测试效果,设置线程数和循环次数。
需要注意【线程数】和【循环次数】的乘积等于一个固定值就可以,然后你可以变换两个乘数。如:10 * 2000,20 * 1000,40 * 500, 50 * 400,100 * 200这样几组数据,请求总量相同,检测系统性能。