首页 > 解决方案 > 如何测试托管在 Azure Appservice 上的 SignalR 应用程序(负载 + 功能组合)

问题描述

如何测试托管在 Azure Appservice 上的 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 上运行我们的应用程序。

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

标签: c#.netload-testingasp.net-core-signalrazure-signalr

解决方案


最明显的方法是:

  1. Crank,Microsoft 的 SignalR 性能测试工具
  2. signalr-tester
  3. JMeter 应该是一个不错的选择,请查看How to Load Test Async Requests with JMeter文章了解更多信息,它也可以通过WebDriver Sampler与 Selenium 集成

推荐阅读