tomcatはAPRを使用して性能を向上させます.

11631 ワード

回転:http://nll.im/post/tomcat-apr.html
tomcatはAPRを使用して性能を向上させます∞
07-23,2014
操作システム:Centos 6.3 Tomcat:7.0.42 JDK:1.6.0_45配置:8 G,4核.
最近はtomcatの負荷が高く、デフォルトの配置やbioの処理はサポートできなくなりました.APRは50%から60%の性能を上げると言われていますので、APRの最適化を試してみます.
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      。
1.サーバ設置GCC
お客様のサーバーはネットに接続できなくて、サーバーもgccがないので、まずプロキシを使ってネットに接続して、/etc/yum.confを修正して、プロキシの配置に参加します.
proxy=http://10.103.0.46:808
ユーザ名のパスワードを認証する必要がある場合:
proxy_username=        
proxy_password=       
yumは163のCentosソースを使用する:参照http://mirrors.163.com/.help/centos.html バックアップ先
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
CentOS 6をダウンロードします /etc/yum.repos.d/に入れます.
以下のコマンドを実行してキャッシュを生成します.
yum clean all
yum makecache
gccをインストールします.
yum -y install gcc
2.APRの取り付け
からhttp://apr.apache.org/download.cgiapperをダウンロードして、app-util、app-inconv.サーバーは大域のhttpエージェントを配置していませんので、ユmエージェントだけです.ダウンロードしてからサーバーに送ればいいです.
転送完了インストールアプリ:
tar zxvf apr-1.5.1.tar.gz
cd apr-1.5.1
./configure --prefix=/usr/local/apr
make
make install
インストールアプリ-inconv:
tar zxvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make
make install
インストールapper-util:
tar zxvf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make  
make install
tomcat-nativeをインストールします.まずtomcat/binディレクトリの下で対応するtarファイルを見つけます.
tar zxvf tomcat-native.tar.gz
cd tomcat-native-1.1.27-src/jni/native/
./configure --with-apr=/usr/local/apr --with-java-home=/usr/lib/jdk1.6.0_45
make
make install
インストールが完了すると、以下のメッセージが表示されます.
Libraries have been installed in:
/usr/local/apr/lib
環境変数を追加:  vi /etc/profileは、ファイルの末尾に次の変数を追加します.
export LD_LIBRARY_PATH=/usr/local/apr/lib
環境変数を即時に有効にするために、次のコマンドを実行します.
source /etc/profile
以下は完全なインストールスクリプトです.
#setup apr
tar zxvf apr-1.5.1.tar.gz
cd apr-1.5.1
./configure --prefix=/usr/local/apr
make && make install
cd ../
#setup apr-iconv
tar zxvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1/
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make && make install
cd ../
#setup apr-util
tar zxvf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make && make install
#setup tomcat-native
cd /app/apache-tomcat-7.0.42/bin
tar zxvf tomcat-native.tar.gz
cd tomcat-native-1.1.27-src/jni/native
./configure --with-apr=/usr/local/apr --with-java-home=/usr/lib/jdk1.6.0_45
make && make install
cd /
#LD_LIBRARY_PATH
echo -e 'export LD_LIBRARY_PATH=/usr/local/apr/lib' >> /etc/profile
export LD_LIBRARY_PATH=/usr/local/apr/lib
source /etc/profile
3.Tomcatの配置
tomcat構成を変更するconf/server.xml:

     name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="800" minSpareThreads="400"/>



    
     port="80" executor="tomcatThreadPool" protocol="org.apache.coyote.http11.Http11AprProtocol"
               connectionTimeout="20000"
               redirectPort="8443" enableLookups="false" acceptCount="1000"/>
Http11AprProtocolに変更 プロトコル
その後tomcatを起動すればいいです.
問題が発生しました:
SEVERE: Failed to initialize the SSLEngine.
org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform
SSLリスニングをオフしてください.SSLを使用していない限り、conf/server.xmlを修正してください.
 className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
測定結果:
webbench -c 4000 -t 30 http://10.103.10.140/workbench/index.jsp
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://10.103.10.140/workbench/index.jsp
4000 clients, running 30 sec.

Speed=484340 pages/min, 2441573 bytes/sec.
Requests: 242170 susceed, 0 failed.
参考:
http://www.chepoo.com/tomcat-performance-three-times-is-not-a-dream.html
http://rhomobi.com/topics/36
https://gitsea.com/2013/07/02/tomcat-%E5%B9%B6%E5%8F%91%E4%BC%98%E5%8C%96/
http://pengranxiang.iteye.com/blog/1128905
http://tomcat.apache.org/tomcat-7.0-doc/apr.html#Linux
http://www.cnblogs.com/wanghaosoft/archive/2013/02/04/2892099.html