您的位置:首页 > 运维架构 > Tomcat

Tomcat8开启APR运行模式(centos6.5)

2016-04-16 16:23 519 查看
Tomcat有三种运营模式:bio、nio、apr,不同模式下Tomcat的运行效率差别比较大。

一、bio(blockingIO)

阻塞式IO,Tomcat6及以前版本默认运行模式,性能非常低下,没有经过任何优化处理。

二、nio(noblocking IO)

非阻塞式IO,Tomcat7以后的版本默认运行模式,利用java异步IO技术使Tomcat运行性能有所提升。

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8543" />

如果要在Tomcat6开启NIO模式,直接修改server.xml里的Connector节点,修改protocol为 

org.apache.coyote.http11.Http11NioProtocol,启动生效。

<Connector port="8080" 	           protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8543" />

Tomcat8默认配置启动完后最后三行日志如下:



http-nio-8180

ajp-nio-8109

说明默认以nio模式运行。

三、apr(Apache Portable Runtime)

从操作系统级别来解决异步的IO问题,大幅度的提高性能。

必须要安装apr和native,直接启动就支持apr。

安装apr

apr需要APR库和OpenSSL相关库。

yum install apr-devel openssl-devel


安装native

进入Tomcat的bin目录,比如:

/opt/soft/tomcat_8180/bin

解压native源码包
tar -zxvf tomcat-native.tar.gz
cd tomcat-native-1.1.32-src/jni/native
./configure--with-apr=/usr/bin/apr-1-config--with-java-home="/opt/soft/jdk1.8.0_60" --with-ssl=yes
make
make install 
native 会被安装到/usr/local/apr/lib
我们需要把/usr/local/apr/lib/ libtcnative-1.so.0.1.32指向Tomcat可识别路径。

配置apr包到Tomcat可识别的路径

15-Apr-2016 22:18:54.209 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent
The APR based Apache Tomcat Native library which allows optimal performance in production environments
was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

Tomcat8默认apr是开启的,配置在server.xml

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
是由于操作系统未安装apr或者apr路径未指到Tomcat默认可识别的路径,则apr模式无法启动,自动切换启动nio模式。

cd /usr
mkdir java
cd java/
mkdir packages
cd packages/
mkdir lib
cd lib/
mkdir amd64
cd amd64/


把/usr/local/apr/lib/ libtcnative-1.so.0.1.32软链接到上面创建的目录。

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


重新启动Tomcat看到启动日志最后三行



http-apr-8180

ajp-apr-8109
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat 性能 优化 nio apr