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 [true], sendfile [true], accept filters [false], random [true].
好了, 可以运行了,但没有测试其性能提升多少。
相关推荐
标题中的“tomcat apr”指的是...在开发和维护Tomcat服务器时,了解如何正确地集成和利用APR可以帮助优化服务器性能,尤其是在处理大量并发连接时。同时,理解APR的工作原理也有助于排查与网络、I/O相关的性能问题。
Tomcat可以利用APR库来提升其性能,尤其是在处理网络I/O和SSL方面。 描述中提到的“官方没有对应的tcnative-1.dll文件”,暗示了在尝试配置Tomcat以使用APR时,用户发现缺少了必要的动态链接库文件`tcnative-1.dll`...
在默认情况下,Tomcat会使用Java的NIO(非阻塞I/O)实现,但若启用APR,可以利用操作系统原生的I/O接口,提供更好的性能。 关于压缩包内的文件名称列表,由于只给出了"apr-centos7依赖库"这一项,我们可推测这个...
APR库提供了与操作系统底层更紧密的集成,从而能够利用系统的本地功能,如异步网络I/O和高性能的SSL处理。本篇将详细介绍如何在Linux系统上为Tomcat配置和启用APR。 首先,我们来看两个关键的压缩包文件:`apr-...
在Tomcat 7及以上版本中,引入了APR (Apache Portable Runtime) 模式,以提高其性能,尤其是对于高并发场景。APR模式利用操作系统底层的I/O功能,如TCP/IP套接字和多线程,从而提供了比默认的Java NIO或BIO模型更高...
将APR与Tomcat集成,可以利用操作系统的本地功能,从而提升服务器的性能和稳定性,特别是在处理网络连接和I/O操作时。 APR-util是APR的扩展库,包含了一些实用的辅助函数,如数据库连接、加密、认证和数据格式处理...
在Tomcat中使用APR,可以利用操作系统级别的优化,比如零拷贝(zero-copy)、高性能的网络I/O以及SSL处理,从而显著提升Tomcat的性能。 Tomcat Native库是Tomcat与APR交互的桥梁,它是一个C编译的库,提供了Java ...
3. **配置APR本地库**: 修改Tomcat的启动脚本`catalina.sh`,添加`JAVA_OPTS`环境变量,指定`java.library.path`为APR库的位置,例如`/usr/local/apr/lib`。这样JVM在启动时就能找到APR库。 4. **调整JVM设置**:...
2. **本地化功能**:通过APR,Tomcat可以利用操作系统提供的本地化服务,如多语言支持和本地时区处理,使得应用程序更好地适应不同环境。 3. **性能提升**:APR库通常比纯Java实现更快,因为它利用了C语言编写的...
综上所述,Tomcat APR和TCNative-1是提升Tomcat性能的关键组件,通过与操作系统的紧密集成,为Web应用程序提供更快的响应时间和更高的并发处理能力。正确配置和使用这些组件对于优化Tomcat服务器的性能至关重要。
通过阅读源码,开发者可以学习如何利用APR API来编写高性能的Java应用服务器代码。 集成Tomcat Native到Tomcat的过程包括以下几个步骤: 1. 安装APR库:在系统上安装对应的APR和APR-Util库,这是Tomcat Native的...
本配置备忘录主要关注如何在Windows上配置Apache2.2与Tomcat5.5,同时利用APR(Apache Portable Runtime)提升性能。APR是一个C语言库,提供了操作系统接口的抽象层,使得Apache可以在多种平台上运行得更加高效。 ...
在Tomcat中使用APR,可以显著提升其性能,特别是处理静态文件时,因为APR可以直接利用操作系统的内建机制,比如使用硬件加速来提升读取速度。这有助于减少CPU使用率,提高服务器响应速度,从而解决或避免IO问题。 ...
Tomcat本身是用Java编写,但在某些情况下,为了提升性能或者利用操作系统级别的特性,如多线程处理、SSL加速等,可以启用非Java的本地接口,这就是APR库的角色。 【APR】全称Apache Portable Runtime,是Apache ...
Tomcat Native是为了增强Apache Tomcat服务器性能而设计的一系列本地库。这些库通常与APR一起使用,可以提供以下优势: 1. **HTTP/2支持**:通过使用NPN(Next Protocol Negotiation)或ALPN(Application-Layer ...
Tomcat 7和Tomcat 8的默认protocol处理逻辑不同,根据是否有APR本地库的支持来选择BIO或APR,而在Tomcat 8.5和Tomcat 9.0,不再支持BIO。 连接数和线程池的配置直接关联到Tomcat的性能和资源消耗。连接数决定了...
APR是专门为提高Tomcat性能而设计的一种运行模式。APR利用了本地库的性能优势,可以显著提升Tomcat的性能,特别是在处理大量并发连接的情况下。为了启用APR模式,首先需要在系统中安装APR库,然后在编译或部署Tomcat...
这个库是一个本地接口,它允许Tomcat更高效地与操作系统交互,特别是在处理SSL连接时,能够显著提高性能。在描述中提到的问题,是指用户在运行32位版本的Tomcat时,如果操作系统是64位的,可能会遇到兼容性问题,...
- 安装和配置apr和apr-util库,这对于优化Tomcat性能至关重要,特别是与本地服务器技术的集成。 - 安装`tomcat-native`,以利用APR库提升性能。 总结起来,这个配置方案通过Nginx和LVS提供高可用性,通过多台...
APR和apr-util的使用可以提升Tomcat的性能,因为它们利用了本地操作系统的功能。Libtool则在构建和管理Tomcat依赖的库时起到关键作用。而JK2连接器使Tomcat能够与Apache HTTP Server无缝集成,提供更强大的Web服务...