如何测试托管在 Azure Appservice 上的 SignalR 应用程序(负载 + 功能组合)

1 .net c# load-testing asp.net-core-signalr azure-signalr

如何测试托管在 Azure 应用服务上的 SignalR 应用程序(负载 + 功能组合) 我们正在构建一个 SignalR 应用程序,用于在活动和大会期间(实时)向观众进行问卷调查。我们预计有 1000-2000 个活跃并发用户的会话,这意味着大多数用户将同时连接。这会导致短时间内的重负载。我们想要模拟 x 个同时连接的唯一客户端。例如,1000 个用户在 30 秒内连接。语言和 signalR 包:该应用程序是使用 .NET Core 2.2 和 React 前端构建的。*SignalR 包 (.NET) Microsoft.AspNetCore.SignalR.Core (1.1.0) *SignalR 包 (npm) @aspnet/signalr (1.1.4) Azure 设置 我们正在使用 Azure SQL DB 的 Azure Appservice 上运行我们的应用程序。我们正在使用 Azure SignalR 服务,并将根据客户的需求进行扩展。

测试我们尝试使用Jmeter进行负载测试,并进行了GUI测试(使用Selenium进行小规模100-200个用户)。我们还运行了一个应用程序内测试,通过 JavaScript 循环创建集线器连接。但我们无法确保我们的应用程序能够在 1000-2000 个活动连接下运行。我的问题是如何测试这种类型的应用程序并确认它。我不可能是第一个构建这样的应用程序的人。

Dmi*_*i T 5

最明显的方法是:

  1. Crank,微软的 SignalR 性能测试工具
  2. signalr-tester
  3. JMeter 应该是一个不错的选择,请查看如何使用 JMeter 加载测试异步请求文章以获取更多信息,它还可以通过WebDriver Sampler与 Selenium 集成