使用APR提高tomcat或jboss的性能
h3. 什么APR
APR是apache提供的一组通用的JNI接口,通过本地化的方法来提高应用与系统的交互,比如磁盘io,网络io等。主要提高web容器(tomcat,jboss)对静态文件的处理。,同时如果你使用了HTTPS方式传输的话,也可以提升SSL的处理性能。
h3. 如何安装APR
从 http://apr.apache.org/download.cgi 下载安装包,包括 APR 和 APR-util?
# wget http://labs.renren.com/apache-mirror//apr/apr-1.4.5.tar.gz # tar zxvf apr-1.4.5.tar.gz # cd apr-1.4.5 # ./configure --prefix=/usr/local/apr-1.4.5 # make # make install # 建立软链接,方便维护 # ln -s /usr/local/apr-1.4.5 /usr/local/apr
?
# wget http://labs.renren.com/apache-mirror//apr/apr-util-1.3.12.tar.gz # tar zxvf apr-util-1.3.12.tar.gz # cd apr-util-1.3.12 # ./configure --prefix=/usr/local/apr-util-1.3.12 --with-apr=/usr/local/apr-1.4.5 # make # make install # ln -s /usr/local/apr-util-1.3.12 /usr/local/apr-util
?
# wget http://apache.etoak.com//apr/apr-iconv-1.2.1.tar.gz # tar zxvf apr-iconv-1.2.1.tar.gz # cd apr-iconv-1.2.1 # ./configure --prefix=/usr/local/apr-iconv-1.2.1 --with-apr=/usr/local/apr-1.4.5 # make # make install # ln -s /usr/local/apr-iconv-1.2.1 /usr/local/apr-iconv
?
# wget http://tomcat.heanet.ie/native/1.1.14/source/tomcat-native-1.1.14-src.tar.gz # tar zxvf tomcat-native-1.1.14-src.tar.gz # cd tomcat-native-1.1.14-src # ./configure --prefix=/usr/local/tomcat-native-1.1.14 --with-apr=/usr/local/apr-1.4.5 # make # make install # ln -s /usr/local/tomcat-native-1.1.14 /usr/local/tomcat-native
?
h3. 如何启用APR
在tomcat或jboss的启动参数中添加环境变量,如:
JAVA_OPTS="-Djava.library.path=/usr/local/tomcat-native/lib"
?
h3. 如何校验是否已经启用APR
jboss未启用APR,是直接使用ajp协议,在service.log中输出如下:
INFO? [org.apache.coyote.ajp.AjpProtocol] Initializing Coyote AJP/1.3 on ajp-0.0.0.0-8009
如果jboss启用APR,那协议应该是AjpApr协议,在service.log中输出如下:
INFO? [org.apache.coyote.ajp.AjpAprProtocol] Initializing Coyote AJP/1.3 on ajp-0.0.0.0-8009
tomcat未启用APR,如下:
org.apache.coyote.http11.Http11Protocol start
tomcat启用APR,如下:
org.apache.coyote.http11.Http11AprProtocol start?
?