利用APR本地库提高Tomcat性能

Tomcat APR 安装指南
本文介绍如何通过安装 APR 和 Tomcat Native 来增强 Tomcat 的性能,包括必要的步骤和配置,使 Java 应用在 Web 服务器环境中运行得更加高效。

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

采用PyQt5框架与Python编程语言构建图书信息管理平台 本项目基于Python编程环境,结合PyQt5图形界面开发库,设计实现了一套完整的图书信息管理解决方案。该系统主要面向图书馆、书店等机构的日常运营需求,通过模块化设计实现了图书信息的标准化管理流程。 系统架构采用典型的三层设计模式,包含数据存储层、业务逻辑层和用户界面层。数据持久化方案支持SQLite轻量级数据库与MySQL企业级数据库的双重配置选项,通过统一的数据库操作接口实现数据存取隔离。在数据建模方面,设计了包含图书基本信息、读者档案、借阅记录等核心数据实体,各实体间通过主外键约束建立关联关系。 核心功能模块包含六大子系统: 1. 图书编目管理:支持国际标准书号、中国图书馆分类法等专业元数据的规范化著录,提供批量导入与单条录入两种数据采集方式 2. 库存动态监控:实时追踪在架数量、借出状态、预约队列等流通指标,设置库存预警阈值自动提醒补货 3. 读者服务管理:建立完整的读者信用评价体系,记录借阅历史与违规行为,实施差异化借阅权限管理 4. 流通业务处理:涵盖借书登记、归还处理、续借申请、逾期计算等标准业务流程,支持射频识别技术设备集成 5. 统计报表生成:按日/月/年周期自动生成流通统计、热门图书排行、读者活跃度等多维度分析图表 6. 系统维护配置:提供用户权限分级管理、数据备份恢复、操作日志审计等管理功能 在技术实现层面,界面设计遵循Material Design设计规范,采用QSS样式表实现视觉定制化。通过信号槽机制实现前后端数据双向绑定,运用多线程处理技术保障界面响应流畅度。数据验证机制包含前端格式校验与后端业务规则双重保障,关键操作均设有二次确认流程。 该系统适用于中小型图书管理场景,通过可扩展的插件架构支持功能模块的灵活组合。开发过程中特别注重代码的可维护性,采用面向对象编程范式实现高内聚低耦合的组件设计,为后续功能迭代奠定技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值