我々は、特定のWebサービスにサイズ "1 MB"の大量HTTP要求を送信するStress Testアプリケーションを設計しています。ストレスを解消するために、アプリケーションで複数のスレッドを使用しています。構造は、HTTP EnquueThreadsがHTTPRequestデータを作成し、キューに追加するようなものです。 Y WorkerThreadsは要求をデキューし、Webサービスに提出します。 すべてのリクエストは同期式です。 ここで問題となるのは、エンキュースレッドがWorkerThreadsよりもはるかに高速に動作するため、停止/待機条件がない場合、メモリ不足例外がスローされ、インジェクタが実行されるまでリクエストを追加します) スロー。 現在、私たちはOutOfMemory例外を処理しており、しばらくの間、enqueuethreadsをスリープ状態にしています。私が考えることができる別の方法は、キューのサイズを制限することです。アプリケーションのメモリ不足を回避する最良の方法
しかし、限定されたシステムリソース(特にメモリ)を使用するには、どのようなアプローチが最適であるべきかについて知りたいと思います。 ありがとうございます。
@Dimitry Renzik:返信いただきありがとうございます。アプリで現在占有されているメモリに基づいてキューのサイズを制限することを検討しています。 – Tejas
あなたは大歓迎です:) –