Vb.net Microsoft Visual Studio Web性能测试-第一次测试的测试结果总是耗时最长?
我每天都在运行web性能测试(CreateInvoice),我注意到一种趋势,即每次测试进行多次迭代时,第一个结果在请求时间和总时间方面总是异常值(花费时间最长的一个)。 有没有办法防止这种情况发生 是否应该考虑浏览器缓存。哪一个是最好的解决方案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
- 运行测试一次,但运行一次后,记录结果。然后清洗 重新运行测试并记录结果。运行多个 时间根据需求而定
- 忽略第一个测试结果,只取剩余的
缓存控制
属性。此外,还可以通过将依赖请求的Cache
属性设置为false来禁用其缓存。见本手册第186页。文档中还有许多其他关于缓存控制的有用部分
问题中关于处理缓存的建议都不适用于VisualStudio负载测试。一种方法是将负载测试场景中的新用户的“百分比”设置为100%。这样,每个模拟用户都从一个空的缓存开始。 < P>听起来可能是服务器端缓存。我在负载测试的系统上看到了很多这种行为,并认为这是一个有效但不太可能的结果。 夜间维护作业或应用程序更新可能会清空后端数据库缓存。第二天早上第一个登录的用户将遇到这种情况,此时系统需要对数据库表进行完整搜索,以检索请求的信息,而不是从缓存中检索
在我看来,这是一个有效的测量方法。请注意你是如何表示它的。我喜欢将它与平均值分开。我将给出冷启动时间和预热平均时间。时间上的差异是什么?请记住,在第一次迭代时,可能存在设置变量以定义等的连接。尽管这不应该增加更多的时间等待几毫秒。哪一个是最好的?通过清除缓存多次重复第一次测试运行?还是忽略第一次测试运行?