【发布时间】:2012-04-20 14:24:18
【问题描述】:
要求是为 Web 服务的压力测试创建一个应用程序。
想法是将 1000K 大小为 4 KB 的 HTTPWebRequest 轰炸到 Web 服务
为了实现这一点,我们创建了一个应用程序,其结构类似于几个线程正在添加要在队列中发送的数据,而线程池正在异步发送这些请求。
Task responseTask = Task.Factory.FromAsync(testRequest.BeginGetResponse, testRequest.EndGetResponse, null);" 但是现在发生的事情是经过一段时间后,每秒请求数显着减少(可能是因为服务的响应时间增加了..但是如果我们再次异步发送请求,响应会时间问题?)。除此之外,一段时间后,该工具崩溃并显示“应用程序已停止工作”消息,并且异常显示为内存不足异常。
我观察到的一件事是在应用程序崩溃之前,Web 服务的响应时间显着增加。是不是间接导致崩溃的原因?
有什么治疗方法?
【问题讨论】:
-
我认为减速是由 GC 试图跟上造成的。
标签: c# httpwebrequest