【问题标题】:How do I calculate the number of concurrent users to use in a load test?如何计算负载测试中使用的并发用户数?
【发布时间】:2015-06-06 01:39:24
【问题描述】:

我们在 Load Impact 上经常遇到这个问题,所以我想我应该将它添加到 Stack Overflow 社区以便更容易找到。

如何计算负载测试期间我需要模拟的并发用户 (VU) 的数量,以便给我的系统施加与它通常会在一个月、一周的过程中看到的相同类型的流量还是一天?

【问题讨论】:

    标签: testing performance-testing load-testing stress-testing


    【解决方案1】:

    运行负载测试需要您指定在测试期间应模拟多少并发用户。换句话说,有多少模拟用户将同时处于活动状态、加载内容或与您的站点/应用程序交互。不幸的是,以谷歌分析为例,我们只能看到一个网站每天或每月的访问量。一个网站每月可以有 100 万次访问,但最多只能有 100 名并发访问者。

    要将来自 Google Analytics 或其他分析系统的“每 X 访问次数”指标转换为可用于负载测试的“并发用户”指标,您可以使用以下方法。

    首先,搞清楚两件事:

    1. 当您的网站/应用程序处于高峰流量水平时,您需要短时间内的总访问次数。这可以很容易地通过例如找到。谷歌分析通过查看在例如过程中一个小时内的最高访问次数是多少一个月。查看访问次数最多的一天,并深入了解当天的哪个时间段最繁忙以及您在该小时内进行了多少次访问。记下这个值。我将在本文中将此值称为“peak_hourly_visits”。

    2. 您需要了解用户与您的网站/应用交互所花费的平均时间。在 Google Analytics 中,这称为“平均会话持续时间”,在本文中我也会这样称呼它,但有时也称为“站点平均时间”。如果根据您查看的时间段,您的站点/应用程序的此值发生很大变化,则为了安全起见,您可能希望使用您找到的较大值之一。我们想要以秒为单位的所有时间,所以如果例如Google Analytics 告诉您“00:03:19”(3 分 19 秒),您应该记下 199 作为平均会话持续时间。

    当您拥有这两个值时,您可以使用此公式来计算要在负载测试中使用的并发用户数:

    concurrent_users = (peak_hourly_visits * average_session_duration) / 3600

    假设您的负载测试中的每个模拟用户 (VU) 都表现得真实(即很好地模拟了真实用户),您现在就可以使用通常只在高峰期看到的相同类型的流量来给您的网站/应用施加压力交通时间。

    【讨论】:

    • 您应该运行测试多长时间?假设平均会话持续时间为 3 分钟
    • 这很难在简短的评论中回答,但如果您尝试模拟典型的会话,我会说您希望在平均会话持续时间的足够大倍数内运行测试。如果您运行加速测试并且有兴趣在加速期间获取数据,您希望加速至少是平均会话持续时间的 3 倍(即在这种情况下为 9 分钟),然后您可能希望在至少一个会话持续时间(3 分钟)内保持在最高级别。但是更长的测试时间总是更好 - 它会给你更好(更准确)的结果。
    猜你喜欢
    • 2017-03-22
    • 1970-01-01
    • 2012-07-08
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    相关资源
    最近更新 更多