我们收集性能指标,例如平均响应时间、延迟、点击次数等。当我们进行负载测试时。我们如何使用这些指标评估请求的性能?
2 回答
当您运行性能测试时,每个测试都有一些目标。它可以是应用程序的基线,以确保应用程序可以处理一定数量的负载而不会违反任何 SLA。与产品经理一起定义 SLA 以设定性能预期。这些基本上是在可接受的 API 响应时间范围、吞吐量、页面加载时间等方面。
当您第一次运行测试时,您正在为您的应用程序创建基线并创建现实生活中预期的负载。您收集响应时间、吞吐量等指标,以确保您满足为产品定义的 SLA 或您的应用程序在正常负载条件下的执行情况。
在构建到构建性能测试的情况下,您需要确保最新构建和先前构建的吞吐量相等或更多,并且响应时间在后续构建中没有恶化。
如果您运行负载测试并增加负载水平然后响应时间,吞吐量可以帮助您了解系统在什么时候饱和并且无法进一步扩展,以及哪些请求不能随着负载的增加而很好地扩展。为了在不同的负载级别下运行测试,并比较不同负载级别下每个请求的响应时间和吞吐量。这将使您清楚地了解哪些请求在负载下表现良好,哪些表现不佳。一旦您知道性能不佳的请求,请针对该特定请求运行测试并添加代码分析器以及负载测试以查找瓶颈。
响应时间仅说明您是否监控了与之匹配的资源。命中可能会或可能不会说明,因为您可以通过管理缓存计划来塑造命中。但是,最终,业务利益相关者要求您衡量成功的要求是什么?如果您在测试中无法达到他们的标准,那么您需要检查原因。
测试的价值不是测试本身,而是时间记录的收集和匹配的资源测量导致分析,从而产生价值。
如果您不进行监控,那么您就没有参与性能工程活动。你只是在扔负载。性能测试是一项性能工程活动。