在Visual Studio负载测试中如何计算95%的响应时间

时间:2019-01-28 06:21:31

标签: visual-studio performance-testing load-testing

在分析VSTS负载测试报告时,我们发现端点的响应时间如下

  • 平均响应时间:-0.68
  • 90%响应时间:-1.18
  • 95%响应时间:-1.34
  • 99%响应时间:-1.68

根据VSTS的建议,采样率设置为15秒(当设置为15秒以下时,会出现警告)。我们使用VSTS云产品来生成负载。

在性能图中(结果),所示的响应时间峰值约为0.7秒,没有其他峰值。当我们下载样本时,我们看到所有条目(每15秒1个条目)的数据与图表上的内容相匹配,并且小于0.7秒。

我们的SLA将支持1秒,持续95%。现在我们无法理解

  1. 如何计算90%,95%和99%的响应时间(用什么数据)
  2. 我们如何获取有关请求的更多数据,这些数据导致了95%的响应时间,因此我们可以进行调试

1 个答案:

答案 0 :(得分:1)

对于每个不同的计数器,在每个采样间隔中都会生成一个值,并且该值会显示在图表上。因此,这些图通常似乎忽略了峰值。结果表将收集所有值,并通过排除最慢的值来计算响应时间的百分位数。如果总共收集了N个响应时间,则第90个百分位数将排除那些N次中最慢的10%,其他百分位数也是如此。要了解响应时间的范围,请比较并对比这些值:

  • 百分位数。
  • 平均值。但是请记住,平均值可能会因一些非常大或非常小的值而失真。
  • 中位数。通过排除几乎一半的最慢值和相同数量的最快值来找到。
  • 最小和最大值

Microsoft提供了一些有关分析负载测试结果的网页。 This page是一个开始。通过网络搜索诸如site:microsoft.com analysing load test results之类的字词,应该可以找到更多详细信息。

百分位值由SQL存储过程计算得出,可以通过浏览负载测试数据库来找到。在我的Windows 10计算机上,它位于文件C:\Users\AdrianHHH\LoadTest2010.mdfC:\Users\AdrianHHH\LoadTest2010_log.ldf中。负载测试数据库创建脚本中还显示了该过程,该脚本应该位于C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\loadtestresultsrepository.sql中(但请更改11.0以反映您的Visual Studio版本)。