zoukankan      html  css  js  c++  java
  • 转载--tomcat整合apr

    原文地址:

    http://zhaosheng.wolf.blog.163.com/blog/static/115304589201212845341723/

    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来提高其性能。

    http://tomcat.apache.org/tomcat-6.0-doc/apr.html 对APR进行了详细介绍,说白了作用就是如何在 Tomcat中使用JNI的方式来读取文件以及进行网络传输。这个东西可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式传 输的话,也可以提升SSL的处理性能。可以不使用Apache也能提高对静态文件的处理能力。
      Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术.

    要测APR给tomcat带来的好处最好的方法是在慢速网络上(模拟 Internet),将Tomcat线程数开到300以上的水平,然后模拟一大堆并发请求。如果不配APR,基本上300个线程狠快就会用满,以后的请求 就只好等待。但是配上APR之后,并发的线程数量明显下降,从原来的300可能会马上下降到只有几十,新的请求会毫无阻塞的进来。在局域网环境测,就算是 400个并发,也是一瞬间就处理/传输完毕,但是在真实的Internet环境下,页面处理时间只占0.1%都不到,绝大部分时间都用来页面传输。
      1. Windows环境:
      APR需要安装三个组件:
         1、APR library
         2、JNI wrappers for APR used by Tomcat (libtcnative)
         3、OpenSSL libraries
      从http://tomcat.heanet.ie/native/1.1.14/binaries/win32/ ,下载tcnative-1.1.10.dll,tcnative-1.1.10.dll已经包含了上面的三个组件,所以只要把tcnative-1.1.10.dll拷贝到tomcat的bin下就行了。
       然后启动tomcat,启动后的信息为:信息: Loaded APR based Apache Tomcat Native library 1.1.14. 2009-12-24 14:17:59 org.apache.catalina.core.AprLifecycleListener init 信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], r andom [true]. 2009-12-24 14:18:00 org.apache.coyote.http11.Http11AprProtocol init 这说明APR配置成功,已经启用。
      windows中还有一种方式是:
       1.将 tcnative-1.1.10.dll 放于tomcat的同级目录 APR/lib 下;
        2. 修改一下 catalina.bat,加上set CATALINA_OPTS="-Djava.library.path=../../APR/lib"
      还有就是直接将 tcnative-1.1.10.dll加到系统变量PATH里面,也可以放在 windows/system32 下面。
      2. Linux环境:
      (1).安装APR
      APR需要三个组件:
        1.apr-1.3.9.tar.gz
        2.apr-util-1.3.9.tar.gz
        3.tomcat-native.tar.gz
      从 http://apr.apache.org/download.cgi 上可下载apr-1.3.9.tar.gz和apr-util-1.3.9.tar.gz,tomcat中自带 tomcat-native.tar.gz ,
      将 apr-1.3.9.tar.gz和 apr-util-1.3.9.tar.gz 上传到/usr/local/目录,
      # wget   http://apache.freelamp.com/apr/apr-1.3.9.tar.gz
      #apr-1.3.9.tar.gz
      #tar zxvf apr-1.3.9.tar.gz
      #cd apr-1.3.9
      #./configure
      #make
      #make install
      执行完后,会有提示信息:
      Libraries have been installed in:
        /usr/local/apr/lib
      If you ever happen to want to link against installed libraries
      in a given directory, LIBDIR, you must either use libtool, and
      specify the full pathname of the library, or use the `-LLIBDIR'
      flag during linking and do at least one of the following:
        - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
          during execution
        - add LIBDIR to the `LD_RUN_PATH' environment variable
          during linking
        - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
        - have your system administrator add LIBDIR to `/etc/ld.so.conf'
      See any operating system documentation about shared libraries for
      more information, such as the ld(1) and ld.so(8) manual pages.
      会在/local生成apr目录, apr-1.3.9 的库安装在/usr/local/apr/lib目录。
      # wget   http://apache.freelamp.com/apr/apr -util -1.3.9.tar.gz
      #apr-util-1.3.9.tar.gz
      #tar zxvf apr-util-1.3.9.tar.gz
      #cd apr-util-1.3.9
      #./configure --with-apr=/usr/local/apr    //配置指向apr-1.3.9的安装目录
      #make
      #make install
      command执行完后,提示信息和 apr-1.3.9的信息相同,表示apr-util-1.3.9 的库也安装在/usr/local/apr/lib目录。
      安装 tomcat-native组件
      #cd /usr/local/tomcat6/bin
      #tar zxvf tomcat-native.tar.gz
      #cd tomcat-native-1.1.16-src/jni/native
      # . /configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.5.0_20
      #make
      #make install
      command执行完的提示信息和安装  apr-1.3.9 的提示相同,表示 tomcat-native 的库 也是安装在 /usr/local/apr/lib目录。
      (2)设置 Tomcat 整合 APR
      有两种方法:
      1.修改 tomcat 的启动 shell ( catalina.sh ),在该文件中加入启动参数: CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
      2.也可以在环境变量中配置/etc/profile中加入
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr /lib
           vi  /etc/profile
          # 后面添加以下内容
           export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/ local /apr/lib
          # 使profile生效,  
           source  /etc/profile
      3.判断安装成功:
      启动tomcat,看日志
      #bin/startup.sh
      #head  logs/catalina.out
      如果看到下面的启动日志,表示成功。
      2009-12-24 17:34:32 org.apache.coyote.http11.Http11AprProtocol init
      APR的存档下载站点:
      http://archive.apache.org/dist/apr/

  • 相关阅读:
    LeetCode OJ 112. Path Sum
    LeetCode OJ 226. Invert Binary Tree
    LeetCode OJ 100. Same Tree
    LeetCode OJ 104. Maximum Depth of Binary Tree
    LeetCode OJ 111. Minimum Depth of Binary Tree
    LeetCode OJ 110. Balanced Binary Tree
    apache-jmeter-3.1的简单压力测试使用方法(下载和安装)
    JMeter入门教程
    CentOS6(CentOS7)设置静态IP 并且 能够上网
    分享好文:分享我在阿里8年,是如何一步一步走向架构师的
  • 原文地址:https://www.cnblogs.com/davidwang456/p/3255200.html
Copyright © 2011-2022 走看看