tomcat 优化

2018年7月4日 0 条评论 1.19k 次阅读 1 人点赞

1.【开启arp模式】(提升对静态文件的处理能力)

1.1)系统自带的apr版本过低,需下载新版apr:

https://apr.apache.org/download.cgi

apr-1.6.3.tar.gz

apr-util-1.6.1.tar.gz

1.2)编译安装apr

./configure --prefix=/usr/local/apr
make && make install

1.3)编译安装apr-util

需要依赖expat-devel包:

yum install expat-devel
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install

1.4)编译安装openssl1.01以上版本

./config --prefix=/usr/local/openssl1.01l shared threads enable-tlsext
make && make install

1.5)编译安装tomcat narive

tar -zxf apache-tomcat-8.5.24
#到tomcat目录下取得native包
cp bin/tomcat-native.tar.gz /usr/local/src/
cd /usr/local/src/
tar -zxf tomcat-native.tar.gz
cd tomcat-native-1.2.10-src/native
./configure --with-apr=/usr/local/apr \
--with-java-home=/opt/java/jdk1.8.0_144/ \
--with-ssl=/usr/local/openssl1.01l \
--prefix=/usr/local/tomcat-native
make && make install

1.6)配置环境变量(多个tomcat可通用)

编辑tomcat目录下的bin/setenv.sh,没有则创建:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tomcat-native/lib
export LD_LIBRARY_PATH

1.7 )修改server.xml

找到要用的connector,修改protocol

protocol="org.apache.coyote.http11.Http11AprProtocol"

1.8)启动并检查

启动后看日志,有下面的的信息则表示启用apr成功:

信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8185"]


2.【配置启动参数】

catalina.sh

#优化大内存分配、内存回收,必须满足条件:(4096-500)*(1-85*0.01)>500 (要稍稍大于,不能太大,但不能<=)
JAVA_OPTS="-server -Xms4096m -Xmx4096m -Xmn500m
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:+CMSClassUnloadingEnabled
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=85
"
#小内存分配只要配置以下就可以
JAVA_OPTS="-server -Xms1024m -Xmx1024m"
#开放上传文件权限
UMASK="0022"

3.【配置服务参数】

server.xml

找到使用的connector,增加参数:

maxThread="500" maxConnection="10000"

默认200,10000(nio模式)/8192(APR模式)

4. 【开启jconsole远程tomcat】

catalina.sh增加:

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=<tomcat服务器IP>"  
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

图形界面 监控参考: //www.sevenfal.com/2018/07/04/1413.html

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)