tomcat优化

一、禁用ajp
修改配置文件server.xml
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
二、线程池
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="200" minSpareThreads="20"/>

<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
三、4中运行模式
BIO:同步阻塞模式,性能低下,tomcat8.5之后已经放弃
NIO:同步非阻塞模式,tomcat内部实现reactor模型,性能较高 
NIO2:纯异步模式,tomcat内部实现了preactor线程模型
APR:安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高了性能

HTTP1.1连接器 tmocat8以上默认使用NIO,7及以下默认BIO
tomcat7配置NIO
org.apache.coyote.http11.Http11NioProtocol
tomcat8
修改protocol属性使用NIO2
org.apache.coyote.http11.Http11Nio2Protocol
AJP1.3连接器 tmocat8以上默认使用NIO,7及以下默认BIO
修改protocol属性使用NIO2
org.apache.coyote.ajp.AjpNio2Protocol
APR配置
1、安装gcc、expat-devel
yum -y install gcc
yum -y install expat-devel

2、下载所需的包
apr/apr-iconv/apr-util的下载路径:http://apr.apache.org/download.cgi
本文档下载的是软件是如下版本
apr-1.5.2.tar.gz 
apr-iconv-1.2.1.tar.gz 
apr-util-1.5.4.tar.gz
 
tomcat-native下载路径:http://archive.apache.org/dist/tomcat/tomcat-connectors/native
本文档下载的是tomcat-native-1.2.2-src.tar.gz,如果是Tomcat7.0.30之后的版本也可到tomcat安装目录的bin下面找tomcat-native.tar.gz  

3、安装apr
tar zxvf apr-1.6.5.tar.gz
cd apr-1.6.5
./configure --prefix=/usr/local/apr
make
make install

4、安装apr-iconv
tar -zxvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make
make install

5、安装apr-util
tar zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make
make install

6、安装tomcat-native
注意:安装之前请检查openssl-devel是否安装,因为编译的时候添加了--with-ssl=yes选项,
此选项需要openssl-devel支持,配好yum源通过yum -y install openssl-devel安装,
当然如果不加这个选项也可不装openssl-devel。

或者这样安装openssl
openssl
cd /usr/local
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --shared && make test && make install
cp zutil.h /usr/local/include
cp zutil.c /usr/local/include

wget ftp://mirrorx.ustc.edu.cn/CPAN/src/5.0/prel-5.30.1.tar.gz
tar -zxvf prel-5.30.1.tar.gz
cd prel-5.30.1
./configure -des -Dprefix=$HOME/localpel
make && make test && make install

cd /usr/local
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar -zxvf openssl-1.0.2l.tar.gz
cd openssl-1.0.2l
./configure -prefix=/usr/local/openssl shared zlib && make && make install

tomcat中已有,在bin下
tar zxvf tomcat-native-1.2.12-src.tar.gz
cd tomcat-native-1.2.12-src/native
(如版本是tomcat-native-1.1.x-src.tar.gz 则路径是tomcat-native-1.1.x-src/jni/native)
./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.7.0_80 --with-ssl=yes
make
make install

--with-ssl=/usr/local/openssl

7、添加环境变量
编辑/etc/profile 在文件末尾处添加下面的变量 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib 
然后执行下面命令,使环境变量即时生效
source /etc/profile
 
或者修改tomcat启动脚本catalina.sh/cactalina.bat
在文件中加入启动参数:
    JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"
或者:
    CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/local/apr/lib"
 
注意如果是windows平台请不要添加双引号。

8、server.xml
添加
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

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

9、验证
看到类似这样的信息就证明 apr 启动成功了。
Jul 20, 2011 15:27:32 PM org.apache.catalina.core.AprLifecycleListener 
initINFO: Loaded APR based Apache Tomcat Native library 1.1.20.
也可以通过Tomcat Manager来查看服务器的当前状态

四、sendfile
<Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
设置compression="off"
设置useSendFile="true"
五、压缩
compression="on"
compressionMinSize="2048" 大于2KB的文件才进行压缩.
会被压缩的MIME类型列表,多个逗号隔.compressableMimeType很重要,它用来告知tomcat要对哪一种文件进行压缩,可以通过F12找到。
compressableMimeType="text/html,text/xml,text/css,text/plain,text/javascript,application/javascript,text/json,application/json"
noCompressionUserAgents="gozilla, traviata" 对于这两种浏览器,不进行压缩.
六、deferAccept参数优化
apr根据系统自动适应
七、keepalive参数优化
maxKeppAliveRequests="100"  //最大长连接个数,1表示禁用,-1表示不限制个数,默认100个,一般设置在100至200,强制关闭掉socket链接
keepAliveTimeOut="20000"  //socket链接保持多久,,单位毫秒

八、springboot
https://blog.csdn.net/lelemom/article/details/82843006
具体版本见官网

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值