Tomcat 性能监控与调优
Tomcat 性能监控与调优
Tomcat 远程 Debug
JDWP
bin/startup.sh 修改最后一行(添加 jpda)
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
bin/catalina.sh 为便于远程调试进行如下修改
JPDA_ADDRESS="localhost:8000" # 修改为 JPDA_ADDRESS="54321"
若发现54321端口启动存在问题可尝试bin/catalina.sh jpda start
本地添加包org.alanhou.monitor_tuning.chapter5,修改打包方式为 war,并重写configure,进入monitor_tuning文件夹,执行mvn clean package 进行打包,target 目录下默认生成的包名为monitor_tuning-0.0.1-SNAPSHOT.war,为便于访问修改为monitor_tuning.war再上传到服务器的webapps目录下
http://192.168.0.5:8080/monitor_tuning/ch5/hello
使用 Eclipse 远程调试,右击 Debug As > Debug Configurations… > Remote Java Application > 右击 New 新建
tomcat-manager 监控
1.conf/tomcat-users.xml添加用户
<role rolename="tomcat"/> <role rolename="manager-status"/> <role rolename="manager-gui"/> <user username="tomcat" password="123456" roles="tomcat,manager-gui,manager-status"/>
2.conf/Catalina/localhost/manager.xml配置允许的远程连接
<?xml version="1.0" encoding="UTF-8"?> <Context privileged="true" antiResourceLocking="false" docBase="$(catalina.home)/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1" /> </Context>
远程连接将allow=”127\.0\.0\.1″修改为allow=”^.*$”,浏览器中输入http://127.0.0.1:8080/manage或对应的 IP,用户名密码为tomcat-users.xml中所设置的
3.重启 Tomcat 服务
psi-probe 监控
下载地址:https://github.com/psi-probe/psi-probe,
下载后进入psi-probe-master目录,执行:
mvn clean package -Dmaven.test.skip
将 web/target/probe.war放到 Tomcat 的 webapps 目录下,同样需要conf/tomcat-users.xml和conf/Catalina/localhost/manager.xml中的配置(可保持不变),启动 Tomcat 服务
浏览器中输入http://127.0.0.1:8080/probe或对应的 IP,用户名密码为tomcat-users.xml中所设置的
Tomcat 调优
线程优化(webapps/docs/config/http.html):
maxConnections
acceptCount
maxThreads
minSpareThreads
配置优化(webapps/docs/config/host.html):
autoDeploy
enableLookups(http.html)
reloadable(context.html)
protocol=”org.apache.coyote.http11.Http11AprProtocol”
Session 优化:
如果是 JSP, 可以禁用 Session
补充:APR 配置