1.目前使用了JProfiler最新版本7.2.3,JMeter使用了2.7的版本
因为项目组要求对某些方法进行性能监控,所以用到了JProfiler和JMeter等测试工具。
2.先说说JMeter,JMeter作为客户端模拟请求:
1)软件都自己下载吧,官网上都有。解压缩包,点击bin目录下的jmeter.bat即可(JavaSwing的界面),在启动界面上面看到‘测试计划’,
在‘测试计划’上面右键-》Threads(user)-》线程组,在‘线程组’右键-》Sampler-》添加java请求,
在‘Java请求’右键-》添加‘聚合报告’,其他的视图一般不需要添加,因为没什么用处,还占系统资源,一般我们比较关注的是聚合报告中的Throughout,也就是传说中的TPS。
2)把你的jar包和依赖都拷贝到lib的ext目录下面,点击‘java请求’节点,右面的类名称选择你的Main方法所在类,这里面有几个地方需要注意:你的Main类需要继承AbstractJavaSamplerClient,当然你的工程中需要引入依赖ApacheJMeter_components.jar
ApacheJMeter_core.jar
ApacheJMeter_ftp.jar
ApacheJMeter_functions.jar
ApacheJMeter_http.jar
ApacheJMeter_java.jar
ApacheJMeter_jdbc.jar
ApacheJMeter_jms.jar
ApacheJMeter_junit.jar
ApacheJMeter_ldap.jar
ApacheJMeter_mail.jar
ApacheJMeter_monitors.jar
ApacheJMeter_native.jar
ApacheJMeter_report.jar
ApacheJMeter_tcp.jar
继承了AbstractJavaSamplerClient后,一般需要实现它的2个方法:
public void setupTest(JavaSamplerContext context) :这个是启动前的准备工作,比如初始化spring容器;
public SampleResult runTest(JavaSamplerContext context) :真正调用的测试方法,写在这里。
下面附上一个简单例子:
package com.jd.saf.thrift;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.jd.gp.test.impl.Hello;
public class JMeterThriftTest extends AbstractJavaSamplerClient {
static String testStr = null;
static int num = 500;
static Hello.Iface hello = ThriftClient.instance.getHello();
//private ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext("classpath:spring-thrift-comsumer.xml");
//private Hello.Iface hello = null;
public void setupTest(JavaSamplerContext context) {
super.setupTest(context);
if(testStr == null) {
StringBuilder sb = new StringBuilder();
for(int k=0;k<num; k++){
sb.append("ABCDEFG***");
}
testStr = "参数= " + sb.toString() + ",参数长度="+ (sb.length() + 24);
}
//hello = (Hello.Iface) appContext.getBean("gpHelloIface");
}
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult result = new SampleResult();
result.setSuccessful(false);
result.sampleStart();
try {
hello.helloString(testStr);//只有这个地方需要修改,写你的具体业务方法
result.setSuccessful(true);
} catch (Exception e) {
} finally {
result.sampleEnd();
}
return result;
}
}
补充,在线程属性中,线程数:一般是模拟客户端的数量,Ramp-Up指定线程启动时间,如果线程启动比较耗时,最好将Ramp-Up的时间设置长一点,防止不必要的错误而设置的过长可能会影响你的TPS数值。
3.然后说说JProfiler7.2.3的安装使用:
1)以普通的JavaApp为例子(Tomcat和JBoss等例子网上也很多):
如果是windows作为服务端,直接点击JProfiler.exe进入图形界面,引导安装即可,比较简单
如果是linux作为服务端,直接执行.sh的文件即可。可能需要授权:chomd +x jpro*.sh,虚拟机在加上
(我的licensekey是到官网临时申请的)
2)windows的步骤,最好配一下环境变量 path : C:\Program Files\jprofiler7\bin\windows
启动脚本示例:
@echo off
title Prop-Main
java -classpath ..\conf;..\lib\* -agentpath:jprofilerti=port=8849,config=C:\Users\Administrator\.jprofiler7\config.xml -Xbootclasspath/a:C:\PROGRA~1\JPROFI~1\bin\WINDOW~1s\agent.jar com.jd.saf.thrift.ThriftServer
pause
3)linux的步骤:
首先到/ect下早点profile文件,在最下面追加:
JPROFILER_HOME=/opt/jprofiler7/bin/linux-x64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JPROFILER_HOME
export LD_LIBRARY_PATH=$JPROFILER_HOME
#此处为必须,不加上会提示找不到agent.jar,如果还是提示的话 就断开重连一次
启动脚本示例:
nohup java -classpath ../conf/:../lib/* -server -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true -agentlib:jprofilerti=port=8849 com.jd.saf.thrift.ThriftServer
7.2.3的版本,写启动脚本需要特别注意,和之前的版本比不需要其他复杂麻烦的操作。
然后启动客户端的连接即可了。
相关推荐
Mac版JProfiler+JVM性能调优工具。 JProfiler 的内存视图部分可以提供动态的内存使用状况更新视图和显示关于内存分配状况信息的视图。所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象。
JProfiler7.1.2强大的性能剖析...1、Linux+WebSphere+Jprofiler、Window+WebSphere+Jprofiler、Window+tomcat+Jprofiler及JProfiler客户端安装配置 2、JProfiler7.1.2永久license key 10个 3、JProfiler主要功能介绍
不错的工具,供大家使用
JProfiler11+注册机+使用手册,亲测可用,直接安装运行后用注册机生成注册码进行注册
jprofiler9+中文使用手册 保证是可以使用版本,请大家放心下载
完整的“[本地会话实时分析模式] IDEA集成JProfiler”所需要的资源。 具体可以参考博客文章的步骤安装。 亲测可以监控分析。
无限免费使用jprofiler ,体验jprofiler 的强大功能。
jprofiler使用教程,数据分析说明
jprofiler8安装包+注册码 可用
JProfiler11安装包+注册机+idea最新离线插件 ,亲测绝对保证可用。结合idea插件使用完美。
jprofiler jmetter 是好工具 内存测试 cpu资源并发测试
jProfiler7 破解版+中英文使用手册
JProfiler
jprofiler的功能,相信找这个资源的人一定知道了,我就不说了,主要告诉大家这些资料是找了好久才集合在一起的.方便学习的人一次下载使用.也能节省点时间.希望对大家有帮助.
这套软件是国外的产品灰常强大,但是是英文的,呵呵
jprofiler
jprofiler 6.06 JProfiler6 JProfiler6.x JProfiler6.* 注册机 注册码 序列号 亲自在JProfiler6.06版本上测试通过可用
jprofiler7.2.X注册码 JProfiler入门教程(中文)
jprofiler 注册机 可用 ...此外,JProfiler在低级别分析数据之上添加了语义层,如在CPU分析视图中呈现的JDBC,JPA/Hibernate,JMS和JNDI调用。凭借其JEE支持,JProfiler弥合了代码分析器和高级JEE监视工具之间的差距。
详细介绍jprofiler安装过程和安装过程会出现的问题以及教你如何获得注册码。安装成功后教你如何使用工具,例如什么情况下表示内存溢出,什么情况下进程死锁,这个工具主要是看那些使用标签。