tomcat一次优化经历

tomcat版本:8.5.29

jdk版本:openjdk-1

centos :7 内存4G 4核

默认tomcat connectors是bio阻塞模式,修改为APR模式如下

在confi/server.xml

开启listen<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

采用线程池配置如下

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="100" maxIdleTime="60000" prestartminSpareThreads="false" threadPriority="5" className="org.apache.catalina.core.StandardThreadExecutor" />

<Connector executor="tomcatThreadPool" port="8080"
               protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="1000"
               connectionTimeout="20000"        

               redirectPort="8443" />

接下来优化catalina.sh,优化jvm配置如下

JAVA_OPTS="-Dfile.encoding=UTF-8 -server -XX:MinHeapFreeRatio=80 -XX:MaxHeapFreeRatio=80 -XX:ThreadStackSize=512 -XX:NewSize=128m -XX:NewRatio=4 -XX:SurvivorRatio=8 -XX:+AggressiveOpts -XX:+UseBiasedLocking
-XX:+UseConcMarkSweepGC -XX:+ScavengeBeforeFullGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:../logs/performance_gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=../logs/performance_heapdump.hprof

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true"

配置Java Mission Control监控工具

CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=8901 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.password.file=jmxremote.password -Dcom.sun.management.jmxremote.access.file=jmxremote.access -Djava.rmi.server.hostname=10.1.12.49"

启动tomcat,可以采用./catalina.sh run 控制台方式运行。

使用http apr方式会遇到错误,原因是tomcat-nactive没有安装

解压tomcat文件夹下面tomcat-native.tar.gz包,解压后安装apr,apr-util工具。

yum install apr-devel openssl-devel  (centos7默认是openssl1.0.2)

如果找不到apr软件安装位置可以使用 rpm -qal |grep apr

执行脚本编译 ./configure --with-apr=/usr/local/apr --with-ssl=/usr/local/openssl

编译后执行make & make install,配置apr包到Tomcat可识别的路径,执行如下命令

mkdir -r /usr/java/packages/lib/amd64

cd /usr/java/packages/lib/amd64

 ln -s  /usr/local/apr/lib/libtcnative-1.so.0.2.16 libtcnative-1.so  

 ln -s  /usr/local/apr/lib/libtcnative-1.so.0.2.16 libtcnative-1.so.0

测试tomcat性能,可以使用Jmc连接到tomcat观看。jmc在java/bin下面。







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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值