【发布时间】:2025-12-01 17:50:01
【问题描述】:
场景是我们需要在后端测试使用 Web 套接字的广播字幕消息,即消息在发生更改时被推送到数据库,Web 套接字从数据库中获取数据并使其在前端可用结束。
此消息将同时向大约 1000 人显示。 我们有什么方法可以测试这样做时导致的失败吗?
【问题讨论】:
标签: websocket jmeter performance-testing load-testing
场景是我们需要在后端测试使用 Web 套接字的广播字幕消息,即消息在发生更改时被推送到数据库,Web 套接字从数据库中获取数据并使其在前端可用结束。
此消息将同时向大约 1000 人显示。 我们有什么方法可以测试这样做时导致的失败吗?
【问题讨论】:
标签: websocket jmeter performance-testing load-testing
负载测试的主要规则是尽可能地模拟现实生活中的应用程序使用,因此您基本上需要实现 1000 个线程(虚拟用户)
使用JMeter Plugins Manager安装WebSocket Samplers by Peter Doornbosch
添加 WebSocket 开放连接采样器并在此处提供您的后端连接详细信息:
添加将从后端读取消息的 WebSocket Single Read Sampler
在这里您可能想要使用Loop Controller 或While Controller 以便在消息不能立即可用时“等待”消息
完成后,使用 WebSocket Close 采样器终止连接是有意义的
可以使用View Results Tree listener 可视化请求和响应数据
一旦您的测试在 1-2 个用户中运行良好,您可以将 increase number of threads 设置为 1000 并在命令行非 GUI 模式下运行全负载测试
查看JMeter WebSocket Samplers - A Practical Guide 文章了解有关 WebSocket 测试元素配置和使用的更多信息
【讨论】: