今天启动tomcat无意中发现
Tomcat Native library which allows optimal performance in production environments was not found
on the java.library
后来经过拜google大师,发现tomcat5.5.10以上版本支持一种叫apr的东西,支持通过apr进行JNI(java 本地接口)调用,使用本地代码来加速网络处理。
在这里与各位分享一下。
APR(Apache portable Run-time libraries,Apache可移植运行库,是Apache的一个独立项目)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。
先看下配置APR的优点
如果不使用apr之前,Tomcat的Servlet线程池使用的是阻塞IO的模式,使用apr之后,线程池变成了NIO的非阻塞模式,而且这种NIO还是使用了操作系统的本地代码,看tomcat文档上面的说法是,极大提升web处理能力,不再需要专门放一个web server处理静态页面了。
不用apr之前,你配置多少个等待线程,tomcat就会启动多少个线程挂起等待,使用apr以后,不管你配置多少,就只有几个NIO调度的线程,这一点你可以通过kill -3 PID,然后察看log得知。
假设不使用apr,可能端口的线程调度能力比较差,所以通过iptables进行端口转发,让两个端口去分担一个端口的线程调度,就有可能减少线程调度的并发,从而提高处理能力,减少资源消耗。
下面去看下如何配置APR:
如果没有apr技术,启动tomcat 时出现如下提示:
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found
on the java.library.path: /usr/java/jdk1.6.0_06/jre/lib/i386/client:/usr/java/jdk1.6.0_06/jre/lib/i386:/usr/java/jdk1.6.0_06/jre/../lib/i386:
/usr/java/packages/lib/i386:/lib:/usr/lib
如果安装了apr技术,可以看到以下结果:
信息: Loaded APR based Apache Tomcat Native library 1.1.14.
2011-2-26 19:57:51 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
按照官方说明需要一下库:
APR library
OpenSSL libraries
openssl 可以用 yum install openssl-devel,apr还是下载*.gz来安装。
(1)安装APR
#apr-1.3.8.tar.gz
#tar zxvf apr-1.3.8.tar.gz
#cd apr-1.3.8
#./configure
#make
#make install
安装在/usr/local/apr
#apr-util-1.3.9.tar.gz
#tar zxvf apr-util-1.3.9.tar.gz
#cd apr-util-1.3.9
#./configure --with-apr=/usr/local/apr
#make
#make install
安装在/usr/local/apr/lib
tomcat-native在解压后的tomcat/bin目录中可以找到
安装 tomcat-native
#cd /usr/local/tomcat5.5/bin
#tar zxvf tomcat-native.tar.gz
#cd tomcat-native-1.1.3/jni/native
#./configure --with-apr=/usr/local/apr
#make
#make install
(2)设置 Tomcat 整合 APR
有两种方法:
(1)修改 tomcat 的启动 shell ( catalina.sh ),在该文件中加入启动参数: CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/local/apr/lib" 。
(2)也可以在环境变量中配置/etc/profile中加入 export CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/local/apr/lib"
(3)判断安装成功:
如果看到下面的启动日志,表示成功。
org.apache.coyote.http11.Http11AprProtocol init
分享到:
相关推荐
tomcat优化配置tomcat优化配置tomcat优化配置tomcat优化配置
包含以上是个包,只要应用于LINUX下,用于TOMCAT优化apr连接器使用的 说明下关于TOMCAT调优一种建议 1 Connector介绍 1.1 Connector的种类 Tomcat源码中与connector相关的类位于org.apache.coyote包中,Connector...
查了一下,需要一个apr支持,然后按提示去 下载 http://tomcat.heanet.ie/native/1.1.9/binaries/win32//tcnative-1.dll 将这个文件复制到C:WINDOWSsystem32下面 或者将这个文件放到Tomcat下的bin目录下 再启动...
很好的TOMCAT-5.5.X优化配置文档,详细说明了各个的参数设置
tomcat GC 优化配置
包含以上是个包,只要应用于LINUX下,用于TOMCAT优化apr连接器使用的 说明下关于TOMCAT调优一种建议 1 Connector介绍 1.1 Connector的种类 Tomcat源码中与connector相关的类位于org.apache.coyote包中,...
APR所需 博文链接:https://cats-tiger.iteye.com/blog/135782
jsp配置+sql配置+tomcat配置jsp配置+sql配置+tomcat配置jsp配置+sql配置+tomcat配置jsp配置+sql配置+tomcat配置jsp配置+sql配置+tomcat配置jsp配置+sql配置+tomcat配置jsp配置+sql配置+tomcat配置jsp配置+sql配置+...
tomcat常规优化配置,有相关解释,超实用。
NULL 博文链接:https://coffeesweet.iteye.com/blog/648628
Tomcat配置方法 Tomcat配置方法 Tomcat配置方法
tomcat的优化,配置之后能很大的提高你的项目速度!!
Tomcat 安装apr 支持 Tomcat Native
tomcat jdk 和tomat的一些配置文件包括server.xml和linux使用service启动tomcat
The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path CProgram FilesJavajdk1.6.0_04jrebin;CProgram FilesTomcat ...
tomcat 启动优化和并发并发优化配置
apache,tomcat集群优化详细配置
tomcat9+apr+redissession共享,相关使用资料请参考https://www.jianshu.com/p/b6d57c500aa5
Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS参数
apache_tomcat7.0.39_apr_apr-util_pcre