3

サーブレットを使用して構築された Web アプリケーションが (Tomcat 7 を使用して) 処理できる同時要求の数を知りたいと思いました。server.xml ファイルの maxThreads、acceptCount、minSpareThreads 属性を構成しました。

私の質問は、基盤となる OS も考慮する必要がありますか?

例えば:

maxThreads= 5;
acceptCount= 1;
OS= 1 processor with 4 cores; 

では、1リクエスト待ちで最大4リクエスト同時に処理できるのでしょうか?各リクエストが完了するまでに時間がかかると仮定します。ハイパースレッディングも考慮する必要がありますか?

4

2 に答える 2

1

推測だけでこれらの数字を簡単に導き出す方法はありません。通常、マシンが詰まるリスクがあるため、何も指定する必要はありません。しかし同時に、ネットワーク インターフェイスが非常に遅いため、ネットワークが混雑する前に (各要求の処理に長い時間がかからない限り) Web サーバーを混雑させることは困難です。

私の提案は、これらの値をそのままにして、サーバーを監視して、負荷がかかった状態でどのように動作するかを確認することです。可能であれば、いくつかの負荷テストを行ってください。サーバーを同時に使用する何千ものユーザーをシミュレートできる優れたツールがいくつかあります。

また、経験から: データベースがボトルネックです。すべてを停止させるクエリがいくつかあります。パフォーマンスは、データベース内のデータ量、インデックス、実行されている実際の SQL、ディスク速度、DB と Web サーバー間のネットワークなど、非常に多くの要素に依存するため、事前にどれを判断するかを決めるのは困難です。

于 2014-12-15T16:17:52.423 に答える