2013年3月16日土曜日

Tomcatサーバーのパフォーマンス·チューニング


Apache Tomcatサーバのパフォーマンスチューニングは、黒魔術とは、経験豊富なTomcatの管理者が行うべきであることを何かのビットとみなされます。 Tomcatとその実装/管理するためのベストプラクティスと専門知識が重要である一方で、少しの努力のための重要な利点を提供しますあなたが採用することができますいくつかの基本的なチューニングのアプローチがあります。この記事では、これらのアプローチをカバーしています。

Tomcatのインストール、Webサイトのトラフィックレベル、それが実行されているWebアプリケーションを理解するいくつかの時間を費やす。するときに一般的にはTomcatがより良い実行します。

- 最大メモリサイズに設定され、初期ヒープ·tomcatのメモリサイズ(-Xmsスイッチ)を使用してJVMを起動します。最大設定を使用すると、JVMが要求を処理しようとしているときに、ヒープメモリのサイズを変更して再割り当てする必要がありません。

- -Xmxのスイッチを使用して、より高いヒープメモリの最大値とTomcatのJVMを起動します。この設定が高ければ高いほど、より多くのメモリは、サーバのWeb要求を処理するためにCPU時間の割合が高いので、利用可能です。あなたのWeb​​アプリケーションは、専用のサーバー·ハードウェア上で実行されている場合は、JVMに限り合理的に可能な限りマシンの物理メモリを与える。それが共有するか、または仮想ハードウェア上で実行されている場合、あなたのwebappが高負荷の状況下で使用されるメモリーの量を確認し、それに応じて、最大ヒープサイズを調整するには、コンソール(例えばTCAT Serverコンソールなど)をフックアップ。

- ピーク時のトラフィックパターンに基づいて、Web要求の負荷接続用コネクタ(Webサーバ)スレッドプールの設定を微調整。 maxThreadsの属性の設定が低すぎる場合は、別の要求スレッドは、それらを処理するために解放されるまでアイドル状態にするための要求を引き起こし、すべての要求を処理するスレッドが十分にない可能性があり、Tomcatは、サーバーのハードウェアを活用することができません。 maxThreadsの属性の設定が高すぎると、Tomcatの起動時間が増加し、同時にリクエストスレッドの数が多いを実行しようとしている負荷のピーク時には、サーバーを遅くすることができます。

- その他コネクタの属性設定:
*圧縮:あなたのWeb​​アプリケーションに最適な設定を決定するために "オン"と "オフ"を切り替えます。
* compressableMimeTypes:圧縮を有効にした場合、あなたはそれを圧縮したいのか、Tomcatを表示するには、この属性を設定します。は、 "text / html、text / xmlに、テキスト/ javascriptの、text / cssで、text / plain"のようなものを試してみてください。

パフォーマンス·チューニングの他の重要な要因は次のとおりです。
- HTTPキャッシュヘッダ:ユーザのWebブラウザがWebアプリケーションの静的コンテンツをキャッシュするために有効にすると、大幅にユーザーの体感的なパフォーマンスを向上させることができます。 TomcatはWebアプリケーションの静的ファイルを提供する際にはレスポンスヘッダーとその値の右のセットを設定することが重要です。その構成は、Tomcatのパフォーマンスの約半分の損失を引き起こす可能性があるためで、Apache HTTPDからTomcatにプロキシするすべての要求が最大Tomcatのパフォーマンスを得るために推奨されません。

- HTTPSはHTTPよりも遅くなります。ユーザーに地理的に近いTomcatサーバーをもちこむことは要求回数を減らすことができます。

- 多くのWebアプリケーションでは、データベース接続の設定が非常に重要になり、リレーショナルデータベースを使用します。 MAXACTIVE、maxIdle、そして、あなたのデータベース接続を定義MAXWAIT属性を調整します。

AJPコネクタを使用している場合は、トラフィックスパイク時のパフォーマンスがより安定するためには、コネクタの要求のためにTomcatのJMXの統計情報のロギングを停止するには= "false"属性request.registerRequestsを設定します。
...

0 件のコメント:

コメントを投稿