Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Microsoft Visual Studio Web性能测试-第一次测试的测试结果总是耗时最长?_Vb.net_Visual Studio 2012_Performance Testing_Web Testing_Webtest - Fatal编程技术网

Vb.net Microsoft Visual Studio Web性能测试-第一次测试的测试结果总是耗时最长?

Vb.net Microsoft Visual Studio Web性能测试-第一次测试的测试结果总是耗时最长?,vb.net,visual-studio-2012,performance-testing,web-testing,webtest,Vb.net,Visual Studio 2012,Performance Testing,Web Testing,Webtest,我每天都在运行web性能测试(CreateInvoice),我注意到一种趋势,即每次测试进行多次迭代时,第一个结果在请求时间和总时间方面总是异常值(花费时间最长的一个)。 有没有办法防止这种情况发生 是否应该考虑浏览器缓存。哪一个是最好的解决方案 运行测试一次,但运行一次后,记录结果。然后清洗 重新运行测试并记录结果。运行多个 时间根据需求而定 忽略第一个测试结果,只取剩余的 Web性能测试应考虑浏览器缓存。第一次使用普通浏览器加载页面时,还必须从服务器请求所有相关请求(即图像、CSS、Jav

我每天都在运行web性能测试(CreateInvoice),我注意到一种趋势,即每次测试进行多次迭代时,第一个结果在请求时间和总时间方面总是异常值(花费时间最长的一个)。 有没有办法防止这种情况发生

是否应该考虑浏览器缓存。哪一个是最好的解决方案

  • 运行测试一次,但运行一次后,记录结果。然后清洗 重新运行测试并记录结果。运行多个 时间根据需求而定
  • 忽略第一个测试结果,只取剩余的

Web性能测试应考虑浏览器缓存。第一次使用普通浏览器加载页面时,还必须从服务器请求所有相关请求(即图像、CSS、JavaScript等)。当重新加载页面时,浏览器会发现许多依赖请求可以在缓存中找到

在VisualStudioWeb性能测试中,每个虚拟用户(VU)的行为就像它有自己的浏览器一样。当VU启动时,它有一个空缓存,因此加载所有页面和相关请求。在同一VU的第二次和以后执行时,不会重新加载缓存中的任何内容。场景属性“新用户百分比”控制何时创建新的VU,以及何时清空缓存

可以禁用缓存。首先,在请求上设置
缓存控制
属性。此外,还可以通过将依赖请求的
Cache
属性设置为false来禁用其缓存。见本手册第186页。文档中还有许多其他关于缓存控制的有用部分


问题中关于处理缓存的建议都不适用于VisualStudio负载测试。一种方法是将负载测试场景中的新用户的“百分比”设置为100%。这样,每个模拟用户都从一个空的缓存开始。

< P>听起来可能是服务器端缓存。我在负载测试的系统上看到了很多这种行为,并认为这是一个有效但不太可能的结果。 夜间维护作业或应用程序更新可能会清空后端数据库缓存。第二天早上第一个登录的用户将遇到这种情况,此时系统需要对数据库表进行完整搜索,以检索请求的信息,而不是从缓存中检索


在我看来,这是一个有效的测量方法。请注意你是如何表示它的。我喜欢将它与平均值分开。我将给出冷启动时间和预热平均时间。

时间上的差异是什么?请记住,在第一次迭代时,可能存在设置变量以定义等的连接。尽管这不应该增加更多的时间等待几毫秒。哪一个是最好的?通过清除缓存多次重复第一次测试运行?还是忽略第一次测试运行?