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 的配置过程:

安装 apr

1. tar zxvf apr-1.3.2.tar.gz

2. cd apr-1.3.2

3. ./configure --prefix=/usr/local/apr

4. make

5. make install

apr 默认安装在 /usr/local/apr

安装 apr-util

1. tar zxvf apr-util-1.3.2.tar.gz

2. cd apr-util-1.3.2

3. ./configure --with-apr=/usr/local/apr

4. make

5. make install

安装 tomcat-native

1. cd /usr/local/tomcat7.myweb/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.7.0_60

5. make

6. make install

设置 apr 的环境变量:

1. vi /etc/profile

2. 添加以下内容

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$APR_HOME/lib

3. 使配置生效 source /etc/profile

为不影响其他 tomcat的配置,我们不采用上面的设置方法,而是直接在 tomcat bin下的 catalina.sh中加入如下配置:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

export LD_LIBRARY_PATH

启动 tomcat 后,看日志,有如下一行:

信息 : APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

-------------------------------------------------------------------------------------------------

创建高线程的 Connector

<Connector port=”8080 ″ redirectPort=”8443 ″
maxThreads=”5000 ″  默认 200 300

minSpareThreads=”1000 ″ 默认 4 50

maxSpareThreads=”4000 ″ 默认50 100
enableLookups=”false”  默认 true

acceptCount=”3500 ″ 默认10 50
compression=”on”  默认 off

compressableM imeType=”text/html,text/xml,text/javascript,text/css,text/plain” 默认 text/html,text/xml,text/plain
connectionTimeout=”60000 ″ 默认 60000

debug=”0 ″

URIEncoding=”UTF -8 ″

/ >

tomcat APR的配置的更多相关文章

  1. Linux下配置tomcat+apr+native应对高并发

    摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...

  2. (转)Linux下配置tomcat+apr+native应对高并发

    摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待.但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服 ...

  3. Tomcat 8.5 apr 模式配置

    tomcat APR模式配置 一.环境 操作系统:Ubutnu 14 ubuntu@ubuntu:~$ uname -a Linux ubuntu 4.4.0-31-generic #50~14.04 ...

  4. tomcat 的优化配置

    一.关于并发连接量的配置 在tomcat的server.xml配置文件中:将<Connector port="8080" protocol="HTTP/1.1&qu ...

  5. Tomcat server.xml配置示例

    本文由 ImportNew 几乎所有容器类型的应用都会包含一个名为 server.xml 的文件结构.基本上,其中的每个元数据或者配置都是容器完成初始化所需要的.正是由于这些内容都是可配置的,使得软件 ...

  6. Tomcat 7.0配置SSL的问题及解决办法

    http://dong-shuai22-126-com.iteye.com/blog/1830209   以前一直在用Tomcat 6.0.29版本,今下载了apache-tomcat-7.0.33- ...

  7. Linux+Apache+Tomcat集群配置

    参考: http://blog.csdn.net/bluishglc/article/details/6867358# http://andashu.blog.51cto.com/8673810/13 ...

  8. Nginx与Tomcat安装、配置与优化

    Nginx与Tomcat安装.配置与优化 Nginx与Tomcat安装.配置与优化 Nginx的安装与使用 Nginx是一款优秀的反向代理服务器 安装: rpm(或者是pkg安装),是预编译好的程序包 ...

  9. Tomcat access log配置

    在tomcat的access中打印出请求的情况可以帮助我们分析问题,通常比较关注的有访问IP.线程号.访问url.返回状态码.访问时间.持续时间. 在Spring boot中使用了内嵌的tomcat, ...

随机推荐

  1. vuex 知识点

    Action 类似于 mutation,不同在于: 1.Action 提交的是 mutation,而不是直接变更状态. 2.Action 可以包含任意异步操作. mutation是同步的,当需要异步操 ...

  2. java 环境变量与安装目录

    JDK安装完成后有如下文件夹 bin:存放JDK的各种工具命令,如javac.java等命令. jre:运行java程序所必须的JRE环境 lib:JDK工具命令的实际执行程序,如tools.jar中 ...

  3. 【python】copy浅拷贝和deepcopy深拷贝

    Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块. 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deep ...

  4. 关于innodb_thread_concurrency参数 并发控制

    http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_thread_concurrency Comma ...

  5. ubuntu 16.04 忘记root密码

    虚拟机中安装的ubuntu 16.04. 方法一 如果用户具有sudo权限,那么直接可以运行如下命令: sudo su root #输入当前用户的密码 passwd #输入密码 #再次输入密码 方法二 ...

  6. bzoj3932 任务查询系统

    Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分. 超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si ...

  7. 【转载】CSS + DIV 实现整理布局

    HTML CSS + DIV实现整体布局 1.技术目标: 开发符合W3C标准的Web页面 理解盒子模型 实现DIV+CSS整体布局 2.什么是W3C标准? W3C:World Wide Web Con ...

  8. Linux下安装Nginx依赖包和Nginx的命令

    1.安装依赖包pcrecd /usr/local/srcwget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar ...

  9. xsl如何实现递归复制?

    <xsl:template match="*" mode="addSeatSelectionToAirProduct"> <xsl:eleme ...

  10. 设置UMG的ComboBox(String)字体大小

    转自:http://aigo.iteye.com/blog/2295448 UMG自带ComboBox组件没有提供直接的属性来修改其字体大小,只能自己做一个列表类型的widget然后再塞进ComboB ...