我们在 Load Impact 经常遇到这个问题,所以我想把它添加到 Stack Overflow 社区中,以便更容易找到。
在进行负载测试时,如何计算需要模拟的并发用户数(VUs),以便使用系统将正常看到的同类流量进行压力测试,这个流量可能是每月、每周或每天的。
我们在 Load Impact 经常遇到这个问题,所以我想把它添加到 Stack Overflow 社区中,以便更容易找到。
在进行负载测试时,如何计算需要模拟的并发用户数(VUs),以便使用系统将正常看到的同类流量进行压力测试,这个流量可能是每月、每周或每天的。
进行负载测试需要指定在测试期间模拟多少并发用户。换句话说,同时有多少个模拟用户将活动,加载内容或与您的站点/应用程序交互。不幸的是,在查看例如 Google Analytics 时,我们只能看到网站每天或每月有多少访问量。一个站点每月可以有一百万次访问量,但仍然只会体验到最多100个并发访问者。
要将 Google Analytics 或其他分析系统中的“X 次访问”转换为用于负载测试的“并发用户”指标,您可以使用以下方法。
首先,找出两件事:
您需要短时间内站点/应用程序达到高峰流量水平的总访问数。这可以通过例如 Google Analytics 轻松找到,方法是查看一个月内单个小时的最高访问量。查看已经看到最多访问量的那一天,并深入了解那天最繁忙的小时以及在该小时内有多少访问量。记下此值。在本文中我将称此值为“高峰每小时访问量”。
您需要知道用户与您的站点/应用程序互动的平均时间。在 Google Analytics 中,这称为“平均会话持续时间”,我在本文中也将称它为“平均站点停留时间”。如果此值对您的站点/应用程序根据查看的时间段不同而变化很大,则可能要使用您发现的较大值,以确保安全。我们希望所有时间都以秒为单位,因此,例如 Google Analytics 告诉您“00:03:19”(3分钟19秒),则应将199作为平均会话持续时间记下。
当您拥有这两个值时,使用以下公式计算要在负载测试中使用的并发用户数:
只要负载测试中的每个模拟用户(VU)表现得真实可信(即很好地模拟了真实用户),您现在将能够使用与正常高峰流量相同类型的流量来压力测试您的站点/应用程序。