在用户体验方面,对于用户来说,没有什么比体验 Web 应用程序的流畅和稳定功能更重要的了。 这些方面就像任何 网站或 Web 应用程序的基础部分,对其成功至关重要。 但是,随着越来越多的用户开始访问应用程序,使用更多的资源,通常情况下,它变得越慢。 对于用户来说,这是一种糟糕的体验,因为他们开始收到奇怪的系统错误消息、超时、 页面响应缓慢和服务器错误。 将我们从所有这些中拯救出来 问题,我们需要将功能测试带到下一步并进行非功能测试,例如 负载测试或压力测试,这将验证应用程序是否可以处理大量 并发用户,以及确定系统在流量扩展时的响应方式。

在开始负载测试之旅之前,请务必了解有关如何在应用程序(与生产环境一样接近 )上模拟压力测试的最佳做法。 基本 性能测试 策略包括回答以下问题:

  • 我们的负载测试所需的并发用户数。
  • 模拟真实用户测试场景。
  • 地理分布式虚拟负载。
  • 向上和向下坡期。
  • 测试持续时间。

让我们来讨论每一个,并 了解为什么他们应该在我们的清单 之前,我们运行我们的负载测试。

 

加载测试所需的并发用户

在设置反映接近真实用户行为的测试之前,我们必须花一些时间来计算测试需要多少并发用户来模拟我们的测试。 并发用户定义有多少用户将浏览我们的网站或 Web 应用程序,并将在特定时间段内执行交易。 访问您的网站和应用程序的流量可能会在整个星期内起伏不定,但为了正确测试您的站点和应用程序,您需要将测试配置为高于高峰时段的测试。 但是,如何正确找到正确的并发用户数呢?

我们可以使用网络分析工具来确定我们网站上的当前 流量统计数据 ,并提供详细信息,例如访问次数,网站上的会话持续时间。 Google Analytics 和许多其他分析工具可以提供您的网站根据常规时间戳和平均会话持续时间以及用户在网站上花费的时间的会话指标。 我们可以使用下面的公式来估计并发用户的数量:

并发用户 = 每小时会话 x 平均会话。 会话持续时间(以分钟)/60

如果我们没有 Web 分析数据,我们可以使用预期的用户访问次数来计算并发用户的数量:

并发用户 = 每分钟预期访问次数 * 访问持续时间(以分钟为二名)

有关配置当前用户的更多信息和提示,请访问我们的知识库,阅读我们关于从 Web 分析中计算 并发用户的文章。

模拟真实用户测试方案

由于我们现在已准备好与并发用户,我们需要找到频繁和高流量测试场景,成为我们压力测试的一部分。 请记住,没有必要针对每个情况使用许多脚本。 通常,您会发现只需要少量的使用案例来确定所有交易的实际负载。

一旦我们确定了并发用户的相关级别,我们应根据测试中的应用程序选择适当的负载测试任务模拟方法。

加载测试 Web 应用程序和网页

为了模拟 Web 应用程序 和网站的用户场景和交易,我们需要编写用户行程脚本以模拟我们的测试场景。 对于此使用案例,我们可以使用 “每个步骤”Web 记录器,该记录器记录我们的浏览器交互,并创建可用于负载测试的脚本。 每个步骤网络记录器易于使用,但能够编写最复杂的场景。 此外,用户还可以设置延迟、编辑关键字或字段变量、设置网络限制等。 要了解有关使用”每个步骤”网络记录器编辑脚本的更多信息,请访问我们的知识库了解更多信息。

若要对网页执行负载测试,团队可以使用 LoadView 中的“网页”选项,该选项开始 与并发用户一起测试网页的过程。

此外, LoadView 平台允许开发团队加载测试 API 和流媒体。 有关 API 和流媒体页面的更多信息,请访问我们的产品页面。

 

LoadView 测试设置

 

地理分布虚拟负载

您可能已经知道,网络延迟对网站有巨大影响,因此,虽然我们的压力测试不应忽视并发用户在地理上分布的负载,因此我们模拟了在生产环境中看到的行为,以及检查远离数据中心的用户的响应时间。 考虑一个网页,该网页在刷新期间下载 2MB 的内容,每个回端请求下载 10 毫秒的内容。 由于接近和低延迟,数据中心的加载时间将小于 5 秒。

在国外的特定地点,如亚洲,延迟为 200ms,本网站的响应时间为后端 5 秒,网络传输的响应时间超过 200ms。 我们不应该犯错误,只测量数据中心内的响应时间。 我们可以在这里使用 LoadView,它在世界各地提供广泛的负载喷射机。 在所有这些选项中,我们可以选择所有代表我们客户通常位置的人。

 

缩放之间的上升周期

通常,我们的网站在一天的不同时间分散了并发用户,我们很少有高峰时段,在此期间我们的流量最高。 我们应该使用相同的方法,使用相同的加速策略进行横向扩展和压力测试应用程序。 LoadView 使您能够设置斜坡、保持时间以及需要以什么速度向下提升。

 

负载测试持续时间

测试持续时间是负载测试过程中的一个重要因素,唯一的原因就是为应用程序提供足够的时间,以便它产生现实的结果,并提供响应时间、吞吐量等详细信息,如果应用程序中存在任何缓存机制,则在我们的升级期间将其缓存。 要决定测试持续时间,我们需要期待我们的测试场景和要求。 我们可以在确定负载测试的测试持续时间时考虑以下情况:

  • 我们需要确保每个请求/测试步骤应运行至少 10 次。 与较小的方案相比,对于较长的方案,我们应该保持更高的测试持续时间。
  • 我们还需要决定我们计划执行哪种类型的负载测试,因为如果我们必须在较长时间内验证应用程序的稳定性和性能特性,我们可能需要设置更长的持续时间。
  • 如上文所述,请始终额外保留几分钟以预热应用程序。

 

总结:如何正确模拟网站或 Web 应用程序上的流量

如您所见,在设置和运行负载测试之前,需要考虑许多因素。 确保您的网络应用程序和网站为客户完美运行是业务成功的关键。 LoadView 平台的设计方式可快速轻松地引导您完成设置测试的分步过程。 该平台可以设置实际场景,并帮助衡量来自多个位置的性能。

注册 LoadView 免费试用版 并获得免费的负载测试以开始,或注册 LoadView 演示。 我们的一位性能工程师将引导您完成整个解决方案,并回答有关平台的任何问题,或回答您有关负载测试过程的具体问题。