为了帮助公司选择socket框架,这下逼我学习java代码,费了九牛二虎之力没想到真把mina框架搭建好了,下面就是做我的socket脚本开发和性能分析之路了,今天在这里我主要介绍一下如何使用jprofile监控我这个mina的jar包。
首先被测试的服务器是linux的,其中jprofile也是安装和配置过的,java环境也是配置好的,这些都在前面的文章里都介绍过了,这里都不做介绍,下面就如何将这个mina的jar包启动和jprofile的启动绑定在一起的事情。由于这几天弄jprofile监控jboss和tomcat也有受到点启发,于是决定自己写一个sh启动脚本。
首先说明的是,我的mina包放在/usr/socket目录下,名字为mina.jar,一下就是我的启动脚本:
#!/bin/sh
SERVER=/usr/socket //我的jar包路径
cd $SERVER //切换到该路径下
LD_LIBRARY_PATH="/opt/jprofiler5/bin/linux-x86:$LD_LIBRARY_PATH" //剩下的就和jprofile监控jboss配置完全一样了
export LD_LIBRARY_PATH
nohup java -server -Xmx512m -agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler5/bin/agent.jar -jar mina.jar > $SERVER/server.log 2>&1 &
echo $! > $SERVER/server.pid
然后将该脚本命名为:run.sh放到你想放的目录中,我为方便就放到了根目录下面
并使用chomd +x run.sh赋予可以操作的权限
最后执行./run.sh
就可以在log中看到如下内容:
JProfiler> Protocol version 25
JProfiler> Using JVMTI
JProfiler> 32-bit library
JProfiler> Listening on port: 8849.
JProfiler> Native library initialized
JProfiler> Waiting for a connection from the JProfiler GUI ...
这样就可以在windows客户端监控了。
环境变量配置如下:
JAVA_HOME=/usr/java/jdk1.6.0_13
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
export GCONF_LOCAL_LOCKS=1
export JAVA_HOME CLASSPATH PATH
export TOMCAT_HOME=/usr/local/tomcat
export LD_LIBRARY_PATH="/opt/jprofiler5/bin/linux-x86:$LD_LIBRARY_PATH"