Ich habe mir Tools zum Testen von HTTP-Servern angeschaut . Ich konnte jedoch nicht sehen, wie ich meine eigenen vorhandenen Protokolle in einem dieser Tools wiedergeben konnte. Ich habe einen Fehler, der nur unter bestimmten Ladeoperationen auftritt, die meine vorhandenen JMeter- und AB-Tests nicht reproduzieren können.
Ich möchte dem Tool einfach access_logs geben und sie entweder schneller oder mit der gleichen Geschwindigkeit wiedergeben lassen.
apache-2.2
performance
load-testing
Stewart Robinson
quelle
quelle
thread
lib durchthreading
lib ersetzt werden ( stackoverflow.com/questions/19558401/… )Angenommen, alles, was Sie in Ihrem Zugriffsprotokoll haben, sind GET-Anforderungen, und es macht Ihnen nichts aus, wenn die Anforderungen an der Auflösungsgrenze der Zeitstempel in den Protokollen zusammengefasst werden. Etwa 10 Zeilen von $ SCRIPTING_LANGUAGE sollten dies tun. POSTs, Cookies, HTTP-Authentifizierung und subtileres Timing sind weitaus interessanter.
quelle
Dies würde ein Programm erfordern, z. B. eine Auslastungstest-App, die die Wiedergabe von http-Protokollen unterstützt. Eine solche App ist HTTPerf ( https://github.com/httperf/httperf ).
Ein Artikel mit Anleitungen finden Sie unter https://www.igvita.com/2008/09/30/load-testing-with-log-replay/
quelle
Ich würde etwas anders machen. Ich verstehe Ihre Frage, aber wenn Sie versuchen, Ihren Server zu laden, sollten Sie sich das Tool 'ab' ansehen. Es kommt mit den meisten Installationen von Apache. Laufen:
Führt 1000 Anfragen mit jeweils 15 Anfragen aus. Ich weiß, dass dies nicht genau das ist, wonach Sie suchen, und dies wird nur die eine Adresse abfragen, die Sie ihm geben. Wenn Sie etwas laden müssen, ist dies ein schneller und einfacher Weg, und Sie erhalten einige potenziell sehr nützliche Statistiken für das Debuggen.
quelle
Warum entwickelst du nicht deine eigene? Hole das Protokoll. Analysiere es. Holen Sie sich die URI. Machen Sie einen Curl-Anruf. Sie können dies in PHP schreiben und es in Apache für Parallelität ausführen.
Wenn Ihre Protokolle im gz-Format vorliegen, führen Sie eine zcat durch, und verwenden Sie die readlog-Funktion. Das wird URL geben. Verwenden Sie nun phpCurl, um die URL zu treffen. Führen Sie es für einen höheren Durchsatz in Apache aus (verwenden Sie ab, um es zu laden).
quelle