Jmeter对HTTP请求压力测试、并发测试
最近公司需要开发一个简单的报名系统,供外网用户提供报名服务,由于我们公司是个初创的微型公司,开发人员都是刚毕业不久,开发经验相当缺乏。
对于服务器性能测试这块的经验更是少得可以忽略。迫使不得不让我们去尝试了解测试的知识。
首先我们的需求场景如下:
服务器硬件:(只有一台)
系统:Windows 2003
WebServer:Tomcat 7.0
Jdk:7.0
CPU:8核 2.9GHz两个
内存:16G
报名应用系统:只需要向外提供一个报名和找回报名号的接口。
我们需要:测试服务器能同时承受多少条HTTP请求。
通过各种百度后发现LoadRunner是好,但是使用起来短时间内比较难上手,然后就找到了Jmeter。
一、运行Jmeter:
首先在网上下载一个jmeter,我下载的是2.3.4版本,其他版本同理
通过解压后得到一个tgz格式的文件,然后再继续解压得到一个文件夹如下图:
打开文件夹运行bin目录下的 jmeter.bat即可进入jmeter的主界面,如图:
假如运行 jmeter.bat报错不能正常打开,那就要检查本机是否有安装JDK,如果能保证安装好JDK和配置好环境变量后,可以尝试直接运行
bin目录下的ApacheJMeter.jar,我是打不开jmeter.bat的提示我创建不了JAVA虚拟机,但是运行ApacheJMeter.jar却能正常进入主界面,不
能正常运行的可以尝试一下这种办法。
二、创建一个线程组
三、设置线程组参数
四、创建HTTP请求
五、配置HTTP请求
六、添加运行结果分析监听器
七、聚合报告
八、图形结果
九、总结
我们按照如上步骤设置好参数后,对应用进行了并发测试(测试时保持了测试机器和服务器同一个内网网段),第一次模拟100个用户并发请求(请求需要通过查询
具有1000条数据的数据表)持续执行10分钟,偏移保持在100以下,第二次模拟200个用户,偏移还是保持在100以下,第三次模拟350个用户时,偏移则保持在100左右。
而且服务器CPU状态良好,使用率一直保持在20%左右,最高不超过25%。为什么服务器CPU的使用率没有达到很高的情况下,而偏移会越来越高呢,我猜测可能跟Tomcat
没进行优化有关。最后我们认为该应用的并发量大概是在350-400之间。