J'ai regardé les outils pour tester les serveurs HTTP en charge? mais je ne pouvais pas voir comment rejouer mes propres journaux existants dans aucun de ces outils. J'ai un bogue qui ne se produit que sous certaines opérations de chargement que mes trucs de test JMeter et AB existants ne peuvent pas reproduire.
Je veux simplement donner à l'outil access_logs et le faire lire, plus rapidement ou à la même vitesse.
apache-2.2
performance
load-testing
Stewart Robinson
la source
la source
thread
lib parthreading
lib ( stackoverflow.com/questions/19558401/… )En supposant que tout ce que vous avez dans votre journal d'accès sont des demandes GET, et cela ne vous dérange pas que les demandes se regroupent à la limite de résolution des horodatages dans les journaux, environ 10 lignes de $ SCRIPTING_LANGUAGE devraient faire l'affaire. Les POST, les cookies, l'authentification HTTP et un timing plus subtil sont un exercice beaucoup plus intéressant.
la source
Cela nécessiterait un programme, tel qu'une application de test de charge, qui prend en charge la relecture du journal http. Une de ces applications est HTTPerf ( https://github.com/httperf/httperf ).
Un article pratique est disponible sur https://www.igvita.com/2008/09/30/load-testing-with-log-replay/
la source
Je ferais quelque chose un peu différemment. Je comprends votre question, mais si vous cherchez à charger votre serveur, vous voudrez peut-être examiner l'outil «ab». Il est livré avec la plupart des installations d'apache. Fonctionnement:
Réalisera 1 000 demandes en faisant 15 demandes à la fois. Je sais que ce n'est pas exactement ce que vous recherchez, et cela ne demandera que l'adresse que vous lui donnez. Si vous avez besoin de charger, c'est un moyen rapide et simple de le faire, et cela vous donnera des statistiques potentiellement très utiles pour le débogage.
la source
Pourquoi ne développez-vous pas le vôtre? Obtenez le journal; analyser. Obtenez l'URI. Faites un appel en boucle. Vous pouvez écrire ceci en php et l'exécuter dans apache pour la concurrence.
Si vos journaux sont au format gz, faites un zcat, utilisez la fonction readlog. Cela donnera l'URL. Utilisez maintenant phpCurl pour frapper l'URL. Pour un débit plus élevé, exécutez-le dans apache (utilisez ab pour le charger).
la source