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