樱花季节 发表于 2013-9-27 10:43:43

利用jmeter和jconsole进行压力测试

需求背景:流量投诉助手进行压力测试,20个并发,持续10小时,查看系统的稳定性

工具:jmeter+badboy+jconsole

利用badboy录制脚本,在jmeter中进行并发,利用jconsole监控jvm

步骤:

1:设计测试场景

场景1:用户打开流量投诉助手智能分析页面,输入手机号码,选择时间段:2013-09-01~2013-09-30,点击查询

场景2:用户打开流量投诉助手详单查询页面,输入手机号码,选择时间段:2013-09-01~2013-09-30,点击查询

具体操作步骤如下:

2、打开badboy(官网下载:http://www.badboy.com.au/),我下载的版本是2.2_beta_1。

界面如下:



录制好脚本后,这里选择保存为jmeter脚本,因为我需要借助jmeter进行压力测试,操作如下:点击【File】,选择【Export to Jmeter】,脚本录制好了。


3、打开jmeter进行并发数等相关配置。

打开jmeter(官网下载:http://jmeter.apache.org/),需要注意的是首先要安装jdk,我下载的版本是apache-jmeter-2.9。
无需安装,直接解压即可。进入apache-jmeter-2.9\bin 目录,找到"jmeter.bat"脚本,运行就可以启动jmeter。



这里我们选择【文件】菜单,打开刚才录制的badboy脚本,然后添加线程组(选择测试计划,右键选择Thread,选择线程组)。

线程属性配置如下:线程数:50,Ramp-Up-Period:10,循环次数:永远

调度器配置如下:启动时间:2010/08/07 06:03:31   结束时间:2010/08/07 06:03:31   持续时间:36000

监听器配置如下(选择线程组,右键选择监听器,添加相应的监听):添加查看结果树、用表格查看结果、图形结果 3个监听器










4、jconsole配置监控。

我这里的应用服务器用的是 apache-tomcat-7.0.40,如果需要通过远程启动jconsole来监控jvm,则首先需要在tomcat中进行配置。

找到/home/bigdata/apache-tomcat-7.0.40/bin 目录,修改catalina.sh 文件(window则修改 catalina.bat ),添加如下代码:




代码:

if [ "$1" = "start" ]; then
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=10.154.15.118 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port="9004" -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
fi


这段代码的大概意思是:添加远程访问10.154.15.118的服务,指定端口9004,authenticate=falsessl=false 这两句说明不需要验证就允许访问。

我在tomcat7中没有找到(if [ "$1" = "start")关键字,所以是自己添加的,与tomcat6 等其他版本有些不一样。

重新启动tomcat,则jmx服务会被启动,这样就可以通过远程启动jconsole ,来监控jvm了。

检查linux上9004端口有没有启动:

$ lsof -i:9004
COMMAND   PID    USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
java    11308 bigdata   16uIPv6 953031145      0t0TCP *:9004 (LISTEN)
说明9004端口启动了。



5、远程启动jconsole

本地win8系统,打开命令窗口,cmd,输入jconsole命令






不需要输入用户名和密码,因为我在tomcat中设置的就是不需要验证,直接点击【连接】,就可以监控jvm了。


一切准备就绪,在jmeter中启动压力测试脚本,观察监听器以及jconsole中内存等相关指标的运行情况吧。

aomin0101 发表于 2013-10-3 17:26:36

谢谢分享

樱花季节 发表于 2013-10-8 11:06:44

怎么不显示图片啊

泠泠月色 发表于 2013-10-8 16:45:02

谢谢分享,其实google开发的插件也不错,O(∩_∩)O~
页: [1]
查看完整版本: 利用jmeter和jconsole进行压力测试