用VisualVM和JConsole监控tomcat性能
最近要做性能測試,除了要測試系統能支撐用戶并發數,還要統計應用的對CPU,內存使用情況。要測試的系統基于Java開發,因此試著用VisualVM來監控。VisualVM除了能監控CPU和內存使用情況,還能監控和分析垃圾回收和線程,當然這是更高級了,開發人員用的更多一點。JConsole是VisualVM的前身,VisualVM已經內置在JDK1.6里面了,如果安裝的JDK里面沒有,也可以去sun的網站去單獨下載JConsole和VisualVM。
我的測試環境是Solaris和tomcat,不同環境配置可能配置有差異。
1、修改Tomcat的啟動語句,將bin/catalina.sh文件vi編輯:
?????將原
?????JAVA_OPTS="-Xmx1024M -Xms512M -Xss3M"
?????export JAVA_OPTS
?????調整為
?????JAVA_OPTS="-Xmx1024M -Xms512M -Xss3M -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"
?????export JAVA_OPTS
2、修改jmx配置文件
?????目錄切換至JAVA_HOME所在目錄
?????/jre/lib/management下,
?????a、將jmxremote.access、jmxremote.password.template權限調整為讀寫;
??????????chmod 600 jmxremote.password.template chmod 600 jmxremote.access
?????b、jmxremote.password.template文件重命名
??????????mv jmxremote.password.template jmxremote.password
?????c、vi jmxremote.password
??????????去掉
??????????# monitorRole QED
??????????# controlRole R&D?
??????????的#號(Solaris下可編輯模式下,可以使用x刪除光標標記處字符)
??????????:wq 保存操作
3、啟動Tomcat
?????./catalina.sh run
4、查看JMX啟動情況
?????netstat -a | grep -i 8999 查看端口占有情況
?????如機器8999端口被其他程序占用,可調整端口-Dcom.sun.management.jmxremote.port=????
5、客戶端機器可通過jconsole或visualvm對其進行監控
?????使用JMX方式,輸入url 用戶名、密碼即可訪問
??????url:遠程主機IP:8999
??????用戶名及密碼(參考jmxremote.password文件) monitorRole只能讀,controlRole能讀寫
轉載于:https://www.cnblogs.com/testgirl/archive/2010/01/07/1641208.html
總結
以上是生活随笔為你收集整理的用VisualVM和JConsole监控tomcat性能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA系统和DOMINO通过LDAP集
- 下一篇: 乙肝疫苗该怎么打(转)