关于Apache Portable Runtime and Tomcat
在从Tomcat 5.0.28转向5.5.X时,在启动时发现出现如下信息
[org.apache.catalina.core.AprLifecycleListener]-[INFO] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: (...你的系统环境PATH路径...)
在停止时发现出现如下信息
[org.apache.catalina.core.AprLifecycleListener]-[INFO] Failed shutdown of Apache Portable Runtime
于是,想消除这个问题,通过查阅 http://tomcat.apache.org/tomcat-5.5-doc/apr.html
Tomcat can use the Apache Portable Runtime to provide superior scalability, performance, and better integration with native server technologies. The Apache Portable Runtime is a highly portable library that is at the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO functionality (such as sendfile, epoll and OpenSSL), OS level functionality (random number generation, system status, etc), and native process handling (shared memory, NT pipes and Unix sockets).
These features allows making Tomcat a general purpose webserver, will enable much better integration with other native web technologies, and overall make Java much more viable as a full fledged webserver platform rather than simply a backend focused technology.
发现 Tomcat 可以用 Apache Portable Runtime 来提供更强性能,提升Web静态页面的处理能力,不再需要专门的Web Server来处理静态页面了。
但是APR的支持需要安装三个本地组件
APR support requires three main native components to be installed:
1、APR library
2、JNI wrappers for APR used by Tomcat (libtcnative)
3、OpenSSL libraries
解决:Windows下的安装配置与使用
1、先去 http://tomcat.heanet.ie/native/ 下载编译好的 tcnative-1.dll 文件,也可以下载tomcat-native.zip自己进行编译
2、修改一下 catalina.bat,加上
set CATALINA_OPTS="-Djava.library.path=../../APR/lib"
因为我把这个DLL放在与Tomcat目录同级的APR/lib目录下,所以采用了相对路径。或者把dll加到你的系统变量PATH里之类的,最简单的方法应当就是把tcnative-1.dll文件放在Tomcat的bin目录下:)
这样设置后,启动可以看到信息如下:
[org.apache.coyote.http11.Http11AprProtocol]-[INFO] Initializing Coyote HTTP/1.1 on http-9091
在停止时发现出现如下信息
[org.apache.coyote.http11.Http11AprProtocol]-[INFO] Pausing Coyote HTTP/1.1 on http-9091
......
[org.apache.coyote.http11.Http11AprProtocol]-[INFO] Stopping Coyote HTTP/1.1 on http-9091
这样就配置成功了。性能方面目前没有做详细的测试。
======================================================================
相关的文档参见
http://tomcat.apache.org/tomcat-5.5-doc/apr.html
相关的性能测试结果参见
http://www.javaworld.com.tw/jute/post/view?bid=9&id=139958&sty=3&age=0
分享到:
相关推荐
当遇到“Failed shutdown of Apache Portable Runtime”的问题时,这通常意味着在尝试关闭APR时遇到了错误。这个问题可能是由于多种原因引起的,包括但不限于配置错误、依赖库的问题或者系统资源冲突。 首先,我们...
2. 多线程处理:通过NIO(非阻塞I/O)和Apr(Apache Portable Runtime)连接器,提高了并发性能和响应速度。 3. JMX(Java Management Extensions)支持:提供了监控和管理Tomcat实例的能力,便于进行故障排查和性能...
标题 "tomcat 启动报APR based Apache Tomcat Native library not found" 指出的问题是关于Apache Tomcat服务器在启动时找不到基于APR(Apache Portable Runtime)的本机库。这通常涉及到Tomcat使用APR库来提高性能...
4. **连接器优化**:Tomcat 7的NIO(非阻塞I/O)和 APR(Apache Portable Runtime)连接器提供了更高的并发性能,适合处理高流量的Web应用程序。 5. **配置改进**:Tomcat 7的配置文件更加简洁,易于理解和管理。...
此外,还可以通过启用连接器的NIO或 APR(Apache Portable Runtime)模式来提高并发处理能力。 10. **集成其他应用服务器**: 虽然Tomcat本身是一个轻量级的服务器,但可以通过像Apache HTTP Server这样的反向代理...
例如,NIO2和APR(Apache Portable Runtime)连接器提供了更高效的I/O处理,对于高并发场景尤其有利。此外,9.0.45版本可能会包含针对内存泄漏和线程安全问题的修复,确保服务器的稳定运行。 总之,Apache Tomcat ...
同时,通过NIO(非阻塞I/O)和 APR(Apache Portable Runtime)接口,可以实现更高的I/O性能。 10. **社区支持**:作为开源项目,Apache Tomcat拥有活跃的开发者社区,提供及时的技术支持和问题解答。用户可以通过...
此外,还可以使用连接器如NIO或APR(Apache Portable Runtime)以提高并发处理能力。 10. **社区支持和更新**:Apache Tomcat作为一个开源项目,拥有庞大的开发者社区和持续的更新支持。8.0.30版发布后,可能会有...
同时,还提供了NIO(非阻塞I/O)和 APR(Apache Portable Runtime)连接器,以提升网络性能。 6. **多线程支持**:此版本支持Servlet 3.0中的异步处理,允许Servlet在处理请求时启动新的线程,而不阻塞主线程,提高...
4. APR (Apache Portable Runtime):提供了与操作系统更紧密集成的功能,如SSL和HTTP连接器,提高性能。 5. Cluster:支持集群部署,实现负载均衡和故障转移。 在实际应用中,Tomcat经常与Spring Boot、Hibernate等...
5. **Apr库**:Apache Portable Runtime(Apr)库提供了一套跨平台的系统接口,增强了Tomcat的性能,特别是在处理高并发请求时。Apr还支持SSL/TLS,提高了网络安全。 6. **安全性**:Tomcat 6.0.44版本在安全方面做...
- 使用NIO或 APR(Apache Portable Runtime)连接器提高性能。 - 缓存JSP编译结果,减少重载压力。 10. **故障排查**: - 查看logs目录下的日志文件,如catalina.out,以定位和解决问题。 - 使用JMX(Java ...
8. **性能优化**:Tomcat 7.0.59包含各种性能改进,例如NIO(非阻塞I/O)和APR(Apache Portable Runtime)连接器,这些能提高并发处理能力。 9. **错误处理与调试**:通过查看`logs`目录下的日志文件,可以追踪和...
主要包括以下几个组件:Catalina(核心Servlet容器)、Apr(Apache Portable Runtime,提供高性能网络连接)、 Jasper(JSP引擎)、 Coyote(HTTP/1.1协议处理器)和Juli(日志系统)。这些组件协同工作,提供完整的...
3. **NIO.2和APR**:Tomcat 9.0.21包含了对Java NIO.2的全面支持,以及可选的Apache Portable Runtime (APR)库,APR利用操作系统级别的特性,如sendfile和epoll,以提高性能和可伸缩性。 4. **JSP 2.3和EL 3.0**:...
此外,NIO和APR(Apache Portable Runtime)连接器提供了非阻塞I/O选项,适用于处理大量并发连接,这对于高流量的Web应用来说至关重要。 安全方面,Tomcat 8.5.72加强了对HTTPS的支持,包括TLS/SSL协议的配置,以...
3. **NIO2和APR**:此版本的Tomcat提供了对Java NIO2 API的支持,以及对Apache Portable Runtime (APR)库的优化,这可以提高I/O性能,特别是对于高并发场景。 4. **更好的安全特性**:Tomcat 8.5.9增强了安全管理,...
3. **NIO2和APR**:Tomcat 8.5引入了对Java NIO2的支持,同时保留了对Apache Portable Runtime (APR)的兼容性。这提供了更好的非阻塞I/O性能,适应高并发场景。 4. **更好的日志系统**:根据描述,此版本已经解决了...
11. **性能优化**:除了配置参数调整外,还可以通过开启NIO(非阻塞I/O)或APR(Apache Portable Runtime)来提高Tomcat的性能,APR利用操作系统的原生I/O库,可以显著提升处理速度。 12. **集成其他服务**:Tomcat...
3. NIO(非阻塞I/O)和APR(Apache Portable Runtime)连接器:这两种连接器提供了更高的并发性能,尤其适合高流量网站。 4. 管理工具增强:提供了一个直观的管理界面,可以方便地进行应用部署、监控和管理。 5. ...