it-swarm.com.de

Wie kann ich den Datenverkehr von Protokollen zur Profil- / Benchmark-Web-App unter Last auf dem Webserver wiedergeben?

Gibt es eine Möglichkeit, den tatsächlichen Netzwerkverkehr des Rekorders zum Webserver zu bringen, z. aus Web-Server-Protokollen (Apache) und diesen Datenverkehr entweder für eine Profil-Webanwendung (in Perl) unter echter Last wiedergeben oder die Geschwindigkeit verschiedener Implementierungen vergleichen, bevor Sie die eine oder die andere auswählen?

Wenn es darauf ankommt, ist die Webanwendung in Perl geschrieben und läuft unter einfachem CGI, FastCGI, mod_Perl (über ModPerl :: Registry), PSGI (über Plack :: App :: WrapCGI).

Crossposted von StackOverflow

3
Jakub Narębski

Abhängig vom Maßstab benötigen Sie eine bestimmte Software. Für Leistungs-, Last- und Stresstests wird jedoch eine bestimmte Software empfohlen, die bessere Ergebnisse liefert.

Bei mittlerem Datenverkehr kann ich Apache Jmeter oder Selenium RC empfehlen. Ich denke, die Wiedergabe von Apache HTTP Server-Protokollen (ja, dies ist der vollständige Name aus unseren berühmten Apache-Protokollen) ist einfacher in Apache Jmeter .

1
Dave

Dies kann tun, was Sie wollen:

http://patrick.net/sprocket/rwt.html

Es hat einen ultra-einfachen Proxy für die Aufzeichnung von Datenverkehr und ein noch einfacheres Perl-Skript für die Wiedergabe!

2
user21247

Wenn Sie echten Datenverkehr aufzeichnen und wiedergeben möchten, ist es meiner Meinung nach die direkteste Lösung, vollständige Anforderungsheader in einer Datei zu protokollieren und dann eine Lösung wie curl zu verwenden, um die Anforderungen auf Ihrem Webserver "wiederzugeben".

1
danlefree

Warum liefern "echte" Daten mehr Informationen als eine Simulation, die skaliert, bis der Server ausfällt? Zumindest sollten Sie in der Lage sein, das Ladesignal aus den Ladedaten zu verstärken, um einen Bereich für die Leistung anzugeben ... Außerdem scheinen die Protokolldaten nur die Anforderung zu profilieren, nicht die Antwortrate aus der Client-Anforderung, was bedeutet Ein Client fordert an, die Verbindung superschnell zu schließen, der andere verzögert sich möglicherweise.

1
blunders