JavaMelody系统监控工具使用配置

项目开发结束了,需要做一下压力测试,就使用apache自带的ab程序进行压力测试,300个并发20000个请求,压了4组,服务器端内存就疯长到了330m,jvm一共才配置了512m,tomcat基本响应就很慢了,经过观察,330m内存基本不释放,查看自己开发的代码,没有发现不断向静态队列里不停地压对象的代码,应该基本排除是自有代码的问题,于是不停地google,发现了http://ddupnow.javaeye.com/blog/621619文章,博主的问题和我的症状很像,于是按照他的方式下载了visualvm and heapanalyzer软件,我用的是jdk1.5,发现visualvm竟然不能dump heap,于是又一番google,发现是jdk1.5的问题,于是修改成jdk1.6,这下可以到处内存堆了,然后使用heapanalyzer进行分析,dump文件很大,heapanalyzer软件几次导入都在55%的地方死掉,分析应该是jvm内存不够,所以采用命令行加参数来启动,java -Xmx1000m -Xms1000m -jar ha405.jar,ha405.jar是heapanalyzer的jar包,这下果然顺利装在dump文件,分析后和上面博主提出症状一样,也是压力测试软件频繁生成session,但session不释放问题,于是按照那篇博文的方式修改jsp文件,添加session="false"标示,再次测试,发现内存依然居高不下,分析我们的代码,我们采用的是struts架构,猜测应该是struts的控制器代码里创建了session信息,google发现http://java.chinaitlab.com/Struts/727256_2.html文章,果然是控制器里创建了session信息,由于我们的系统后台利用到了session信息,所以不能直接通过修改配置项来控制不生成session,我们的方案是集成一个控制器,通过url匹配,如果是前端页面就不创建session,如果是后台系统就创建session。


JavaMelody能够在QA和实际运行生产环境监测Java或Java EE应用程序服务器。并以图表的形式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。 
使用配置如下: 
1、到http://code.google.com/p/javamelody/downloads/list下载zip的压缩包 
2、解压缩并将javamelody.war复制到Tomcat发布目录下 
3、在被监控项目web.xml中加入如下代码 

Java代码   收藏代码
  1. <filter>   
  2.         <filter-name>monitoring</filter-name>   
  3.         <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>   
  4. </filter>   
  5. <filter-mapping>   
  6.         <filter-name>monitoring</filter-name>   
  7.         <url-pattern>/*</url-pattern>   
  8. </filter-mapping>   
  9. <listener>   
  10.         <listener-class>net.bull.javamelody.SessionListener</listener-class>   
  11. </listener>  


4、将javamelody.jar复制到被监控项目的LIB目录 
5、启动Tomcat应用服务器并访问javamelody应用,如http://localhost:8080/javamelody 
6、根据实际情况做如下设置 

JavaMelody系统监控工具使用配置 - zhuzhu - 五事九思 (大连Linux主机维护)
7、点击Add按钮即可 

JavaMelody系统监控工具使用配置 - zhuzhu - 五事九思 (大连Linux主机维护)


JavaMelody能够在QA和实际运行生产环境监测Java或Java EE应用程序服务器。并以图表的形式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。 
使用配置如下:

 

部署步骤如下: 


1:首先需要下载两个jar包,分别是javamelody-1.16.0.jar,jrobin-1.5.9.1.jar,第一个jar包下载 地址是:http://code.google.com/p/javamelody/downloads/detail?name=javamelody-1.16.0.jar&amp ;can=2&q= 
第二个jar包需要首先下载javamelody-1.16.0.war,然后在解压后的lib下面可以找到该包,该war包的下载地址是:http://code.google.com/p/javamelody/downloads/detail?name=javamelody-1.16.0.war&can=2&q =

 

2:将刚刚得到的两个jar包放到自己项目的lib目录下。 

3:在web.xml配置文件中进行配置,配置内容如下: 
         <filter> 
<filter-name>monitoring</filter-name> 
                <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> 
</filter> 
<filter-mapping> 
<filter-name>monitoring</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping> 
<listener> 
<listener-class>net.bull.javamelody.SessionListener</listener-class> 
</listener> 

4:重新启动项目,打开连接http://localhost:8080/monitoring/ 即可看到监控图表

 


又一种方法:

 

1、到http://code.google.com/p/javamelody /downloads/list下载zip的压缩包 
2、解压缩并将javamelody.war复制到Tomcat发布目录下 
3、在被监控项目web.xml中加入如下代码

  1. <filter>   
  2.         <filter-name>monitoring</filter-name>   
  3.         <filter-class >net.bull.javamelody.MonitoringFilter</filter- class >   
  4. </filter>   
  5. <filter-mapping>   
  6.         <filter-name>monitoring</filter-name>   
  7.         <url-pattern>/*</url-pattern>   
  8. </filter-mapping>   
  9. <listener>   
  10.         <listener-class >net.bull.javamelody.SessionListener</listener- class >   
  11. </listener>  

4、将javamelody.jar复制到被监控项目的LIB目录 
5、启动Tomcat应用服务器并访问javamelody应用,如http://localhost:8080/javamelody 
6、根据实际情况做如下设置

7、点击Add按钮即可


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值