【问题标题】:Is there any particular manner to test web socket using jmeter for its efficiency是否有任何特殊的方法可以使用 jmeter 测试 Web 套接字的效率
【发布时间】:2025-12-01 17:50:01
【问题描述】:

场景是我们需要在后端测试使用 Web 套接字的广播字幕消息,即消息在发生更改时被推送到数据库,Web 套接字从数据库中获取数据并使其在前端可用结束。

此消息将同时向大约 1000 人显示。 我们有什么方法可以测试这样做时导致的失败吗?

【问题讨论】:

    标签: websocket jmeter performance-testing load-testing


    【解决方案1】:

    负载测试的主要规则是尽可能地模拟现实生活中的应用程序使用,因此您基本上需要实现 1000 个线程(虚拟用户)

    1. 使用JMeter Plugins Manager安装WebSocket Samplers by Peter Doornbosch

    2. 为 1 个虚拟用户添加 Thread Group
    3. 添加 WebSocket 开放连接采样器并在此处提供您的后端连接详细信息:

    4. 添加将从后端读取消息的 WebSocket Single Read Sampler

      在这里您可能想要使用Loop ControllerWhile Controller 以便在消息不能立即可用时“等待”消息

    5. 完成后,使用 WebSocket Close 采样器终止连接是有意义的

    6. 可以使用View Results Tree listener 可视化请求和响应数据

    一旦您的测试在 1-2 个用户中运行良好,您可以将 increase number of threads 设置为 1000 并在命令行非 GUI 模式下运行全负载测试

    查看JMeter WebSocket Samplers - A Practical Guide 文章了解有关 WebSocket 测试元素配置和使用的更多信息

    【讨论】:

      最近更新 更多