visual-studio-2010 - 错误的网关错误 - fiddler 负载测试/visual studio 2010

标签 visual-studio-2010 testing fiddler load-testing

我为远程服务器上托管的 Web 服务设置了两个测试来测量负载测试:一个使用 Web 工具(带有 StresStimulus 的 Fiddler)创建对服务器的多个请求测试,结果实际上令人惊讶,因为没有失败的尝试。 第二个是在 visual studio 中,我在那里设置了 20 个线程,以 0.5 秒的间隔向服务器发出 200000 个简单的 GET httpweb 请求。我记录了失败的请求,大约有 3001 个错误的网关错误 (502)。

谁能解释一下,或者这两个测试完全不同吗?

        url = "http://192.xxxxxxx"
        webrequest = TryCast(System.Net.WebRequest.Create(url), HttpWebRequest)
        webrequest.Method = "GET"
        webrequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 GTB7.1 ( .NET CLR 3.5.30729; .NET4.0E)"
        webrequest.Timeout = 60000
        webrequest.ContentType = "application/x-www-form-urlencoded"

        responseStream = webrequest.GetResponse().GetResponseStream()
        Dim reader As New StreamReader(responseStream)
        responseData = reader.ReadToEnd()

最佳答案

您应该能够比较两者。以下是步骤:

  1. 在 StresStimulus 中选择 200 个用户和 999 次迭代来创建与 VS 负载相同的大约 200000 个请求。将迭代之间的思考时间设置为 1 秒并运行测试。仔细检查没有错误。

  2. 将 StresStimulus 测试导入 Visual Studio。在 Fiddler 将测试导出到 Visual Studio Web 测试文件中,将其添加到您的 VS 测试项目,并像在 StresStimulus 中一样使用负载参数运行测试。查看您是否收到任何错误。

  3. 将此测试转换为编码测试并再次运行。如果没有错误,请将代码与您现有的代码进行比较,并检查它们有何不同。

  4. 最后,您可以通过 setting proxy 127.0.0.1:8888 通过 Fiddler 路由 VS 负载流量,然后将请求与 StresStimulus 重播的请求进行比较。

这应该为您提供足够的信息来弄清楚为什么 serve 在一种情况下为请求提供 502 而在另一种情况下却没有。

关于visual-studio-2010 - 错误的网关错误 - fiddler 负载测试/visual studio 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5913660/

相关文章:

javascript - 如何强制使用当前脚本?

使用 decltype(var) 后跟内部类型 "var"时出现 C++11 编译器错误

visual-studio-2010 - 如何使用 msbuild 引导 .NET 3.5 SP1?按照找到的说明不起作用

c# - 转储 Protocol Buffer 数据/响应

c# - 在 AssemblyInitialize 或 ClassInitialize 中检测 TestCategory 的方法?

java - 带有 JUnit 测试和依赖注入(inject)的 Spring 不起作用

ruby-on-rails - Rails 断言参数上的方括号

reactjs - React + Jest + Enzyme 表单 onSubmit 测试失败,除非我使用超时

settings - 如何为规则设置 Fiddler2 首选文本编辑器?

debugging - 使用 Fiddler 调试 Windows Phone 7 模拟器