菜单
文档breadcrumb arrow Grafana k6breadcrumb arrow 测试指南breadcrumb arrow 计算负载测试的并发用户数
开源

计算负载测试的并发用户数

在规划负载测试时,确定正确的并发用户数对于创建真实的测试场景至关重要。本指南解释了如何使用 Google Analytics 数据计算并发用户数并设计有效的负载测试。

注意

您可以使用任何提供相同指标的分析工具来帮助您计算负载测试所需的并发用户数。

理解并发用户

Google Analytics 跟踪您网站的访问者(“用户”)及其活动周期(“会话”)。在会话期间,用户会通过页面加载或 AJAX 请求生成流量,您的服务器必须处理这些流量。要创建真实的负载测试,您需要确定在任何给定时间有多少用户正在积极生成流量。

计算每小时并发用户基线的推荐公式是

An hour in seconds = 3600
Concurrent users  = Hourly sessions * Average session duration (in seconds) / 3600

从 Google Analytics 获取数据

在 Google Analytics 中查找所需指标

  • 登录您的 Google Analytics 账户。
  • 导航至报告选项卡。
  • 点击侧边栏菜单中的受众群体
  • 点击概览
  • 设置您想要的时间段。
  • 在线形图设置中点击按小时查看。

您应该能够在概览仪表盘上查看会话计数和平均会话时长。

注意

这些说明可能会因您使用的 Google Analytics 版本而异。如果您使用的是 Google Analytics 4,您可以通过选择探索并创建自由形式报告来查找这些指标。

设计负载测试

掌握数据后,重要的是要说明为何您应该使用“按小时”视图。

使用按小时指标而非每日或每月平均值对于准确的负载测试至关重要。每日平均值会掩盖全天出现的显著流量变化。例如,电子商务网站可能在工作时间流量最大,并在午餐时间达到峰值。使用每日平均值将低估这些关键的峰值时段。

此外,按小时指标有助于识别用户行为模式。新闻网站可能在早晚通勤时间出现流量尖峰,而餐厅预订服务可能在晚上达到峰值。通过按小时数据理解这些模式有助于您设计更真实的负载测试,以匹配您的实际使用模式。

计算峰值流量

不要使用平均流量水平,而是根据峰值流量时段进行负载测试

  1. 在 Google Analytics 中确定峰值时段。
  2. 计算这些峰值期间的并发用户数。
  3. 增加余量以确保您可以处理更高的流量水平。

例如,如果您的网站平均每月并发会话数为 0.08,但在高流量时段峰值达到 7.2 个并发会话,那么您应该至少针对此峰值水平进行测试。

计算示例

举例来说,一个网站具有以下指标

  • 2,591 个月会话数
  • 每个会话 82 秒

应用并发用户公式,您可以得出平均并发用户数

2,591 monthly sessions x 82 seconds per session / 3600 = 59.0172

// To convert monthly sessions to hourly sessions, you can divide the value by 720
59.0172 / 720 (30 days in November x 24h per day = 720) = 0.08 average concurrent users in November

但是,如果同一个网站在下午 3 点到下午 4 点的峰值时段具有不同的指标

  • 990 个会话数
  • 92 秒

在这种情况下,应用并发用户公式得出

990 sessions x 92 seconds per session / 3600 = 25.3 average concurrent users

这个例子显示了峰值流量如何达到远高于月平均值的数值,在本例中,从 0.8 个并发用户增至 25.3 个,这突显了进行超出平均流量水平测试的重要性。

其他测试注意事项

在多种场景下,不同类型的测试可能会为您提供有关系统可靠性的更好洞察。考虑实施以下测试策略

  • 尖峰测试 在重大事件发生前进行。
  • 在峰值流量水平下进行定期负载测试。
  • 超出您历史最高流量安全裕量的测试。

这些做法有助于确保您的系统在意外流量增加期间保持稳定。请参阅测试指南以了解所有不同性能测试策略的更多详细信息。