2012-09-26 7 views
34

Wir erstellen eine Gruppen-Chat-Funktion, die Websockets verwendet. Wir möchten testen, wie viele Verbindungen unsere aktuelle Infrastruktur unterstützen kann.Load-Tests für Websockets durchführen

Im Grunde läuft es darauf hinaus, einen Websocket zu simulieren.

Antwort

7

kann ich Ihnen aus meiner jüngsten Erfahrungen einen Vorschlag geben. Sie können Webkit basierte Phantom virtuellen Clients zum Chat-Server und messen Sie die Ressourcennutzung verbinden (dh CPU, Speicher, kann ein Shell-Skript oder ein anderes Dienstprogramm verwenden oder Sie können Ihre Service-Profil)

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 
    } 
}); 

Haben Sie irgendwelche verwenden Framework wie Socket IO für Websocket-Kommunikation?

3

Wie wäre es mit Jmeter für diesen Zweck. Obwohl WebSocket noch nicht direkt unterstützt wird, können Sie den TCP-Sampler verwenden, um die Aufgabe zu erledigen.

Alternativ können Sie ein Plug-in erhalten, die würde WebSocket Unterstützung JMeter hinzufügen: http://github.com/maciejzaleski/JMeter

Unnötig zu sagen beide JMeter und WebSocket-Plug-in ist Open-Source und kostenlos zu benutzen.

1

Sie können ein Lasttest-Tool dafür.

Ich habe WebLOAD in einem ähnlichen Projekt verwendet. Er zeichnet den Web-Verkehr auf, wenn er den Browser benutzt - er registriert reguläre HTTP-Anfragen und auch den Web-Socket-Verkehr - Sie können das Skript dann mit vielen Benutzern wiedergeben und das Verhalten des Servers messen.