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

Rag*_*nar 11 testing stress-testing load-testing performance-testing

我们在Load Impact上经常遇到这个问题,所以我想我会将它添加到Stack Overflow社区以便于查找.

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

Rag*_*nar 21

运行负载测试需要您指定在测试期间应模拟的并发用户数.换句话说,有多少模拟用户将处于活动状态,加载内容或同时与您的网站/应用互动.不幸的是,例如,在查看Google Analytics时,我们只会看到网站每天或每月的访问次数.一个站点每月可以访问数百万次,但仍然只能访问最多100个并发访问者.

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

首先,找出两件事:

  1. 当您的网站/应用处于峰值流量水平时,您需要在短时间内访问的总次数.这可以通过例如Google Analytics(分析)轻松找到,通过查看在一个月的过程中一小时的最高访问次数.查看访问次数最多的那一天,深入了解当天哪个小时是最忙碌的,以及在那个小时内您有多少次访问.请注意此值.我将在本文中将此值称为"peak_hourly_visits".

  2. 您需要知道用户与您的网站/应用互动的平均时间.在Google Analytics中,这称为"平均会话持续时间",我将在本文中将其称为"平均会话持续时间",但有时也称为"平均网站停留时间".如果您的网站/应用的此值发生了很大变化,具体取决于您查看的时间段,您可能希望使用其中一个较大的值,以确保安全.我们希望在几秒钟内完成所有时间,因此,如果Google Analytics(分析)告诉您"00:03:19"(3分19秒),您应该记下199作为平均会话持续时间.

如果有这两个值,则使用此公式计算在负载测试中使用的并发用户数:

concurrent_users =(peak_hourly_visits*average_session_duration)/ 3600

如果负载测试中的每个模拟用户(VU)表现得真实(即模拟真实用户),您现在可以使用与高峰时段通常只能看到的相同类型的流量来强调您的站点/应用.