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の最適化を試してみます.
お客様のサーバーはネットに接続できなくて、サーバーもgccがないので、まずプロキシを使ってネットに接続して、
以下のコマンドを実行してキャッシュを生成します.
からhttp://apr.apache.org/download.cgiapperをダウンロードして、app-util、app-inconv.サーバーは大域のhttpエージェントを配置していませんので、ユmエージェントだけです.ダウンロードしてからサーバーに送ればいいです.
転送完了インストールアプリ:
tomcat構成を変更する
その後tomcatを起動すればいいです.
問題が発生しました:
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
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