web-dev-qa-db-fra.com

Comment relire le trafic sur le serveur Web à partir de journaux vers une application Web de profil / d'évaluation sous une charge réelle?

Existe-t-il un moyen de transférer le trafic réseau réel de l’enregistreur au serveur Web, par exemple depuis les journaux du serveur Web (Apache) et relancez ce trafic vers une application Web de profil (en Perl) sous charge réelle ou avec un point de repère et comparez la vitesse des différentes implémentations avant de choisir l’une ou l’autre?

Si cela compte, webapp est écrit en Perl et s'exécute en clair sous CGI, FastCGI, mod_Perl (via ModPerl :: Registry), PSGI (via Plack :: App :: WrapCGI).

Posé de façon croisée à partir de StackOverflow

3
Jakub Narębski

En fonction de l'échelle, vous aurez besoin d'un logiciel spécifique, bien qu'un logiciel spécifique soit recommandé pour tout test de performance/charge/stress, ce qui permet d'obtenir de meilleurs résultats.

Pour un trafic moyen, je peux recommander Apache Jmeter ou Selenium RC. Je pense que rejouer le serveur HTTP Apache (oui, c’est le nom complet de notre célèbre Apache), il est plus facile de créer des journaux dans Apache Jmeter .

1
Dave

Cela peut faire ce que vous voulez:

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

Il possède un proxy ultra-simple pour enregistrer le trafic et un script Perl encore plus simple pour le lire!

2
user21247

Si vous souhaitez enregistrer et rejouer le trafic réel, je pense que la solution la plus directe serait de consigner les en-têtes de requête complets dans un fichier, puis d'utiliser une solution telle que curl pour "rejouer" les requêtes sur votre serveur Web.

1
danlefree

Pourquoi les "vraies" données vous donneraient-elles plus d'informations qu'une simulation évolutive jusqu'à la rupture du serveur? Au minimum, vous devriez pouvoir amplifier le signal de charge à partir des données de charge pour donner une plage de performances ... De plus, il semble que les données du journal ne profilent que la demande, pas le taux de réponse de la demande du client, ce qui signifie une demande du client pour fermer la connexion très rapidement, l’autre peut être à la traîne.

1
blunders