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

Tomcat8如何开启APR运行模式(linux centos)

2016-08-09 10:37 375 查看
Tomcat有三种运营模式:bio、nio、apr,不同模式下Tomcat的运行效率差别比较大。


一、bio(blockingIO)

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


二、nio(noblocking IO)

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

[html] view
plain copy

 





<Connector port="8080" protocol="HTTP/1.1"  

               connectionTimeout="20000"  

               redirectPort="8543" />  

如果要在Tomcat6开启NIO模式,直接修改server.xml里的Connector节点,修改protocol为 
org.apache.coyote.http11.Http11NioProtocol,启动生效。

[html] view
plain copy

 





<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相关库。

[html] view
plain copy

 





yum install apr-devel openssl-devel  


安装native

进入Tomcat的bin目录,比如:

/opt/soft/tomcat_8180/bin

解压native源码包

[html] view
plain copy

 





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可识别的路径

[plain] view
plain copy

 





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

[html] view
plain copy

 





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

是由于操作系统未安装apr或者apr路径未指到Tomcat默认可识别的路径,则apr模式无法启动,自动切换启动nio模式。

[plain] view
plain copy

 





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软链接到上面创建的目录。

[html] view
plain copy

 





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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: