要测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. C# 获取当前路径方法
  2. 【转】VC++ MFC文件的移动复制删除更名遍历操作
  3. 数学问题——最大公约数与最小公倍数
  4. system文件_大文件拷贝,试试NIO的内存映射
  5. 常对象成员和常成员函数
  6. 时序分析:串匹配-KMP算法
  7. linux c 之使用-O来优化gcc
  8. Pytorch 词嵌入word_embedding2实例(加载已训练词向量)
  9. Tomcat version 5.5 only supports J2EE 1.2, 1.3, and 1.4 Web modules
  10. 深度学习掩膜_学习资源 | NOAA连接AI与环境科学(九)—海洋环境视频和图像分析教程...
  11. 记一次rm -rf之后的数据恢复操作
  12. ArcGIS 计算地类净面积工具
  13. 项目经验|电流信号检测装置(“TI杯”)
  14. 为大家提供了解内网穿透的内容
  15. Spark独到见解--Action算子总结
  16. 朱晔的互联网架构实践心得S2E1:业务代码究竟难不难写?
  17. win10系统开机启动连不上网
  18. 北航计算机网络安全,李舟军
  19. SAP S4 会计科目表的设计
  20. 如何卸载Win10关键更新(右键不显示卸载)

热门文章

  1. 【转载】Android系统裁剪方法
  2. 推荐几个学习编程的网站
  3. 制作 macOS High Sierra 正式版 USB 启动盘的方法 (亲测可用)
  4. 蓝桥杯C++深度优先搜索(dfs)之组队,迷宫,走方格
  5. 1.请求和响应(phalapi框架总结)
  6. 10大改变世界的未来科技
  7. html5课程总结500字,高中月考总结与反思500字(精选5篇)
  8. 什么是黑盒测试?它的常用方法有哪些?
  9. 如何高效构建融资担保场景化分析体系
  10. 4行代码 超级简单 html/css 实现平移动画