发表于: 2016-04-16 20:14:34
1 2232
【操作步骤】
1.在Ubuntu下安装JMeter。
1.1 下载apache-jmeter-2.13.tgz
1.2 解压至/usr/local/目录下,并重命名文件夹为jmeter
1.3 配置环境变量。
sudo vi /etc/profile
添加下述两行:
export JMETER="/usr/local/jmeter/apache-jmeter-2.9"
export CLASSPATH="$JMETER/lib/ext/ApacheJMeter_core.jar:$JMETER/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:$CLASSPATH"
完成添加后下述命令使配置生效:
source /etc/profile
2.启动JMeter。参考链接:http://www.360doc.com/content/14/0318/23/16361380_361732630.shtml
2.1 进入JMeter安装目录下执行sudo ./bin/jmeter.sh
2.2 添加线程组ITtask_4,设置线程数
2.3 在线程组中添加http请求,设置好IP和端口号
2.4 在HTTP请求这个Sampler上右键-->添加-->监听器-->察看结果树,此功能用于debug
2.5 在HTTP请求这个Sampler上右键-->添加-->监听器-->聚合报告,此功能用来记录执行的http sample的执行结果
3.记录一下每次测试聚合报告的Throughtput值
测试页面:http://localhost:8080/ITtask_4/pages/home
线程数:1 Throughtput:58.8/sec
线程数:10 Throughtput:10.8/sec
线程数:50 Throughtput:29.7/sec
线程数:100 Throughtput:44.3/sec
线程数:500 Throughtput:49.6/sec
线程数:1000 Throughtput:55.2/sec
记录这个好像没什么用,可能是我这个页面太简单了,而且又没有数据处理,线程数为1000完全无压力,当线程数达到5000时,出现Error,错误率16.06%,我看了一个错误原因,是页面无响应。这应该就算是程序崩溃了吧。
【知识总结】
1.JMeter中的线程数就相当于同时操作的用户数。
2.TPS:Transaction per second 每秒钟处理的事务数。
关于事务:一次网络访问中从服务接收到请求(起),到服务完成响应(止)的整个过程就是一个事务;在这个过程中,可能会包含很多环节,例如服务还需要从另外的数据库服务中获取数据,从其他中间件、网络中获取资源,服务内部的程序逻辑需要做数据处理、计算等等,但无论怎样,这些过程都会包含在请求和响应之间;服务完成客户端的这样的一个过程就是完成一次事务,单位时间内(通常用秒)服务能完成多少个这样的事务就是TPS,就是衡量服务处理能力的指标。
3.关于TPS计算,直接在聚合报告中有一个Throughtput参数,这个参数就相当于TPS。
4.JMeter聚合报告中各参数的意义:
Sample:本次测试场景共运行多少线程;
Average:平均响应时间;
Median:统计意义上的响应时间中值;
90% line:所有线程中90%的线程响应时间都小于xx的值;
Min:响应最小时间;
Max:响应最大时间;
Error:出错率;
Thougtput: 吞吐量;
kb-sec: 以流量做衡量的吞吐量;
5.测试时,线程数分别设为10、50、100、500、1000个,每个用户循环访问一次。
6.每次测试前都要先清除掉以前的测试记录,不然的话Throughtput会变得很小。
【出现的问题(已解决)】
【出现的问题(未解决)】
【疑问】
评论