我们正在构建一个使用websockets的群聊功能。我们想测试当前基础设施可以支持的连接数。
基本上归结为如何模拟websocket。
答案 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)