So unterstützen Sie ApacheBench mehrere URLs

So unterstützen Sie ApacheBench mehrere URLs

Da der Standard-AB nur Stresstests für eine einzelne URI unterstützt, was den tatsächlichen Anforderungen nicht entspricht, werden die folgenden Änderungen vorgenommen, um dem AB die Unterstützung mehrerer URLs zu ermöglichen.

1. Laden Sie das Apache httpd-bezogene Quellcodepaket und das Patchpaket für das ab-Tool herunter

wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.37.tar.gz
wget https://github.com/philipgloyne/apachebench-for-multi-url/archive/master.zip

Hinweis: httpd hängt von apr und apr-util ab

2. Kompilieren und installieren Sie apr

tar -zxf apr-1.6.5.tar.gz
CD April-1.6.5
./configure --prefix=/usr/local/apr
machen && machen installieren

3. Kompilieren und installieren Sie apr-util

tar -zxf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
machen && machen installieren

4. Ersetzen Sie die Datei ab.c im httpd-Quellcode

entpacken Sie master.zip
tar -zxf httpd-2.4.37.tar.gz
\cp ./apachhebench-for-multi-url-master/ab.c ./httpd-2.4.37/support/

5. Kompilieren und installieren Sie httpd

cd httpd-2.4.37
./konfigurieren \
  --with-apr=/usr/local/apr \
  --with-apr-util=/usr/local/apr-util \
  --prefix=/usr/local/apache \
  --sysconfdir=/etc/httpd24 \
  --enable-so \
  --enable-ssl \
  --enable-cgi \
  --enable-rewrite \
  --mit-zlib \
  --mit-pcre \
  --mit-mpm=vorverzweigen \
  --enable-modules=die meisten \
  --enable-mpms-shared=alle 

machen && machen installieren

6. Überprüfen Sie die Ergebnisse

#/usr/local/apache/bin/ab -h
Verwendung: /usr/local/apache/bin/ab [Optionen] [http[s]://]Hostname[:Port]/Pfad
Optionen sind:
  -n requests Anzahl der auszuführenden Anfragen
  -c concurrency Anzahl der zu stellenden Mehrfachanfragen
  -t timelimit Sekunden bis zur maximalen Wartezeit auf Antworten
  -b Windowsize Größe des TCP Sende-/Empfangspuffers in Bytes
  -p postfile Datei mit Daten zum POST. Denken Sie auch daran, -T einzustellen.
  -u putfile Datei mit Daten zum PUT. Denken Sie auch daran, -T festzulegen.
  -T Inhaltstyp Inhaltstyp-Header für POSTing, zB.
          „Anwendung/x-www-form-urlencoded“
          Standard ist „Text/Plain“
  -v Ausführlichkeit: Wie viele Informationen zur Fehlerbehebung sollen gedruckt werden?
  -w Ergebnisse in HTML-Tabellen ausdrucken
  -i HEAD statt GET verwenden
  -x Attribute Als Tabellenattribute einzufügende Zeichenfolge
  -y Attribute Zeichenfolge, die als tr-Attribute eingefügt werden soll
  -z Attribute Zeichenfolge, die als td- oder th-Attribute eingefügt werden soll
  -C Attribut Cookie hinzufügen, zB 'Apache=1234. (wiederholbar)
  -H-Attribut Fügt eine beliebige Kopfzeile hinzu, zB „Accept-Encoding: gzip“
          Wird nach allen normalen Kopfzeilen eingefügt. (wiederholbar)
  -A Attribut Fügen Sie Basic WWW Authentication hinzu, die Attribute
          sind ein durch Doppelpunkte getrennter Benutzername und ein Passwort.
  -P attribute Fügen Sie Basic Proxy Authentication hinzu, die Attribute
          sind ein durch Doppelpunkte getrennter Benutzername und ein Passwort.
  -X proxy:port Zu verwendender Proxyserver und Portnummer
  -V Versionsnummer drucken und beenden
  -k HTTP-KeepAlive-Funktion verwenden
  -d Tabelle mit bereitgestellten Perzentile nicht anzeigen.
  -S Keine Konfidenzschätzer und Warnungen anzeigen.
  -g Dateiname Gibt die gesammelten Daten in eine Datei im Gnuplot-Format aus.
  -e Dateiname Ausgabe-CSV-Datei mit den bereitgestellten Prozentsätzen
  -r Nicht beenden, wenn beim Socket-Empfang Fehler auftreten.
  -h Nutzungsinformationen anzeigen (diese Nachricht)
  -L Dateinamen der URL-Liste verwenden, z. B. url.txt
  -Z ciphersuite SSL/TLS-Chiffre-Suite angeben (siehe OpenSSL-Chiffren)
  -f Protokoll SSL/TLS-Protokoll angeben (SSL2, SSL3, TLS1 oder ALL)

Sie können sehen, dass ab den Parameter -L bereits unterstützt (die dritte Zeile von unten in den obigen Hilfeinformationen), und Sie sind fertig.

Dies ist das Ende dieses Artikels darüber, wie ApacheBench Multi-URL-Unterstützung erhält. Weitere Informationen zur Multi-URL-Unterstützung von ApacheBench finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Implementierungsprinzip und Nutzungsanalyse des Apache Bench-Stresstest-Tools
  • So implementieren Sie Web-Stresstests mit Apache Bench
  • So installieren Sie Apachebench separat in einer CentOS-Umgebung

<<:  Tutorial zu HTML-Formular-Tags (4):

>>:  Die Rolle und Öffnung des MySQL-Protokolls für langsame Abfragen

Artikel empfehlen

Ein kurzes Verständnis der Unterschiede zwischen MySQL InnoDB und MyISAM

Vorwort MySQL unterstützt viele Arten von Tabelle...

Detaillierte Erklärung der Prinzipien des responsiven Systems von Vue

Inhaltsverzeichnis Die Grundprinzipien des respon...

Beispielcode zum Erstellen eines minimierten Header-Effekts nur mit CSS

Zusammengeklappte Kopfzeilen sind eine großartige...

Zwei Beispiele für die Verwendung von Symbolen in Vue3

Inhaltsverzeichnis 1. Verwenden Sie SVG 2. Verwen...

Lernen Sie, mit Eclipse eine Verbindung zur MySQL-Datenbank herzustellen

Vorwort Da immer wieder Fehler auftreten, protoko...

js, um einen interessanten Countdown-Effekt zu erzielen

js interessanter Countdown-Fall. Zu Ihrer Informa...

Eine detaillierte Erklärung der subtilen Unterschiede zwischen Readonly und Disabled

Sowohl die Optionen „Nur lesen“ als auch „Deaktivi...

10 inhaltliche Prinzipien zur Verbesserung der Website-Performance

<br />Englische Adresse: http://developer.ya...

Detaillierte Analyse des Tomcat-Servers des Centos 7-Systems

Inhaltsverzeichnis 1. Der Ursprung von Tomcat 1. ...

Detaillierte Erklärung des Overflow-Scrollens zur Lösung des Scroll-Lag-Problems

Vorwort Wenn Sie das Attribut „overflow: scroll“ ...

Tutorial zur Installation von Pycharm und Ipython unter Ubuntu 16.04/18.04

Unter Ubuntu 18.04 1. sudo apt install python ins...

Sperrt Mysql ALTER TABLE die Tabelle beim Hinzufügen von Feldern?

Inhaltsverzeichnis Vor MySQL 5.6 Nach MySQL 5.6 Z...