tomcat服务器的调优
常用调优方法:
1、可能情况下选择更高版本的虚拟机
2、可能情况下选择更高版本的tomcat
3、调整虚拟机启动参数,参加可用内存数
4、调整日志参数,关闭debug功能
5、启用数据压缩,减少文件传输数量
6、打开线程池(<Executor name="tomcatThreadPool"...)
7、增加最大连接数(在connector标签里用属性表示)
注:
主要更改分布在:cataline.sh 以及 server.xml中
虚拟机启动参数调整方法:
JAVA_OPTS=…)。
参数 描述
-Xms<size> JVM初始化堆的大小
-Xmx<size> JVM堆的最大值(实际消耗会稍大于此值)
一般把-Xms和-Xmx设为一样大,而堆的最大值受限于系统使用的物理内存。一般建议堆的最大值设置为可用内存的最大值的80%,但是不要超过物理内存+虚拟内存的1/4。
-XX:PermSize 指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之
中。
注意。-XX:MaxPermSize过小会导致:java.lang.OutOfMemoryError: PermGen space
-XX:MaxPermSize
-XX:MaxNewSize MaxPermSize缺省值和-server -client选项相关。
-server选项下默认MaxPermSize为64m
-client选项下默认MaxPermSize为32m
-server 让tomcat以服务器模式启动
-XX:ThreadStackSize 每个线程的堆栈大小,可以由-Xss代替
-Xss 设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。
样例如下($TOMCAT_HOME/bin/catalina.sh):
# Set juli LogManager config file if it is present and an override has not been issued
JAVA_OPTS='-server –Xms1024m -Xmx1024m -XX:PermSize=64m -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true -XX:ThreadStackSize=256'
if [ -z "$LOGGING_CONFIG" ]; then
if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then
LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
else
# Bugzilla 45585
LOGGING_CONFIG="-Dnop"
fi
fi
名词解释:
APR: Apache portable Run-time libraries(可移植运行库)
为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库
APR库使用
Tomcat中使用APR库,其实就是在Tomcat中使用JNI的方式来读取文件以及进行网络传输。
可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式传输的话,也可以提升SSL的处理性能。
参考链接:
tomcat调优 http://xuliduo.iteye.com/blog/751626
Tomcat 性能调优方案 http://www.oschina.net/question/4873_31752
服务器tomcat心的 http://wenku.baidu.com/view/663499ea81c758f5f61f67e7.html
浙公网安备 33010602011771号