Beste Weg, um zu vermeiden, out-of-memory-Ausnahme in der Anwendung

Entwerfen wir eine Stress-Test-Anwendung, die dann an Masse der HTTP-Anfragen von der Größe von "1 MB", um einen bestimmten Web Service. Erreichen stress, wir sind mit mehreren threads in der Anwendung. Die Struktur ist so etwas wie wir haben X EnqueueThreads die die HTTPRequest-Daten und Sie werden es Ihnen in der Warteschlange. Und die Y-WorkerThreads dequeue Anfragen, die Sie Einreichen wird, um web-service.
Alle Anfragen sind aysnchronous.
Das problem hierbei ist nun, Enqueue-threads arbeiten wesentlich schneller als WorkerThreads also, wenn es keine stop/warten-Bedingung, die Sie hinzufügen, die Anforderungen, bis die out-of-memory-exception geworfen wird und somit der Injektor (wo das Programm ausgeführt werden) langsame.
Derzeit sind wir Umgang mit dem OutOfMemory-Ausnahmen und die enqueuethreads Schlaf für einige Zeit. Eine andere Möglichkeit, die ich denken konnte, beschränken die Größe der Warteschlange.

Aber ich würde gerne wissen, die Ansichten, was sollte der beste Ansatz sein, um das begrenzte system-Ressourcen (speziell Speicher).?
Vielen Dank im Voraus.

InformationsquelleAutor Tejas | 2012-04-06

Schreibe einen Kommentar