`
liushilang
  • 浏览: 89364 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat的APR配置

阅读更多

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

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

 

我在开发环境测试,对于没用配置APRtomcat,处理大小为217kb的文件的响应时间一般在10秒以上(第一次访问,状态值为200的),处理大小为50kb的图片时的响应时间大都在5秒左右;对于配置了APRtomcat。处理这两个文件的响应时间都在1毫秒左右,相差甚远啊!

测试jquery-1.3.2.min.js,大小56K,未配置APR前的初次访问响应时间在5秒以上,配置APR后的初次访问响应时间降到了1毫秒左右,大部分在1毫秒以下,极少出现20毫秒。

 

上面说的是在未加压力测试的情况下,如果执行压力测试,响应时间相差更远,50kb的图片在未配置APR时的响应时间会升高到20秒以上,而加上APR配置之后响应时间几乎都还在1毫秒一下。

 

可见APRtomcat处理静态文件能力会有很大提高!

如果没有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-develapr还是下载*.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.       tar zxvf apr-1.3.2.tar.gz

2.       cd apr-1.3.2 

3.       ./configure 

4.       make 

5.       make install 

 

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

 

安装 apr-util

1.       tar zxvf apr-util-1.3.2.tar.gz

2.       cd apr-util-1.3.2 

3.       ./configure --with-apr=/usr/local/apr 

4.       make 

5.       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

 

设置 apr 的环境变量:

1.       vi /etc/profile

2.       添加以下内容 

APR_HOME=/usr/local/apr/

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$APR_HOME/lib

Export  LD_LIBRARY_PATH

3.       使配置生效source /etc/profile 

 

为不影响其他tomcat的配置,我们不采用上面的设置方法,而是直接在tomcatbin下的catalina.sh中加入如下配置:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

export LD_LIBRARY_PATH

 

 

 

启动 tomcat 后, 看日志,有如下一行:

信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

 

 

javaeye给的一个普通的配置

 <Connector port="8080" maxHttpHeaderSize="8192" useBodyEncodingForURI="true"  

               maxThreads="1000" minSpareThreads="25" maxSpareThreads="75"  

               enableLookups="false" redirectPort="8443" acceptCount="100"  

               compression="on" compressionMinSize="2048"   

  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  

               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/> 

 

 

增大tomcat内存:

JAVA_OPTS="-server -Xms800m -Xmx800m   -XX:MaxNewSize=256m"

分享到:
评论

相关推荐

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

    7. **验证配置**:启动Tomcat服务器,如果一切正常,你应该能在Tomcat的日志中看到类似“Using APR based Apache Tomcat Native library [version]”的提示,这表明APR已经成功启用。 通过上述步骤,你已经成功配置...

    tomcat apr

    4. 配置Tomcat的`server.xml`文件,添加`&lt;UseAprCodec&gt;`元素到`Connector`配置中,启用APR支持。 使用APR带来的优势包括: - 更好的性能:由于APR直接与操作系统交互,因此可以减少Java代码的调用开销。 - 支持更多...

    tomcat apr模式所需资源包

    通过上述步骤,你可以将Tomcat配置为使用APR模式,从而提升其在处理高并发请求时的性能。不过,值得注意的是,虽然APR模式在某些情况下可以显著提升性能,但在某些低负载或特定应用场景下,可能与Java NIO或BIO模式...

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

    本备忘录主要关注如何在Windows上配置Apache2.2与Tomcat5.5,同时利用Apr(Apache Portable Runtime)库提升性能。 Apache2.2是世界上最流行的开源HTTP服务器,它处理静态文件非常高效。而Tomcat5.5则是一个开源的...

    Tomcat 安装apr 支持 Tomcat Native

    标题"Tomcat 安装apr 支持 Tomcat Native"指的是在Apache Tomcat服务器上安装和配置Apache Portable Runtime (APR)库以启用Tomcat Native库的支持。Tomcat Native是一个可选的组件,它可以提供对操作系统级别的优化...

    linux下tomcat开启apr时安装包

    本篇将详细介绍如何在Linux系统上为Tomcat配置和启用APR。 首先,我们来看两个关键的压缩包文件:`apr-1.6.2.tar.gz`和`apr-util-1.6.0.tar.gz`。这两个是Apache APR库及其工具集的源代码包,它们是Tomcat启用APR的...

    tomcat 启动报APR based Apache Tomcat Native library not found

    - 配置问题:CATALINA_HOME环境变量未设置或指向错误的Tomcat安装目录,导致Tomcat无法找到APR库。 - 缺少依赖:系统可能缺少必要的依赖库,例如在Linux系统上可能需要安装libapr-1.so和libaprutil-1.so。 **3. ...

    apr库(tomcat优化)

    Tomcat在配置APR之后性能非常强劲。 tomcat默认采用的BIO模型,在几百并发下性能会有很严重的下降。tomcat自带还有NIO的模型,另外也可以调用APR的库来实现操作系统级别控制。 NIO模型是内置的,调用很方便,只需要...

    tomcat apr工具包及安装说明

    下面我们将详细介绍如何在Tomcat中安装和配置APR工具包。 首先,理解为什么需要APR。Tomcat原生使用Java NIO进行网络通信,但在高并发场景下,APR通过利用操作系统提供的原生API,如epoll(Linux)或kqueue...

    tomcat APR连接调度方式

    描述中的链接指向了一篇博客文章,可能详细介绍了如何在Tomcat中配置和使用APR连接器,以及APR在实际运行中的效果和优化技巧。通常,启用APR需要安装相应的库(如libapr和libaprutil),并在Tomcat的配置文件中指定...

    Tomcat安裝APR指南

    此文档的主要目的是提供一个清晰、简洁的流程,指导用户在Tomcat服务器上安装和配置APR库,以提升Tomcat的服务效率和响应速度。 1.2 文件对象 本指南面向所有负责系统部署和服务运行的开发和运维人员,无论他们是否...

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

    标题中的“有关tomcat5.5.28的windows下的apr配置BUG”指的是在Windows操作系统上使用Apache Tomcat 5.5.28版本时,遇到的一个与Apache Portable Runtime (APR) 模块配置相关的错误。APR是Apache HTTP服务器项目的一...

    tomcat apr 32and64 tcnative-1.dll 1.1.30

    2. **配置:** 需要在`catalina.sh`或`catalina.bat`启动脚本中添加环境变量,指示Tomcat使用APR。 3. **验证:** 启动Tomcat后,通过访问管理页面或查看日志文件来确认APR已成功加载。 **压缩包中的文件:** 1. **...

    解决tomcat配置ssl错误的解决办法

    在 Tomcat 服务器中配置 SSL 加密连接是非常重要的,然而在 Tomcat 6.0.33 版本中,默认启用了 APR(APR 是通过 JNI 访问的可移植库,可以提高 Tomcat 的性能和伸缩性),这使得传统的 SSL 配置方式无法使用。...

    centos6搭建tomcat,apr资源包

    9. 最后,你可以按照正常的流程下载并安装Tomcat,但在配置Tomcat时,需要指定apr和apr-util的路径。例如,在`setenv.sh`或`catalina.sh`中添加以下行: ``` export CATALINA_HOME=/path/to/tomcat export JAVA_...

    tomcat9+apr+redissession共享

    - **配置APR**:首先,你需要在Tomcat服务器上安装并配置APR库。这通常包括下载和安装libapr和libaprutil,然后配置Tomcat的`conf/server.xml`文件,启用APR连接器。 - **安装Redis**:在服务器上安装Redis,确保它...

    apache_tomcat配置

    这个文本文件可能包含了配置示例或者步骤说明,内容可能包括如何设置服务器端口、添加新的虚拟主机、配置连接器(如NIO、APR)、安全管理、JVM内存设置等。为了充分利用这个资源,你需要打开文件并详细阅读,理解每...

    tomcat8开启apr需要相关的组件,包含jdk,apr,apr,util,tomcat8,openssl

    本文将详细讲解如何在Tomcat 8中配置和启用APR,以及涉及的相关组件。 1. **Apache Portable Runtime (APR)** APR库提供了一个与平台无关的接口,让开发者能够利用底层操作系统的特性,如高效I/O操作和多线程处理...

Global site tag (gtag.js) - Google Analytics