2

要求是为 Web 服务的压力测试创建一个应用程序。想法是将 1000K 大小为 4 KB 的 HTTPWebRequest 轰炸到 Web 服务为了实现这一点,我们创建了一个应用程序,其结构类似于几个线程正在添加要在队列中发送的数据,而线程池正在发送这些请求是异步的。 Task responseTask = Task.Factory.FromAsync(testRequest.BeginGetResponse, testRequest.EndGetResponse, null);"但是现在发生的事情是经过一段时间后,每秒请求数显着减少(可能是因为服务的响应时间增加了。但是如果我们再次异步发送请求,响应时间会很重要吗? )。除此之外,一段时间后,该工具崩溃并显示“应用程序已停止工作”消息,并且异常显示为内存不足异常。

我观察到的一件事是在应用程序崩溃之前,Web 服务的响应时间显着增加。它是坠机的间接原因吗?

它的补救措施是什么?

4

1 回答 1

0

也许您正在排队任务而没有限制,因此未决请求的数量无限增加。即使使用异步行为,您也需要节流。

于 2012-04-20T14:27:12.917 回答