Website-Suche

Lasttests von Webservern mit dem Siege Benchmarking Tool


Für die Planung des zukünftigen Wachstums Ihrer Website oder Anwendung ist es wichtig zu wissen, wie viel Datenverkehr Ihr Webserver unter Belastung bewältigen kann. Mit dem Tool siege können Sie einen Auslastungstest auf Ihrem Server durchführen und sehen, wie sich Ihr System unter verschiedenen Umständen verhält.

Sie können Siege verwenden, um die übertragene Datenmenge, die Antwortzeit, die Transaktionsrate, den Durchsatz, die Parallelität und die Anzahl der vom Server zurückgegebenen Antworten auszuwerten. Das Tool verfügt über drei Modi, in denen es arbeiten kann: Regression, Internetsimulation und Brute Force.

Wichtig: Siege sollte nur auf Servern ausgeführt werden, die Ihnen gehören oder auf denen Sie ausdrücklich die Erlaubnis zum Testen haben. In einigen Ländern kann die Belagerung nicht autorisierter Websites als Straftat angesehen werden.

Installieren des Siege HTTP Load Testing Utility unter Linux

Siege ist plattformübergreifend und kann mit den folgenden Befehlen unter den Distributionen Ubuntu/Debian und CentOS/RHEL installiert werden.

Um Siege unter Debin/Ubuntu zu installieren, können Sie Folgendes ausführen:

sudo apt install siege

Für CentOS/RHEL müssen Sie das Repository installieren und aktivieren, um Siege zu installieren mit:

yum install epel-release
yum install siege

Alternativ können Sie die Siege aus dem Quellcode erstellen. Zu diesem Zweck müssen build-essential- und Entwicklungspakete installiert sein.

sudo apt install build-essential       #Ubuntu/Debian
yum groupinstall 'Development Tools'   #CentOS/RHEL

Anschließend können Sie Siege mit dem Befehl wget herunterladen und wie gezeigt von den Quellen installieren.

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-*/
sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
sudo make && make install

Konfigurieren des Siege HTTP Load Testing Utility unter Linux

Sobald Sie die Installation abgeschlossen haben, können Sie Ihre Siege-Konfigurationsdatei anpassen. Es befindet sich in /etc/siege/siegerc. Falls Sie sich entschieden haben, das Paket aus dem Quellcode zu erstellen, müssen Sie Folgendes ausführen:

sudo siege.config

Dadurch wird die Datei siege.conf generiert, die sich im Home-Bereich Ihres Benutzers ~/.siege/siege.conf befindet.

Der Inhalt der Datei sollte etwa so aussehen. Beachten Sie, dass ich die Kommentarzeichen für die Anweisungen logfile und time entfernt habe:

cat siegerc |egrep -v "^$|#"
Beispielausgabe
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

Mit der aktuellen Konfiguration imitiert siege innerhalb einer Minute 25 gleichzeitige Benutzer.

Sie sind jetzt bereit, Ihre Belagerung durchzuführen.

Testen der Website-Auslastung mit dem Siege Benchmarking Utility

Das Ausführen von siege ist ganz einfach. Sie müssen lediglich die Website angeben, die Sie testen möchten:

siege example.com

Wenn die Verfügbarkeit bei 100 % bleibt und es keine fehlgeschlagenen Verbindungen gibt, hat Ihr System gut funktioniert und es gab keine Probleme. Auch die Reaktionszeit sollten Sie im Auge behalten.

Führen Sie eine Belagerung gegen mehrere Websites durch

Sie können mehrere URLs testen, indem Sie siege so einstellen, dass sie aus der Datei gelesen werden. Sie können die URLs in /usr/local/etc/urls.txt wie folgt beschreiben:

Um siege nun anzuweisen, die URLs aus der Datei zu testen, verwenden Sie die Option -f wie folgt:

siege -f /usr/local/etc/urls.txt

Sie können auch Befehlszeilenoptionen verwenden, wenn Sie andere Einstellungen als die in der Konfigurationsdatei beschriebenen ausprobieren möchten.

  • -C – geben Sie Ihre eigene Konfigurationsdatei an.
  • -q – unterdrückt die Ausgabe von Siege.
  • -g – GET, HTTP-Header herunterziehen und die Transaktion anzeigen. Nützlich zum Debuggen.
  • -c – die Anzahl der gleichzeitigen Benutzer, Standard ist 10.
  • -r – wie oft der Test ausgeführt werden soll.
  • -t – wie viel Zeit für die Ausführung des Tests benötigt wird. Sie können S, M oder H angeben, z. B.: –time=10S für 10 Sekunden.
  • -d – zufällige Verzögerung vor jeder Anfrage.
  • -b – keine Verzögerungen zwischen Anfragen.
  • -i – Benutzersimulation. Wird verwendet, um zufällige URLs aufzurufen.
  • -f – URLs aus der angegebenen Datei testen.
  • -l – Protokolldatei.
  • -H – Fügen Sie der Anfrage einen Header hinzu.
  • -A – Geben Sie einen Benutzeragenten an.
  • -T – Legt den Inhaltstyp in der Anfrage fest.
  • --no-parser – KEIN PARSER, schalten Sie den HTML-Seitenparser aus.
  • --no-follow – HTTP-Weiterleitungen nicht folgen.
Abschluss

Siege ist ein leistungsstarkes Tool zur Messung der Systemzuverlässigkeit unter hoher Auslastung. Es kann von Webentwicklern verwendet werden, um ihren Code zu testen, wenn die Website unter Druck steht. Sie sollten Ihre Tests immer mit Vorsicht durchführen, da der getestete Server während der Evaluierung möglicherweise nicht mehr erreichbar ist.