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. coffeescript学习

    test2.coffeestdin = process.openStdin()stdin.setEncoding 'utf8' stdin.on 'data', (input) ->     n ...

  2. Spring Cloud 入门 之 Zuul 篇(五)

    原文地址:Spring Cloud 入门 之 Zuul 篇(五) 博客地址:http://www.extlight.com 一.前言 随着业务的扩展,微服务会不对增加,相应的其对外开放的 API 接口 ...

  3. centos7下svn的安装与配置

    1.环境 centos7 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve -d -r /www/svn ...

  4. 百度地图JavaScript如何清除指定类型的覆盖物

    由于一个地图中有很多种类型的覆盖物,由于某个覆盖物(一般是自定义)整个地图中只允许出现一次 那第一想到的就是,每次创建这个类型的覆盖物时先清除这一类型的覆盖物,比较简单判断覆盖物的类型 instanc ...

  5. 在chrome中安装基于REST的web服务客户端

    基于REST的Web服务客户端的使用方法 点击转到基于REST的Web服务客户端下载页面 chrome浏览器如果安装扩展程序点击chrome浏览器右上角,选择“设置在“设置”对话框里选择“扩展程序”然 ...

  6. javascript的防篡改对象之preventExtensions()方法

    js在默认情况下,所有的对象都是可扩展的.这也是让很多开发人员头特疼的问题.因为在同一环境中,一不小心就会发生修改了不必要的对象,而自己却不知道. 在ECMAScript5可以解决这种问题了. pre ...

  7. 【Python编程:从入门到实践】chapter6 字典

    chapter6 字典 6.1 一个简单的字典 6.2 使用字典 6.2.1 访问字典中的值 6.2.2 添加键值对 6.2.3 先创建一个空字典 6.2.4 修改字典中的值 6.2.5 删除键值对 ...

  8. Hadoop2.0构成之HDFS2.0

    HDFS2.0之HA 主备NameNode: 1.主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换: 2.主NameNode的信息发生变化后,会将信息写到共享数 ...

  9. Spark standalone运行模式

    Spark Standalone 部署配置 Standalone架构 手工启动一个Spark集群 https://spark.apache.org/docs/latest/spark-standalo ...

  10. Linux 下的两种分层存储方案

    背景介绍 随着固态存储技术 (SSD),SAS 技术的不断进步和普及,存储介质的种类更加多样,采用不同存储介质和接口的存储设备的性能出现了很大差异.SSD 相较于传统的机械硬盘,由于没有磁盘的机械转动 ...