taikewu 2015-11-05
简介
下载
安装
测试
1.测试自定义java类
2.测试activemq
3.集群测试
简介
ApacheJMeter是Apache组织开发的基于Java的压力测试工具。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
下载
下载地址:http://jmeter.apache.org/download_jmeter.cgi
安装
windows下将jmeter解压,点击jmeterbin目录下的jmeter.bat运行
测试
1.测试自定义java类
创建java工程。
将Jmeter的安装目录lib/ext中拷贝两个文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar。到lib。
创建测试类,继承类AbstractJavaSamplerClient,有三个方法,,setupTest为请求初始化方法,runTest,为线程执行的方法。重写runTest
SampleResultsr=newSampleResult();
sr.sampleStart();//定义一个事务,表示这是事务的起始点
try{
//要执行测试的代码
sr.setSuccessful(true);
}catch(Throwablee){
sr.setSuccessful(false);//设置返回结果
e.printStackTrace();
}finally{
sr.sampleEnd();//定义一个事务,表示这是事务的结束点
}
4.导出可执行jar包,packagerequiredlib,将导出jar包加入到ext,执行jmeter.bat(在Spring工程中如果导出可执行jar包,如果运行无法找到配置文件,解压jar包将配置文件放到根目录下重新打包)
5.添加线程组
6.填写线程数,每秒执行数
7.右键,添加-sampler-java请求选择执行的类
8.右键-监听器添加聚合报告,图形报告等
7.执行。
注:如果测试需要引入spring等其他,直接将spring工程导出可执行jar包,步骤均可参见上面。将jar包加入到jmeterlib中注意jar包冲突,以及配置文件路径问题。
2.测试activemq
前提:activemq开启jmx,参见activemq文档
复制ActiveMQ包和其依赖包到Jmeter的lib目录下
创建jndi.properties文件
java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url=tcp://10.118.243.76:61667//修改地址
connectionFactoryNames=connectionFactory
queue.jmeterTestQueue=example.jmeterTestQueue//队列名jmeterTestQueue,根据自己的修改
topic.jmeterTestTopic=example.jmeterTestTopic//主题名jmeterTestTopic根据自己的修改
将jndi.properties添加到ApacheJMeter.jar(ApacheJMeter.jar在jmeterbin目录)中
创建线程组
右键-添加-sampler-jms-point-to-point(队列),填写队列名
6.执行
7.测试主题添加JMSPublisher,JMSSubscriber,配置如图
.
3.集群测试
测试条件:
·1.所有测试机必须在同一网段。
2.防火墙关闭。
3.jdk版本保持一致(如果不一致,保存的结果导入报错)。
4.服务器如果jdk是jrokit,启动会报错,打开jmeter文件,删除启动参数。
5.1099端口能访问。(当前windows机器无法访问linux服务器1099端口)
步骤
如上测试java类,加入测试jar文件,生成xxx.jmx文件。运行看测试结果,如果成功,将整个jmeter软件打包成xxxar.gz(不建议加入图形结果的监听器)。
将jmeter软件包上传到A,B,C三台linux服务器,解压,A服务器为master服务器,控制B,C
tar-xzvfxxx.tar.gz
启动B,C.
cdxxx/bin
./jmeter-server
修改A服务jmeterbin目录下的jmeter.properties,修改remote_hosts=CIP,B,IP,逗号隔开。A为控制机,IP为B,C的IP(2.0以上版本不用输入端口,默认端口为1099)
创建结果保存文件jmx.jtl运行A,.(中途终止会导致结果文件不完整,需要添加</testResults>)
./jmeter-n-txx.jmxRBIP,CIP-l/weblogic/jmeter/apache-jmeter-2.6/bin/jmx.jtl
打开jmeterGUI,打开xxx.jmx打开监听器(如聚合报告)导入jmx.jtl查看结果