`
cuijiemin
  • 浏览: 264113 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用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

  1. # wget http://apache.mirror.phpchina.com/apr/apr-1.3.2.tar.gz  
  2. # tar zxvf apr-1.3.2.tar.gz  
  3. # cd apr-1.3.2  
  4. # ./configure  
  5. # make  
  6. # make install  
File代码 复制代码
  1. # wget http://apache.mirror.phpchina.com/apr/apr-1.3.2.tar.gz   
  2. # tar zxvf apr-1.3.2.tar.gz   
  3. # cd apr-1.3.2  
  4. # ./configure   
  5. # make   
  6. # make install  
# 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
# make
# make install

apr 默认安装在 /usr/local/apr

安装 apr-util

  1. # wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.2.tar.gz  
  2. # tar zxvf apr-util-1.3.2.tar.gz  
  3. # cd apr-util-1.3.2  
  4. # ./configure --with-apr=/usr/local/apr  
  5. # make  
  6. # make install  
File代码 复制代码
  1. # wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.2.tar.gz   
  2. # tar zxvf apr-util-1.3.2.tar.gz   
  3. # cd apr-util-1.3.2  
  4. # ./configure --with-apr=/usr/local/apr   
  5. # make   
  6. # make install  
# 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
# make
# make install

安装 tomcat-native

  1. # cd /usr/local/tomcat-6.0.18/bin  
  2. # tar zxvf tomcat-native.tar.gz  
  3. # cd tomcat-native-1.1.14-src/jni/native  
  4. # ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_11  
  5. # make  
  6. # make install  
File代码 复制代码
  1. # cd /usr/local/tomcat-6.0.18/bin   
  2. # tar zxvf tomcat-native.tar.gz   
  3. # cd tomcat-native-1.1.14-src/jni/native   
  4. # ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_11   
  5. # make   
  6. # make install  
# 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
# make
# make install

设置 apr 的环境变量:

  1. # vi /etc/profile  
  2. // 后面添加以下内容  
  3. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib  
  4. //使profile生效,  
  5. # source /etc/profile  
启动 tomcat 后, 看日志:
  1. # bin/startup.sh  
  2. # head logs/catalina.out  
  3.   
  4. // 可以看到以下结果:  
  5. 信息: Loaded APR based Apache Tomcat Native library 1.1.14.  
  6. 2009-1-13 11:12:51 org.apache.catalina.core.AprLifecycleListener init  
  7. 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].  
File代码 复制代码
  1. # bin/startup.sh   
  2. # head logs/catalina.out   
  3.   
  4. // 可以看到以下结果:   
  5. 信息: Loaded APR based Apache Tomcat Native library 1.1.14.   
  6. 2009-1-13 11:12:51 org.apache.catalina.core.AprLifecycleListener init   
  7. 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].  

好了, 可以运行了,但没有测试其性能提升多少。

 

 

 

參考自:http://www.chinajvm.com/main/helpcontent.jsp?id=5320b71a1eb098e2011ee230a2311367

http://blog.chenlb.com/2009/01/install-apache-portable-runtime-or-tomcat-native-on-tomcat.html

分享到:
评论

相关推荐

    tomcat apr

    标题中的“tomcat apr”指的是...在开发和维护Tomcat服务器时,了解如何正确地集成和利用APR可以帮助优化服务器性能,尤其是在处理大量并发连接时。同时,理解APR的工作原理也有助于排查与网络、I/O相关的性能问题。

    有关tomcat5.5.28的windows下的apr配置BUG,官方没有对应的tcnative-1.dll文件

    Tomcat可以利用APR库来提升其性能,尤其是在处理网络I/O和SSL方面。 描述中提到的“官方没有对应的tcnative-1.dll文件”,暗示了在尝试配置Tomcat以使用APR时,用户发现缺少了必要的动态链接库文件`tcnative-1.dll`...

    apr-centos7依赖库.rar

    在默认情况下,Tomcat会使用Java的NIO(非阻塞I/O)实现,但若启用APR,可以利用操作系统原生的I/O接口,提供更好的性能。 关于压缩包内的文件名称列表,由于只给出了"apr-centos7依赖库"这一项,我们可推测这个...

    linux下tomcat开启apr时安装包

    APR库提供了与操作系统底层更紧密的集成,从而能够利用系统的本地功能,如异步网络I/O和高性能的SSL处理。本篇将详细介绍如何在Linux系统上为Tomcat配置和启用APR。 首先,我们来看两个关键的压缩包文件:`apr-...

    tomcat apr模式所需资源包

    在Tomcat 7及以上版本中,引入了APR (Apache Portable Runtime) 模式,以提高其性能,尤其是对于高并发场景。APR模式利用操作系统底层的I/O功能,如TCP/IP套接字和多线程,从而提供了比默认的Java NIO或BIO模型更高...

    apache_tomcat7.0.39_apr_apr-util_pcre

    将APR与Tomcat集成,可以利用操作系统的本地功能,从而提升服务器的性能和稳定性,特别是在处理网络连接和I/O操作时。 APR-util是APR的扩展库,包含了一些实用的辅助函数,如数据库连接、加密、认证和数据格式处理...

    基于java的Tomcat 安装apr 支持 Tomcat Native.zip

    在Tomcat中使用APR,可以利用操作系统级别的优化,比如零拷贝(zero-copy)、高性能的网络I/O以及SSL处理,从而显著提升Tomcat的性能。 Tomcat Native库是Tomcat与APR交互的桥梁,它是一个C编译的库,提供了Java ...

    Tomcat开启APR运行模式1

    3. **配置APR本地库**: 修改Tomcat的启动脚本`catalina.sh`,添加`JAVA_OPTS`环境变量,指定`java.library.path`为APR库的位置,例如`/usr/local/apr/lib`。这样JVM在启动时就能找到APR库。 4. **调整JVM设置**:...

    apache-tomcat-9.0.71 apr文件

    2. **本地化功能**:通过APR,Tomcat可以利用操作系统提供的本地化服务,如多语言支持和本地时区处理,使得应用程序更好地适应不同环境。 3. **性能提升**:APR库通常比纯Java实现更快,因为它利用了C语言编写的...

    tomcat apr 32and64 tcnative-1.dll 1.1.30

    综上所述,Tomcat APR和TCNative-1是提升Tomcat性能的关键组件,通过与操作系统的紧密集成,为Web应用程序提供更快的响应时间和更高的并发处理能力。正确配置和使用这些组件对于优化Tomcat服务器的性能至关重要。

    apr-1.7.0.tar.gz

    通过阅读源码,开发者可以学习如何利用APR API来编写高性能的Java应用服务器代码。 集成Tomcat Native到Tomcat的过程包括以下几个步骤: 1. 安装APR库:在系统上安装对应的APR和APR-Util库,这是Tomcat Native的...

    Windows下Apache2.2 + Tomcat5.5 + Apr配置备忘录

    本配置备忘录主要关注如何在Windows上配置Apache2.2与Tomcat5.5,同时利用APR(Apache Portable Runtime)提升性能。APR是一个C语言库,提供了操作系统接口的抽象层,使得Apache可以在多种平台上运行得更加高效。 ...

    tomcat APR配置所需要的全部资源

    在Tomcat中使用APR,可以显著提升其性能,特别是处理静态文件时,因为APR可以直接利用操作系统的内建机制,比如使用硬件加速来提升读取速度。这有助于减少CPU使用率,提高服务器响应速度,从而解决或避免IO问题。 ...

    tomcat-native-1.2.25-src-build

    Tomcat本身是用Java编写,但在某些情况下,为了提升性能或者利用操作系统级别的特性,如多线程处理、SSL加速等,可以启用非Java的本地接口,这就是APR库的角色。 【APR】全称Apache Portable Runtime,是Apache ...

    apr-1.7.0.tar.gz tomcat-native-1.2.26-src.tar.gz

    Tomcat Native是为了增强Apache Tomcat服务器性能而设计的一系列本地库。这些库通常与APR一起使用,可以提供以下优势: 1. **HTTP/2支持**:通过使用NPN(Next Protocol Negotiation)或ALPN(Application-Layer ...

    基于tomcat的连接数与线程池详解

    Tomcat 7和Tomcat 8的默认protocol处理逻辑不同,根据是否有APR本地库的支持来选择BIO或APR,而在Tomcat 8.5和Tomcat 9.0,不再支持BIO。 连接数和线程池的配置直接关联到Tomcat的性能和资源消耗。连接数决定了...

    tomcat的运行模式

    APR是专门为提高Tomcat性能而设计的一种运行模式。APR利用了本地库的性能优势,可以显著提升Tomcat的性能,特别是在处理大量并发连接的情况下。为了启用APR模式,首先需要在系统中安装APR库,然后在编译或部署Tomcat...

    tomcat 64位tcnative

    这个库是一个本地接口,它允许Tomcat更高效地与操作系统交互,特别是在处理SSL连接时,能够显著提高性能。在描述中提到的问题,是指用户在运行32位版本的Tomcat时,如果操作系统是64位的,可能会遇到兼容性问题,...

    nginx+tomcat高可用、高性能jsp集群.pdf

    - 安装和配置apr和apr-util库,这对于优化Tomcat性能至关重要,特别是与本地服务器技术的集成。 - 安装`tomcat-native`,以利用APR库提升性能。 总结起来,这个配置方案通过Nginx和LVS提供高可用性,通过多台...

    apr aprutil libtool

    APR和apr-util的使用可以提升Tomcat的性能,因为它们利用了本地操作系统的功能。Libtool则在构建和管理Tomcat依赖的库时起到关键作用。而JK2连接器使Tomcat能够与Apache HTTP Server无缝集成,提供更强大的Web服务...

Global site tag (gtag.js) - Google Analytics