JAVA-TomcatはAPRモードに対応しています。
6381 ワード
前言
前に試験環境起動
APR:Apache Portable Run-time libries、Appheはライブラリを移植することができます。初期のApacheバージョンでは、アプリケーション自体が様々な具体的なオペレーティングシステムプラットフォームの詳細を処理し、異なるプラットフォームに対して異なる処理関数を呼び出すことができる必要がある。Apacheのさらなる開発に伴い、Apache組織はこれらの共通の関数を独立させて新しいプロジェクトに発展させることを決定しました。このように、APRの開発はAppacheから独立し、AppacheはAPRを使うだけです。
Tomcat Native:このプロジェクトはTomcatにApacheのapprパッケージを使ってファイルとネットワークIOの操作を処理させて、性能を向上させます。
2.Tomcat Connectorがサポートする運転パターン BIO スレッドは要求を処理します。短所:同時量が多い時、スレッド数が多くて、資源を浪費します。 NIO APR すなわち、Apache Portable Runtimeは、OSレベルからIOブロッキング問題を解決します。
現在大部分の人が使用する場合は、デフォルトの解凍
APRを構築する
1.ダウンロードして解凍する
ダウンロード関連ツール
ダウンロードして解凍します。
Tomcatディレクトリ下のconf/server.xmlファイルを修正し、関連する
締め括りをつける
上記はどのようにして
tomcatの性能が3倍になるのは夢ではないです。
この文は多すぎる技術の方面のものがなくて、主にビルの主人の本人がふだんいくつか仕事の中で操作するいくつか総括に対してで、後で復習を忘れて使うことに用いて、みんなの支持にお礼を言います。
参考文献
tomcatオフィシャル文書tomcatの性能を3倍に向上させるというのは夢ではなくTomcat APR運転モードを開きます。同時性能Linuxの下でTomcatにAPR Linuxをインストールします。
前に試験環境起動
Tomcat
で次のような警告エラーがありました。大体私のAPRライブラリバージョンは1.1.24ですが、Tomcat
8.5に必要なバージョンは1.2.6です。アップグレードする必要があります。ついでにAPRを調べてみました。今はみんなでAPRモードをサポートするように構築します。30-Sep-2017 11:20:30.659 SEVERE [main] org.apache.catalina.core.AprLifecycleListener.init An incompatible version 1.1.24 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.2.6
30-Sep-2017 11:20:31.601 SEVERE [main] org.apache.catalina.core.AprLifecycleListener.init An incompatible version 1.1.24 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.2.6
30-Sep-2017 11:20:31.603 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8888"]
30-Sep-2017 11:20:31.722 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
30-Sep-2017 11:20:31.726 SEVERE [main] org.apache.catalina.core.AprLifecycleListener.init An incompatible version 1.1.24 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.2.6
30-Sep-2017 11:20:31.727 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8011"]
1.APRとは何ですかAPR:Apache Portable Run-time libries、Appheはライブラリを移植することができます。初期のApacheバージョンでは、アプリケーション自体が様々な具体的なオペレーティングシステムプラットフォームの詳細を処理し、異なるプラットフォームに対して異なる処理関数を呼び出すことができる必要がある。Apacheのさらなる開発に伴い、Apache組織はこれらの共通の関数を独立させて新しいプロジェクトに発展させることを決定しました。このように、APRの開発はAppacheから独立し、AppacheはAPRを使うだけです。
Tomcat Native:このプロジェクトはTomcatにApacheのapprパッケージを使ってファイルとネットワークIOの操作を処理させて、性能を向上させます。
2.Tomcat Connectorがサポートする運転パターン
Tomcat
以下、Tomcat7
システムでは、このような方式がデフォルトで使用されている。Linux
の非同期IO処理を用いて、大量の要求を少量のスレッドで処理することができる。Java
は、Tomcat8
システムにおいて、このような方式をデフォルトで使用する。Linux
は、Tomcat7
の構成を変更して起動しなければならない。
Connector
またはTomcat7
は、Tomcat8
またはそれ以上のシステムにおいて、デフォルトの使用を開始する。LinuxはWin7
およびapr
をインストールした場合、native
が直接起動するとTomcat
をサポートします。現在大部分の人が使用する場合は、デフォルトの解凍
apr
がそのまま使用されていますので、ほとんどはTomcat
モードを使用しています。次に、みんなを連れてAPRモードをサポートさせます。APRを構築する
1.ダウンロードして解凍する
ダウンロード関連ツール
NIO
とTomcat
cd /usr/local/
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz
tar -zxvf apr-1.6.3.tar.gz
cd /usr/local/
wget http://mirrors.shuosc.org/apache//apr/apr-util-1.6.1.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
gcc依存パッケージがインストールされていない場合は、対応する依存パッケージをインストールします。yum -y install autoconf
yum -y install libtool
yum -y install expat-devel
yum -y install openssl openssl-devel
ユムを使ってopensslをインストールする時にopensslが1.0.1であることを発見しましたが、tomcat-v 8.5は1.0.2以上のバージョンが必要です。マニュアルでのみインストールできます。あなた達がインストールしたバージョンが1.0.2以上なら、次のステップを実行する必要はありません。ダウンロードして解凍します。
cd /usr/local/
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar -zxvf openssl-1.0.2l.tar.gz
インストールと配置cd /usr/local/openssl-1.0.2l/
./config --prefix=/usr/local/openssl // /usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib">>/etc/ld.so.conf
ldconfig -v
openssl version -a
2.コンパイルしてインストールするcd /usr/local/apr-1.6.3/
./configure --prefix=/usr/local/apr // /usr/local/apr
make && make install
cd /usr/local/apr-util-1.6.1/
// /usr/local/apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
3.tomcat-nativeをインストールするcd /usr/local/
wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.13/bin/apache-tomcat-8.5.13.tar.gz
tar -zxvf apache-tomcat-8.5.13.tar.gz
mv apache-tomcat-8.5.13 tomcat-v8.5
ディレクトリを切り替えて、tomcat/binディレクトリの下でtomcat-native.tar.gzを見つけます。cd /usr/tomcat-v8.5/bin/
解凍tomcat-native.tar.gztar -zxvf tomcat-native.tar.gz
ディレクトリを切り替えcd /usr/tomcat-v8.5/bin/tomcat-native-1.2.12-src/native/
tomcatインストールアプリ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.8.0_131 --with-ssl=/usr/bin --prefix=/usr/local/apr //
make && make install
APRローカルライブラリをシステム共有ライブラリ検索パスに設定します。vi /etc/profile
文書の最後に追加export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib
設定を有効にするsource /etc/profile
4.Tomcatプロファイルを変更するTomcatディレクトリ下のconf/server.xmlファイルを修正し、関連する
apr
中のprotocolをapr-util
に変更します。
5.試験の開始27-Aug-2018 10:02:58.733 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
27-Aug-2018 10:02:58.790 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8010"]
27-Aug-2018 10:02:58.856 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 4595 ms
上の図Connector
によって起動されたログ情報は、最終的にorg.apache.coyote.http11.Http11AprProtocol
を見ることができます。締め括りをつける
上記はどのようにして
Tomcat
にAPRモードの完全な流れをサポートさせるかということです。みなさんはAPRモードとNIOモードとの比較で、性能の向上がどれぐらいはっきりしていますか?しかし、皆さんは次の文章を参考にしてみてください。tomcatの性能が3倍になるのは夢ではないです。
この文は多すぎる技術の方面のものがなくて、主にビルの主人の本人がふだんいくつか仕事の中で操作するいくつか総括に対してで、後で復習を忘れて使うことに用いて、みんなの支持にお礼を言います。
参考文献
tomcatオフィシャル文書tomcatの性能を3倍に向上させるというのは夢ではなくTomcat APR運転モードを開きます。同時性能Linuxの下でTomcatにAPR Linuxをインストールします。