2016-04-09 9 views
1

現在、私はtomcat 8.0にgrails warファイルを、ubuntu OSに2GB RAMを配備しています。tomcat 8.0.32 - 本番サーバのServer.xml設定でのパフォーマンスチューニング

パフォーマンスを向上させるため、maxConnectionsやmaxThreadなどのコードを変更するために必要な設定を知りたいとします。

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> 

また、tomcatが処理できる同時ユーザーの最大数についても知りたいと思います。

ほとんどのことを理解できなかったtomcatのドキュメントを読んでいます。

何か助けていただければ幸いです。 「それが依存」

答えて

2

(TM)

Tomcatがアクセスできる接続の最大数 - ちょうど同時ユーザー数としては - 完全にあなたのアプリケーションが何をしているかによって異なります。それはすべての単一のためのフラクタル画像を計算するかもしれませんリクエストするか、静的コンテンツが表示されるだけです。あなたのアプリケーションが何をしているのかをよく知っていて、サーバーが持つハードウェアを知っています。

一部のアプリケーションはCPUが重く、その他のアプリケーションはRAMまたはDBのパフォーマンスまたはI/Oによって制限されます。あなたのことを測る。次に、測定値に応じて接続数を増減します。割り当てられたメモリを調整します。データベースを調整します。別のネットワークアダプタを追加します。これらのすべてのアクティビティはもちろん、デバッグ中に見つかったボトルネックを修正したことが示されている場合のみです。

私のコメントからポイントに持ち込み:これは、(不完全なリスト)に依存するものである - あなたはすべての単一の箇条書きにお答えしたい場合でも、まだ数を予測することは不可能でしょう:

  • あなたのアプリケーションの性質
  • 利用可能なメモリ(およびOSで仮想メモリの使用)
  • プロセッサ速度
  • あなたが
  • メモリとガベージコレクタの設定を使用しているJVMのバージョンあなたのJVM
  • ディスク速度
  • ネットワーク接続:すべてのクライアントが非常に低速なネットワークを介して接続した場合、彼らはあなたのRAMチップ
  • ネットワーク待ち時間の長い
  • タイミングの時間を答える
  • 要求のためのオープンな接続をしておこう(リクエスト処理時間 - あなたのアプリケーション)
  • キャッシュの使用アプリケーションだけでなく、CPU-キャッシュ)によって
  • がコンピュータに
  • どのように多くのスレッドを実行している他に何OSは、Tomcatが
  • を割り当て、他の多くの項目よりすることができます。

この質問に対する決定的な答えはまったくありません。あなた自身のインストールを測定する必要があります。

+0

私は、tomcat 8が処理できる接続の最大数を知りたいと思います。また、最大スレッドと最大接続の関係は?私のアプリケーションは、基本的に計算量が少なく、メモリが多いです。 –

+1

答えはまだ「それに依存する」です。あなたのプロセッサ、ネットワークの設定、RAMのタイミング、ガベージコレクションの設定、Javaランタイムのバージョン、Tomcatが他のプロセスとどのくらいの量のメモリを取得できるか、接続するクライアントの種類(例えば、私が知っていたとしても、答えは "あなたの環境を測定してください"となります。誰もあなたのためにこれを行うことはできません。 –

関連する問題