如何对websockets进行负载测试

时间:2012-09-26 14:28:25

标签: websocket load-testing

我们正在构建一个使用websockets的群聊功能。我们想测试当前基础设施可以支持的连接数。

基本上归结为如何模拟websocket。

6 个答案:

答案 0 :(得分:8)

我可以根据我最近的经验给你一个建议。您可以将基于webkit的Phantom虚拟客户端连接到聊天服务器并测量资源使用情况(即CPU,内存,可能正在使用shell脚本或其他实用程序,或者您可以对服务进行概要分析)

var system = require('system');
var page = require('webpage').create();
page.viewportSize = { width: 1024, height: 768 };

page.open("<URL to chat server service>", function (status) {
    // Check for page load success
    if (status !== "success") {
        console.log("Unable to connect");
        phantom.exit();
    } else {
        console.log("Client connected  ");
        //after connecting you may extract further information, taking screenshots etc. refer the phantom.js API for further details
    }
});

您是否使用套接字IO等任何框架进行websocket通信?

答案 1 :(得分:5)

几年过去了,还有另一个新工具可以对Websockets进行负载测试: https://github.com/observing/thor

答案 2 :(得分:3)

如何将Jmeter用于此目的。虽然它还不能直接支持WebSocket,但您可以使用TCP采样器来完成工作。

或者你可以获得一个插件,它可以为JMeter添加WebSocket支持:http://github.com/maciejzaleski/JMeter

毋庸置疑,JMeter和WebSocket插件都是开源的,可以免费使用。

答案 3 :(得分:1)

您可以使用负载测试工具。

我在类似的项目中使用了WebLOAD。它在使用浏览器时记录Web流量 - 它记录常规HTTP请求以及Web套接字流量 - 然后您可以向许多用户回放脚本并测量服务器的行为。

答案 4 :(得分:0)

我会使用Node.js这样做,这样你就可以使用你在实际客户端中使用的相同的websocket客户端库。

答案 5 :(得分:0)

我对tsung http://tsung.erlang-projects.org/

有很好的体验
相关问题