9404803 发表于 2017-1-24 08:27:52

利用APR本地库提高Tomcat性能

  Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术。APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server 2.x的核心。APR有很多用途,包括访问高级IO功能(例如sendfile,epoll和OpenSSL),OS级别功能(随机数生成,系统状态等 等),本地进程管理(共享内存,NT管道和UNIX sockets)。这些功能可以使Tomcat作为一个通常的前台WEB服务器,能更好地和其它本地web技术集成,总体上让Java更有效率作为一个高 性能web服务器平台而不是简单作为后台容器。

  在产品环境中,特别是直接使用Tomcat做WEB服务器的时候,您应该使用Tomcat Native来提高其性能,详细配置和安装请参考Tomcat文档。

 

如果没有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 library
[*]OpenSSL libraries
  openssl 可以用 yum install openssl-devel,apr还是下载*.gz来安装。
apr-1.3.2.tar.gz
apr-util-1.3.2.tar.gz
两个可以在 http://apache.mirror.phpchina.com/apr/  找到。
tomcat-native.tar.gz 可以在tomcat/bin目录下找到。
  安装 apr

# wget http://apache.mirror.phpchina.com/apr/apr-1.3.2.tar.gz
# tar zxvf apr-1.3.2.tar.gz
# cd apr-1.3.2
# ./configure -prefix=/tomcat/lib/apr
# make
# make install

  apr 默认安装在 /usr/local/apr,这里指定安装到/tomcat/lib/apr目录,主要是为了以后迁移tomcat时可以直接copy过去,而不用重新安装apr。
  安装 apr-util

# wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.2.tar.gz
# tar zxvf apr-util-1.3.2.tar.gz
# cd apr-util-1.3.2
# ./configure --with-apr=/usr/local/apr -prefix=/tomcat/lib/apr
# make
# make install

  安装 tomcat-native

# cd /usr/local/tomcat-6.0.18/bin
# tar zxvf tomcat-native.tar.gz
# cd tomcat-native-1.1.14-src/jni/native
# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_11 -prefix=/tomcat/lib/apr
# make
# make install

  设置 apr 的环境变量:

# vi /etc/profile
// 后面添加以下内容
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tomcat/apr/lib
//使profile生效,
# source /etc/profile

  如果使用wrapper管理tomcat,则只要在wrapper.conf文件里增加以下内容:

wrapper.java.library.path.2=%CATALINA_HOME%/lib/apr/lib
  启动 tomcat 后, 看日志:

# bin/startup.sh
# head logs/catalina.out
// 可以看到以下结果:
信息: Loaded APR based Apache Tomcat Native library 1.1.14.
2009-1-13 11:12:51 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 , sendfile , accept filters , random .

  好了, 可以运行了,但没有测试其性能提升多少。
页: [1]
查看完整版本: 利用APR本地库提高Tomcat性能