Testing 如何计算负载测试中要使用的并发用户数?

Testing 如何计算负载测试中要使用的并发用户数?,testing,performance-testing,load-testing,stress-testing,Testing,Performance Testing,Load Testing,Stress Testing,我们在LoadImpact中经常遇到这个问题,所以我想我应该将它添加到Stack Overflow社区中,以便更容易找到它 如何计算在负载测试期间需要模拟的并发用户(VU)数量,以使我的系统在一个月、一周或一天的时间内正常看到相同类型的通信量?运行负载测试需要指定在测试期间应模拟的并发用户数量。换句话说,将有多少模拟用户处于活动状态,同时加载内容或与您的站点/应用程序交互。不幸的是,以谷歌分析为例,我们只能看到一个网站每天或每月的访问量。一个站点每月可以有一百万次访问,但最多只能同时访问100次

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


如何计算在负载测试期间需要模拟的并发用户(VU)数量,以使我的系统在一个月、一周或一天的时间内正常看到相同类型的通信量?

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

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

首先,找出两件事:

  • 当您的站点/应用处于峰值流量水平时,您需要短时间内的总访问次数。这可以通过谷歌分析(Google Analytics)轻松找到,查看一个月内一个小时内的最高访问量。看看访问量最高的那一天,向下钻取,看看那一天中哪一个小时是最忙的,在这一小时内你有多少次访问。记下这个值。在本文中,我将此值称为“峰值每小时访问量”

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

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

    并发用户=(高峰每小时访问次数*平均会话持续时间)/3600
    假设负载测试中的每个模拟用户(VU)的行为都真实(即很好地模拟了真实用户),您现在将能够使用通常仅在高峰流量时段看到的相同流量来强调您的站点/应用程序。

    您应该运行测试多长时间?假设平均会话持续时间为3分钟这很难在简短的评论中回答,但如果您尝试模拟一个典型的会话,我会说您希望在平均会话持续时间的足够大的倍数下运行测试。如果您运行爬升测试并希望在爬升期间获取数据,您希望爬升至少是平均会话持续时间的3倍(即,在本例中为9分钟),然后您可能希望在至少一个会话持续时间(3分钟)内保持最大级别。但是更长的测试时间总是更好的-它会给你更好(更准确)的结果。