【发布时间】:2012-04-06 04:56:31
【问题描述】:
我们正在设计一个压力测试应用程序,它将向特定的 Web 服务发送大小为“1 MB”的大量 HTTP 请求。为了实现压力,我们在应用程序中使用多个线程。结构类似于我们有 X EnqueueThreads,它将创建 HTTPRequest 数据并将其添加到队列中。 Y WorkerThreads 将使请求出列,并将它们提交给 Web 服务。 所有请求都是异步的。 现在的问题是,Enqueue 线程的工作速度比 WorkerThreads 快得多,因此如果没有停止/等待条件,它们将添加请求,直到抛出内存不足异常,从而使注入器(该实用程序将在其中运行)减缓。 目前我们正在处理 OutOfMemory 异常并使 enqueuethreads 休眠一段时间。我能想到的另一种方法是限制队列大小。
但是我想知道关于什么应该是使用有限系统资源(特别是内存)的最佳方法的观点。? 提前致谢。
【问题讨论】:
标签: c# httpwebrequest out-of-memory