要测APR给tomcat带来的好处最好的方法是在慢速网络上(模拟Internet),将Tomcat线程数开到300以上的水平,然后模拟一大堆并发请求。如果不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待。但是配上APR之后,并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来。APR对于Tomcat最大的作用就是socket调度。你在局域网环境测,就算是400个并发,也是一瞬间就处理/传输完毕,但是在真实的Internet环境下,页面处理时间只占0.1%都不到,绝大部分时间都用来页面传输。如果不用APR,一个线程同一时间只能处理一个用户,势必会造成阻塞。所以生产环境下用apr是非常必要的。

具体安装步骤

下载APR相关

wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-iconv-1.2.2.tar.gz
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz#获取运行tomcat(无论内置还是外置,对应tomcat版本下的/bin/tomcat-native.tar.gz 目前版本为1.2.14)tar zxvf apr-1.6.3.tar.gz
tar zxvf apr-util-1.6.1.tar.gz
tar zxvf apr-iconv-1.2.2.tar.gz
tar zxvf tomcat-native.tar.gz

安装APR

cd apr-1.6.3
./configure --prefix=/usr/local/apr
make && make installcd apr-iconv-1.2.2
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make && make installcd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make && make installcd tomcat-native-1.2.14-src/native
./configure --prefix=/usr/local/apr --with-java-home=/usr/local/jdk1.8.0_131/
#若报类似#include <expat.h>错误,需yum安装expat: yum install expat-devel
make && make install#注意:要求系统OpenSSL library version >= 1.0.2
#若版本太低,安装native会报错。openssl version#以下是安装openssl操作。若版本已达到1.0.2可以不用参考。
#########################################################
下载openssl
wget https://www.openssl.org/source/openssl-1.0.2j.tar.gz
tar zxvf openssl-1.0.2j.tar.gz
cd openssl
./config --prefix=/usr/local/openssl -fPIC
make && make install
mv /usr/bin/openssl ~   //备份
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl //替换最新openssl执行文件
openssl version  //查看openssl版本是否已替换#安装成功后,可再次执行tomcat-native

配置环境变量

vi /etc/profile
#添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/libvi /etc/bashrc
#添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/libsource /etc/profile
source /etc/bashrc
@Configuration
public class AprConfiguration {@Value("${server.tomcat.apr.enabled:false}")private boolean enabled;@Beanpublic EmbeddedServletContainerFactory servletContainer() {TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();if (enabled) {AprLifecycleListener aprLifecycle = new AprLifecycleListener();aprLifecycle.setSSLEngine("off");container.setProtocol("org.apache.coyote.http11.Http11AprProtocol");container.addContextLifecycleListeners(aprLifecycle);}return container;}
}
server.tomcat.accept-count=3000
server.tomcat.max-threads=1000
server.tomcat.max-connections=1000
server.tomcat.apr.enabled=true

参考:http://blog.51cto.com/wgkgood/432272

Apache安装apr和apr-util作用相关推荐

  1. apache安装错误error: APR notfound解决办法

    apache安装错误error: APR notfound解决办法 linux安装时安装种类不同,一些组件包可能不会被安装,导致linux下安装软件的时候缺这个缺那个,今天为大家介绍linux安装ap ...

  2. CentOS 为Tomcat安装系统级Apr

    为什么80%的码农都做不了架构师?>>>    安装依赖库 因为apr模式本质是使用JNI技术调用操作系统IO接口,需要用到相关API的头文件 yum install apr-dev ...

  3. apache 安装与配置详细教程

    Linux Apache web服务器 学习要点: 1.apache用途,工作模式,httpd.conf的配置重要参数 2.虚拟主机 3. 工作模式的参数优化 Apache 概述: Apache是世界 ...

  4. MariaDB安装,Apache安装

    笔记内容: 11.6 MariaDB安装 11.7/11.8/11.9 Apache安装 笔记日期:2017.9.27 11.6 MariaDB安装 安装MariaDB和安装Mysql的步骤差不多,在 ...

  5. CentOS之httpd与apache安装区别

    CentOS之httpd与apache安装区别 在这里给大家分享一下我自己在安装Centos后,并进行安装WEB服务器的心得; 1,先让大家了解一下我的虚拟机; 我用的是一台绿色版的VM, 不过,这并 ...

  6. Linux学习-11月12日(Apache安装)

    2019独角兽企业重金招聘Python工程师标准>>> 11.6 MariaDB安装 11.7/11.8/11.9 Apache安装 扩展 apache dso  https://y ...

  7. Apache安装配置(Linux)-有手就行

    Apache安装配置(Linux)-有手就行 文章目录 ## Apache(Linux)## 1.下载## 2.解压## 3.安装## 4.启动服务## 5.设置开机自启## 6测试## 7.总结 A ...

  8. Apache安装部署

    安装gcc 解压gcc并进入安装包的根目录 tar -xzvf gcc-5.4.0.tar.gz cd gcc-5.4.0 在 gcc-5.4.0/contrib/download_prerequis ...

  9. 编译apache安装

    前言(本实验环境在centos7.9中完成) 安装步骤 安装apr 安装apr-util 安装apr-iconv 安装apache 启动apache 测试apache MPM 一.安装依赖 yum i ...

  10. apache安装过程

    操作系统:centos7.3 安装依赖包 yum -y install gcc gcc-c++ ncurses-devel perl pcre-devel zlib-devel openssl-dev ...

最新文章

  1. 1130 Infix Expression (25 分)【难度: 一般 / 知识点: 中序遍历】
  2. Java System类
  3. JavaScript强化教程——正则表达式回溯
  4. 最新建账年(over partition by)的研究
  5. 如何在不同的浏览器中设置Selenium网格以并行执行
  6. golang 指针总结(与C/C++区别不大,就是不可以p+1偏移)
  7. 安装了dns且可以正常工作为什么还有没有可以使用的DNS服务器的错误
  8. 黑苹果白果序列号_黑苹果从入门到放弃黑苹果:OC配置入门
  9. 限制firefox上传框宽度
  10. 别把SEO当苦力活,做优化要讲究策略
  11. NOIP2017 D2T1 奶酪
  12. VC2010升级到VC2015遇到问题及解决办法
  13. mac 硬盘读写速度测试 软件,MAC硬盘速度测试技巧
  14. 路由器 AP、路由、中继、桥接模式的区别
  15. JD-JUI反编译问题
  16. 病痰饮者不能率以温药和之
  17. Win10专业版错误代码0xc0000225在吗修复?
  18. 最小二乘法多项式曲线拟合数学原理及其C++实现
  19. 曲率发动机和反重力装置原理
  20. Body estimation 论文阅读笔记(3):Unipose:Unified Human Pose Estimation in Single Images and Videos Bruno Ar

热门文章

  1. 配置 HTTP 代理(WIN10)、SOCKS 代理(WIN10)和编写 PAC 自动配置脚本
  2. R语言入门(第一篇)--R软件基本操作
  3. 合同扫描管理大师——为合同管理而生
  4. undefined和is not defined一样吗?
  5. 目前大多数计算机工作原理采用的是,计算机应用基础复习题2016有答案
  6. 计算机网络读书笔记(谢希仁 第六版 思维导图)
  7. 30个免费的CSS3动画片段代码
  8. java实现接口签名
  9. 在APPLE从创建ID到申请发布AppStore账户(六)新建AppleID用户首次使用要求双重认证(您的 Apple ID 需要更新)
  10. 金蝶中间件公司CTO袁红岗