テストをロードしようとしているWebサービスがあります。サービスに接続してリクエストを行う複数のユーザーをシミュレートするスレッドを生成するプログラムを作成しました。各スレッドは、終了する前に「いくつかの」リクエストを行います。新しいリクエストはそれぞれ、準備が整うとすぐに作成されます。応答を取得してから次のリクエストを作成するまでの遅延はほとんどありません。テスト中の Web サービスは、同じサーバー上の別の Web サービスを呼び出します。
このプロセスは、最大 90 人のシミュレートされたユーザーまで正常に機能するようです。ただし、100 人のシミュレートされたユーザーを試してみると、合計で約 6 件のリクエストが処理された後にプログラムがハングします。彼らは何もしていないようです。シミュレートされたクライアントは応答を待ってハングし、Web サービスは要求を受信していません。回復するにはサーバーの再起動が必要です。
何が起きてる?サーバーへの接続数に制限はありますか? 負荷を「ランプアップ」しようとする必要がありますか (今は、できるだけ速く起動しているだけです)。
私が使用しているサーバーはJava Caps 5.1.3アプリケーションサーバーであり、リクエストを行うために使用しているライブラリはHttpUnit 1.6.2です。
フォローアップの質問 立ち上げ時間の利点は何ですか? テストの開始時にすべての負荷をサーバーにプッシュできないのはなぜですか?