ab - Benchmarking-Tool für Apache-HTTP-Server
ab [ -A auth-username:password ] [ -b windowsize ] [ -B local-address ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -E client-certificate file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -l ] [ -m HTTP-method ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s timeout ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path
ab ist ein Tool zum Benchmarking Ihres Apache Hypertext Transfer Protocol (HTTP)-Servers. Es soll Ihnen einen Eindruck davon vermitteln, wie Ihre aktuelle Apache-Installation funktioniert. Dies zeigt Ihnen insbesondere, wie viele Anfragen pro Sekunde Ihre Apache-Installation bedienen kann.
Stellen Sie dem Server BASIC-Authentifizierungs-Anmeldeinformationen zur Verfügung. Der Benutzername und das Passwort werden durch ein einzelnes : getrennt und base64-codiert über die Leitung gesendet. Die Zeichenfolge wird unabhängig davon gesendet, ob der Server sie benötigt (d. h. eine 401-Authentifizierung erforderlich gesendet hat).
Größe des TCP-Sende-/Empfangspuffers in Bytes.
Adresse, an die beim Herstellen ausgehender Verbindungen gebunden werden soll.
Anzahl mehrerer gleichzeitig auszuführender Anforderungen. Der Standardwert ist jeweils eine Anfrage.
Fügen Sie der Anfrage eine Zeile Cookie: hinzu. Das Argument hat normalerweise die Form eines Name=Wert-Paares. Dieses Feld ist wiederholbar.
Zeigt nicht den „Prozentsatz, der innerhalb der XX [ms]-Tabelle bereitgestellt wurde“ an. (Legacy-Unterstützung).
Schreiben Sie eine Datei mit durch Kommas getrennten Werten (CSV), die für jeden Prozentsatz (von 1 % bis 100 %) die Zeit (in Millisekunden) enthält, die für die Bearbeitung dieses Prozentsatzes der Anfragen benötigt wurde. Dies ist normalerweise nützlicher als die Datei „gnuplot“. da die Ergebnisse bereits „gebündelt“ sind.
Wenn Sie eine Verbindung zu einer SSL-Website herstellen, verwenden Sie das bereitgestellte Client-Zertifikat im PEM-Format zur Authentifizierung beim Server. Es wird erwartet, dass die Datei das Client-Zertifikat enthält, gefolgt von Zwischenzertifikaten, gefolgt vom privaten Schlüssel. Verfügbar in 2.4.36 und höher.
Geben Sie das SSL/TLS-Protokoll an (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 oder ALLE). TLS1.1- und TLS1.2-Unterstützung ist in 2.4.4 und höher verfügbar.
Schreiben Sie alle Messwerte als „Gnuplot“- oder TSV-Datei (Tab Separate Values) aus. Diese Datei kann problemlos in Pakete wie Gnuplot, IDL, Mathematica, Igor oder sogar Excel importiert werden. Die Beschriftungen befinden sich in der ersten Zeile der Datei.
Nutzungsinformationen anzeigen.
Fügen Sie der Anfrage zusätzliche Header hinzu. Das Argument hat normalerweise die Form einer gültigen Kopfzeile, die ein durch Doppelpunkte getrenntes Feld-Wert-Paar enthält (d. h., "Accept-Encoding: zip/zop;8bit"). ).
Führen Sie HEAD-Anfragen anstelle von GET aus.
Aktivieren Sie die HTTP-KeepAlive-Funktion, d. h., um mehrere Anfragen innerhalb einer HTTP-Sitzung auszuführen. Standardmäßig ist kein KeepAlive.
Melden Sie keine Fehler, wenn die Länge der Antworten nicht konstant ist. Dies kann für dynamische Seiten nützlich sein. Verfügbar in 2.4.7 und höher.
Benutzerdefinierte HTTP-Methode für die Anfragen. Verfügbar in 2.4.10 und höher.
Anzahl der für die Benchmarking-Sitzung auszuführenden Anforderungen. Standardmäßig wird nur eine einzige Anfrage ausgeführt, was normalerweise zu nicht repräsentativen Benchmarking-Ergebnissen führt.
Datei mit Daten zum POST. Denken Sie daran, auch -T zu setzen.
Geben Sie unterwegs BASIC-Authentifizierungs-Anmeldeinformationen an einen Proxy weiter. Der Benutzername und das Passwort werden durch ein einzelnes : getrennt und base64-codiert über die Leitung gesendet. Die Zeichenfolge wird unabhängig davon gesendet, ob der Proxy sie benötigt (d. h. hat eine 407-Proxy-Authentifizierung erforderlich gesendet).
Bei der Verarbeitung von mehr als 150 Anfragen gibt ab alle 10 % oder etwa 100 Anfragen eine Fortschrittszählung auf stderr aus. Das Flag -q unterdrückt diese Nachrichten.
Bei Socket-Empfangsfehlern nicht beenden.
Maximale Anzahl an Sekunden, die gewartet werden soll, bevor der Socket das Zeitlimit überschreitet. Der Standardwert beträgt 30 Sekunden. Verfügbar in 2.4.4 und höher.
Zeigen Sie den Median und die Standardabweichung nicht an und zeigen Sie auch keine Warn-/Fehlermeldungen an, wenn der Durchschnitt und der Median mehr als das Ein- oder Zweifache der Standardabweichung voneinander entfernt sind. Und standardmäßig die Min/Durchschnitt/Max-Werte. (Legacy-Unterstützung).
Maximale Anzahl an Sekunden, die für das Benchmarking aufgewendet werden sollen. Dies impliziert intern einen -n 50000. Verwenden Sie dies, um den Server innerhalb eines festgelegten Gesamtzeitraums zu vergleichen. Standardmäßig gibt es keine zeitliche Begrenzung.
Header vom Inhaltstyp zur Verwendung für POST/PUT-Daten, z. B. application/x-www-form-urlencoded. Der Standardwert ist text/plain.
Datei mit Daten zum PUT. Denken Sie daran, auch -T zu setzen.
Ausführlichkeitsstufe festlegen – 4 und höher druckt Informationen in Kopfzeilen, 3 und höher druckt Antwortcodes (404, 200 usw.), 2 und Oben werden Warnungen und Informationen gedruckt.
Versionsnummer anzeigen und beenden.
Ergebnisse in HTML-Tabellen ausdrucken. Die Standardtabelle ist zwei Spalten breit und hat einen weißen Hintergrund.
Zeichenfolge, die als Attribute für Tabelle verwendet werden soll. Attribute werden Tabelle hier eingefügt.
Verwenden Sie für die Anfragen einen Proxyserver.
Zeichenfolge, die als Attribut für Zeichenfolge, die als Attribut für Geben Sie die SSL/TLS-Verschlüsselungssuite an (siehe OpenSSL-Verschlüsselungen) Die folgende Liste beschreibt die von ab zurückgegebenen Werte: Der Wert, falls vorhanden, der im HTTP-Header server der ersten erfolgreichen Antwort zurückgegeben wird. Dies umfasst alle Zeichen im Header vom Anfang bis zu dem Punkt, an dem ein Zeichen mit dem Dezimalwert 32 (insbesondere ein Leerzeichen oder CR/LF) erkannt wird. Die in der Befehlszeile angegebene DNS- oder IP-Adresse Der Port, zu dem ab eine Verbindung herstellt. Wenn in der Befehlszeile kein Port angegeben wird, wird standardmäßig 80 für http und 443 für https verwendet. Die zwischen Client und Server ausgehandelten Protokollparameter. Dies wird nur gedruckt, wenn SSL verwendet wird. Der aus der Befehlszeilenzeichenfolge analysierte Anforderungs-URI. Dies ist die Größe in Bytes des ersten erfolgreich zurückgegebenen Dokuments. Ändert sich die Dokumentlänge während des Tests, wird die Antwort als Fehler gewertet. Die Anzahl gleichzeitiger Clients, die während des Tests verwendet wurden Dies ist die Zeit, die vom Erstellen der ersten Socket-Verbindung bis zum Empfang der letzten Antwort vergeht Die Anzahl der erfolgreichen Antworten, die eingegangen sind Die Anzahl der Anfragen, die als fehlgeschlagen galten. Wenn die Zahl größer als Null ist, wird eine weitere Zeile mit der Anzahl der Anfragen gedruckt, die aufgrund einer Verbindung, eines Lesevorgangs, einer falschen Inhaltslänge oder von Ausnahmen fehlgeschlagen sind. Die Anzahl der Fehler, die beim Schreiben fehlgeschlagen sind (kaputte Pipe). Die Anzahl der Antworten, die nicht in der 200er-Reihe von Antwortcodes enthalten waren. Wenn alle Antworten 200 waren, wird dieses Feld nicht gedruckt. Die Anzahl der Verbindungen, die zu Keep-Alive-Anfragen führten Wenn das Senden von Daten als Teil des Tests konfiguriert ist, ist dies die Gesamtzahl der während der Tests gesendeten Bytes. Dieses Feld wird weggelassen, wenn der Test keinen zu sendenden Text enthielt. Die Gesamtzahl der vom Server empfangenen Bytes. Diese Zahl ist im Wesentlichen die Anzahl der über die Leitung gesendeten Bytes. Die Gesamtzahl der vom Server empfangenen Dokumentbytes. Diese Zahl schließt die in HTTP-Headern empfangenen Bytes aus Dies ist die Anzahl der Anfragen pro Sekunde. Dieser Wert ergibt sich aus der Division der Anzahl der Anfragen durch die Gesamtzeit Die durchschnittliche Zeit, die pro Anfrage aufgewendet wird. Der erste Wert wird mit der Formel Parallelität * Zeitaufwand * 1000/erledigt berechnet, während der zweite Wert mit der Formel Zeitaufwand * 1000/erledigt berechnet wird Die Übertragungsrate, berechnet nach der Formel totalread/1024/timetaken Es gibt verschiedene statisch deklarierte Puffer fester Länge. In Kombination mit der verzögerten Analyse der Befehlszeilenargumente, der Antwortheader vom Server und anderer externer Eingaben könnte Sie das stören. Es implementiert HTTP/1.x nicht vollständig; akzeptiert nur einige „erwartete“ Formen von Antworten. Die ziemlich starke Verwendung von strstr(3) wird oben im Profil angezeigt, was auf ein Leistungsproblem hinweisen könnte; d.h., Sie würden die ab-Leistung messen und nicht die des Servers. verwendet werden soll. verwendet werden soll. AUSGANG
Fehler