2019年9月25日Tomcatのアクチュエータ(スレッドプール)とTomcatコネクタ

omcatのアクチュエータ

あなたは、パフォーマンスを向上させるために、スレッドプール(とも呼ばれるコネクタ)を使用することができるように、各ユーザの要求でTomcatサービスは、スレッドです。

 

どのようなスレッドプールはありますか?

スレッドプールは、マルチスレッド処理フォーム処理タスクをキューに追加して、スレッドプールのスレッドがバックグラウンドスレッドされた後、これらのタスクを自動的にスレッドを作成、開始されますです。各スレッドは、デフォルトのスタックサイズを使用しています。

これは、スレッドプールマネージャ、労働者、タスクインターフェイス、タスクキューから構成されています。

 

どのような状況下で、スレッドプールを使用しますか?

時間が短いシングルタスク

多数のタスクに対処します

 

利点は何ですか?

スレッドの作成と破棄1.削減は、システムリソースの時間とコストを費やします

2.あなたがスレッドプールを使用しない場合、それはシステムがシステムメモリと消費が生じ多数のスレッドを作成することがあり、「過度の切り替えを。」

このスレッドプールは、として、変更前であります

 

 

図1に示すように、メインの設定ファイルは、修正します

[ルート@のノード1〜]#のVimの/usr/local/tomcat7/conf/server.xml 

70 <コネクタポート= "8080" =プロトコル"HTTP / 1.1"
    のConnectionTimeoutは= "20000"
    にredirectPort = "8443"
    です。maxthreads = "1024"                        //行の後ろに70を加えた数1024が初期スレッド、スレッド100の最小数であります最小prestartminSpareThreadsの導入により、アクティブなプロセス=「真」/>

   minSpareThreads = "100"
   prestartminSpareThreads = "真" />

 

[ルート@ノード1〜]#/usr/local/tomcat7/bin/shutdown.sh //閉じます

[ルート@ノード1〜]#/usr/local/tomcat7/bin/startup.sh //オープン

 

これは、変更後のプロセスの数です

 

 

 

-------------------------------------------------- ------------------------------------------------

Tomcatのコネクター

 

Tomcatのコネクタは、要求が入り口で受け取り、各コネクタは、自分のリスニングポートを述べています

 

HTTPコネクタとAJPコネクタ:コネクタ2つのタイプがあります。

 

enableLookups

あなたは、ルックアップが実行され、リモートクライアントの実際のホスト名をDNSに戻るためにrequest.getRemoteHostを()、呼び出したい場合は、trueに設定します。偽のDNSルックアップに設定されてスキップした文字列(パフォーマンスを向上させる)としてIPアドレスを返します。デフォルトでは、DNSルックアップが無効になっています。

 

maxPostSize

コンテナFORM URLパラメータ構文解析プロセスによって(バイト)POSTの最大サイズ。このプロパティを設定することによって、制限を無効にするために0以下であることができます。指定しない場合、このプロパティは2097152(2メガバイト)に設定されています。

たとえば、あなたがTomcatにファイルを送信する際には、以上2000000000000が提出していません

 

このコネクタは、  TCPポート番号のサーバソケットを作成して、着信接続を待ちます。お使いのオペレーティングシステムは、唯一のサーバーアプリケーションが特定のIPアドレス上の特定のポート番号でリスニングできるようになります。0(ゼロ)の特別な値ならば、Tomcatはランダムにこのコネクタの空きポートを選択します。これは、通常は組み込みやテストアプリケーションに適用されます。

プロトコル

着信トラフィックを処理するためのプロトコルを設定します。デフォルト値は、Javaベースのブロッキングコネクタまたはコネクタ・ベースの4月/ネイティブのを選択するために使用するHTTP / 1.1自動切換え機構です。PATH(Windows)または(ほとんどのUNIXシステム上の)LD_LIBRARY_PATH環境変数は、Tomcatのネイティブライブラリが含まれている場合は、4月/ネイティブコネクタが使用されます。あなたは、Javaベースのコネクタの使用を阻止する、この格納庫を見つけることができない場合。別のマシンとJavaコネクタHTTPS上に配置された注、4月/コネクタ。
明示的なプロトコルの代わりに、自動スイッチ機構に頼って、以下の値を使用する:
org.apache.coyote.http11.Http11Protocol-はJavaコネクタ防止
org.apache.coyote.http11.Http11NioProtocol-ノンブロッキングJavaコネクタの
組織を。 apache.coyote.http11.Http11AprProtocol- 4月/ネイティブコネクタ。
また、カスタム実装を使用することができます。
私たちのチェックアウトコネクタの比較チャートを。HTTPとHTTPSの場合は、2つのJavaコネクターは同じように構成します。
特定の4月4月のコネクタとSSL設定の詳細については、下記をご覧ください4月の文書を

動作モードを指定します。

 

URIEncoding

このURIは、%xxのURLをデコードした後、復号文字コードのバイトを指定します。指定されていない場合は、ISO-8859-1を使用しました。

文字化け解決

 

acceptCountを

すべての可能な要求処理スレッドが使用され、最大キュー長着信接続要求。キューがいっぱいになったときに受信したすべての要求は拒否されます。デフォルト値は100です。

 

acceptorThreadCount

接続を受け入れるためのスレッドの数。あなたが実際には2つ以上のものを必要としませんが、複数のCP U・マシン上で、この値を増やします。また、非保持コネクションの数が多い、あなたも、この値を増やすことをお勧めします。デフォルト値は1です。

 

圧縮

コネクタは、帯域幅HTTPサーバ/ 1.1 GZIP圧縮を保存しようとする試みで使用することができます。パラメータの許容値が「OFF」(圧縮を無効)、「ON」(テキストデータが圧縮され、その結果、圧縮可能にするため)、「強制」(すべての場合に強制圧縮)、またはディジタルの整数値(これは、と等価です" )「に、しかし、圧縮前のデータ出力指定の最小量。コンテンツの長さが知られており、圧縮が「上」、またはより積極的に設定されていない場合、出力も圧縮されます。指定しない場合、このプロパティは「オフ」に設定されています。

注意:使用の圧縮を(帯域幅を節約するために)との間のトレードオフを(CPUサイクルを節約)にsendfile機能を使用しています。コネクタはsendfileの機能、例えばNIOコネクタをサポートしている場合、それはsendfileの圧縮よりも優先されます。症状がより大きく48 KB静的なファイルが解凍されることになります。後述のようにあなたは、sendfileのuseSendfileコネクタのプロパティを設定することによって閉じることができ、またはデフォルトのWebまたはアプリケーションが変更デフォルトサーブレット sendfileの使用率のしきい値の設定を。confに/ web.xmlweb.xml

 

connectionUploadTimeout

(ミリ秒)のデータアップロードプロセスで使用されるタイムアウトを指定します。これはのみさdisableUploadTimeout設定あまりにも偽有効になります。

disableUploadTimeout

このフラグは異なる、典型的には、より長い接続タイムアウトに搬送されたデータの間に使用されるサーブレットコンテナを可能にします。指定されていない場合は、この長いタイムアウトを無効にするには、このプロパティをtrueに設定します。

エグゼキュータ

以下のためのエグゼキュータの  名前で参照要素。このプロパティを設定し、指定されたプログラムの実行という場合は、コネクターは、手順を実行するために使用し、他のすべてのスレッドのプロパティを無視します。あなたは、コネクタのためのプログラムの共有実行を指定しない場合、コネクタは内部実行スレッドプールを提供するために、専用のプログラムを使用しますのでご注意ください。

 

maxConnections

服务器在任何给定时间接受和处理的最大连接数。达到此数量后,服务器将接受但不处理另一个连接。此附加连接将被阻止,直到正在处理的连接数低于maxConnections,此时服务器将再次开始接受和处理新连接。请注意,一旦达到限制,操作系统仍可以根据acceptCount设置接受连接。默认值因连接器类型而异。对于BIO,默认值是maxThreads的值, 除非是Executor 在这种情况下,默认值将是执行程序中maxThreads的值。对于NIO,默认为10000。对于APR / native,默认为8192。

请注意,对于Windows上的APR / native,配置的值将减小到1024的最大倍数,小于或等于maxConnections。这是出于性能原因而完成的。
如果设置为值-1,则禁用maxConnections功能并且不计算连接。

 

maxThreads

Connector要创建的最大请求处理线程数,因此确定可以处理的最大并发请求数。如果未指定,则此属性设置为200.如果执行程序与此连接器关联,则忽略此属性,因为连接器将使用执行程序而不是内部线程池执行任务。

 

minSpareThreads

最小线程数始终保持运行。如果未指定,10则使用默认值。

 

SSLEnabled

使用此属性可在连接器上启用SSL通信。要在连接器上启用SSL握手/加密/解密,请将此值设置为true。默认值为false。转换此值时,true您还需要设置 scheme和secure属性以将正确值request.getScheme()和 request.isSecure()值传递给servlet有关详细信息,请参阅SSL支持

 

最佳优化配置图如下;

 

 

 

[root@node1 ~]# vim /usr/local/tomcat7/conf/server.xml         //修改最佳优化配置

 

おすすめ

転載: www.cnblogs.com/otherwise/p/11585158.html