Drupalize.Me

EIN Drupalize.Me Tutorial

Siege ist ein nützliches Lasttest-Tool, das Sie Ihrem Toolkit für Leistungstests hinzufügen können. Von der Website:

Siege ist ein HTTP-Lasttest- und Benchmarking-Dienstprogramm. Es wurde entwickelt, damit Webentwickler ihren Code unter Zwang messen können, um zu sehen, wie er der Belastung im Internet standhält. Siege unterstützt Standardauthentifizierung, Cookies, HTTP-, HTTPS- und FTP-Protokolle. Es ermöglicht dem Benutzer, einen Server mit einer konfigurierbaren Anzahl simulierter Clients zu erreichen. Diese Clients setzen den Server „unter Belagerung.“

Belastungstests sind nützlich, um die Leistung Ihrer Site und die Infrastruktur, auf der sie ausgeführt wird, zu testen. Es gibt nichts Schlimmeres, als eine Seite auf Ihrer Website auf einer beliebten Website zu veröffentlichen und zu beobachten, wie Ihre Website unter der Last zusammenbricht. Siege kann Aktivität auf Ihrer Website simulieren, und Sie können dann Ihre Website von Ihrem Browser verwenden, wie Sie es normalerweise tun würden, während Ihre Belagerung läuft und wirklich ein Gefühl dafür bekommen, wie Ihre Website unter Last reagiert.

Dieser Blogbeitrag behandelt die Installation von Siege unter OS X und Linux sowie die Durchführung eines grundlegenden Lasttests mit Siege.

Annahmen

In diesem Lernprogramm wird davon ausgegangen, dass Sie mit der Befehlszeile vertraut sind, um grundlegende Befehle auszugeben, und dass auf Ihrem lokalen Computer eine Website installiert ist, die Sie testen können.

Installation von Siege

Download

Gehen Sie zuerst zu https://www.joedog.org/siege-home/ und suchen Sie die URL für ein Archiv der neuesten Version der Siege-Anwendung. Zum Zeitpunkt des Schreibens ist das Siege Version 3.1.0.

Speichern

Öffnen Sie nun die Terminal-App, wir werden dieses Archiv in unserem Download-Verzeichnis speichern.

Unter OS X
cd ~/Downloadscurl -O http://download.joedog.org/siege/siege-3.1.0.tar.gz
Unter Linux
cd ~/Downloadswget http://download.joedog.org/siege/siege-3.1.0.tar.gz

Entpacken Sie das Archiv

tar -xvf siege-3.1.0.tar.gz

Wechseln Sie in das Archivverzeichnis

cd siege-3.1.0

Konfigurieren und erstellen Sie es!

./configuremakemake install

Lesen Sie die Dokumentation

Lesen Sie bei Bedarf die vollständigen Installationsanweisungen.

Überprüfen Sie die installierte Version

Großartig, jetzt können wir testen, ob wir alles richtig installiert haben.

siege -VSIEGE 3.1.0

Hurra, wir haben Version 3.1.0 von siege auf unserem System installiert, lasst uns zu einigen Tests kommen!

Lasttest mit Belagerung

Ich werde eine Drupal-Site verwenden, die ich lokal installiert habe, um den Test zu laden. Um eine grundlegende Belagerung zu starten, führen Sie den folgenden Befehl mit der gewünschten Site-URL aus (ich verwende http://drupal7.local):

siege http://drupal7.local

Dadurch wird die Belagerung mit den Standardoptionen gestartet, dh 15 gleichzeitige Benutzer, die auf die Indexseite Ihrer Site zugreifen, bis Sie die Belagerung durch Drücken von Strg + c beenden.

Dies liefert die Belagerungsstatistik für Ihren Test:

Lifting the server siege... done.Transactions: 385 hitsAvailability: 100.00 %Elapsed time: 76.02 secsData transferred: 0.84 MBResponse time: 2.40 secsTransaction rate: 5.06 trans/secThroughput: 0.01 MB/secConcurrency: 12.18Successful transactions: 385Failed transactions: 0Longest transaction: 5.73Shortest transaction: 0.31

Interpretieren der Ergebnisse eines Lasttests

Zunächst einmal sind meine Ergebnisse nicht so beeindruckend, da ich dies auf einer virtuellen Maschine mit geringem Stromverbrauch auf meinem lokalen Computer ausführe.

Transactions ist die Anzahl der Serverzugriffe. Im Beispiel 385 Transaktionen.

Verstrichene Zeit ist die Dauer des gesamten Belagerungstests. Dies wird von dem Zeitpunkt an gemessen, an dem der Benutzer siege aufruft, bis der letzte simulierte Benutzer seine Transaktionen abschließt. Wie oben gezeigt, dauerte der Test 76,02 Sekunden.

Übertragene Daten sind die Summe der Daten, die an jeden einzelnen simulierten Benutzer übertragen werden. Es enthält sowohl die Header-Informationen als auch den Inhalt. Da es Header-Informationen enthält, ist die von siege gemeldete Nummer größer als die vom Server gemeldete Nummer. Im Internetmodus, der zufällige URLs in einer Konfigurationsdatei trifft, wird erwartet, dass diese Zahl von Lauf zu Lauf variiert.

Die Antwortzeit ist die durchschnittliche Zeit, die benötigt wurde, um auf die Anforderungen jedes simulierten Benutzers zu antworten.

Die Transaktionsrate ist die durchschnittliche Anzahl von Transaktionen, die der Server pro Sekunde verarbeiten konnte, kurz gesagt: Transaktionen geteilt durch die verstrichene Zeit.

Der Durchsatz ist die durchschnittliche Anzahl von Bytes, die pro Sekunde vom Server an alle simulierten Benutzer übertragen werden.

Parallelität ist die durchschnittliche Anzahl gleichzeitiger Verbindungen, die mit abnehmender Serverleistung ansteigt.

Erfolgreiche Transaktionen gibt an, wie oft der Server einen Code zurückgegeben hat, der kleiner als 400 ist. Dementsprechend werden Umleitungen als erfolgreiche Transaktionen betrachtet.

Testen mehrerer Seiten

Um mehrere URLs zu testen, können wir eine URL-Datei verwenden, um eine Liste von URLs bereitzustellen, die während unserer Belagerung getestet werden sollen. Erstellen Sie eine Textdatei namens URLs.txt, und fügen Sie die URLs hinzu, gegen die Sie testen möchten (eine pro Zeile), ich erstelle meine im Home-Verzeichnis meines Benutzers unter ~/urls .txt

Siege versteht das folgende URL-Format:

# Comments proceeded by a hashhttp://drupal7.local/http://drupal7.local/node/2http://drupal7.local/node/7http://drupal7.local/rest/node

Jetzt können Sie Tests starten und den Pfad zu der von Ihnen erstellten Datei angeben, um einen Test für diese URLs zu starten:

siege -f /path/to/your/urls.txt

Internetmodus

Der Internetmodus ist eine weitere interessante Option in Siege, bei der jede der URLs, die ein Benutzer im Test trifft, randomisiert wird. Dies ahmt eine reale Situation nach, in der Sie nicht vorhersagen können, welche URL eine Person auf Ihrer Website besuchen wird. Die andere Implikation dieser Option besteht darin, dass aufgrund der Randomisierung nicht garantiert werden kann, dass jede Seite in der URLs-Textdatei getroffen wird.

Um eine Belagerung im Internetmodus zu starten, verwenden Sie den folgenden Befehl und übergeben Sie erneut den Pfad Ihrer URLs.txt:

siege -if /path/to/your/urls.txt

Erhöhen der Anzahl gleichzeitiger Benutzer

Erhöhen der Anzahl gleichzeitiger Benutzer erfolgt mit dem Flag -c, wobei die Anzahl der gleichzeitigen Benutzer übergeben wird, mit denen Sie testen möchten:

siege -if /path/to/your/urls.txt -c 500
' -c NUM '' –concurrent=NUM '

Gleichzeitige Benutzer (Argument erforderlich): Mit dieser Option kann der Benutzer den Webserver mit der Anzahl der simulierten Benutzer belasten. Die Menge ist nur durch die verfügbaren Rechenressourcen begrenzt, aber realistisch gesehen entsprechen ein paar hundert simulierte Benutzer einem Vielfachen dieser Anzahl in tatsächlichen Benutzersitzungen. Die Zahl, die Sie auswählen, stellt die Anzahl der Transaktionen dar, die Ihr Server verarbeitet. Es stellt NICHT die Anzahl der gleichzeitigen Sitzungen dar. Denken Sie daran, dass echte Benutzer einige Zeit brauchen, um die angeforderte Seite tatsächlich zu lesen.

Es ist auch nützlich, das Flag -d zu verwenden, mit dem Sie die Transaktionen staffeln können:

siege -if /path/to/your/urls.txt -c 500 -d 3
' -d NUM '' –delay=NUM 'Each siege simulated user is delayed for a random number of seconds between one and NUM. If you are benchmarking performance, it is recommended that you use a 1 second delay ( -d1 ). The default value is three (3 ). This delay allows for the transactions to stagger rather then to allow them to pound the server in waves.

Siege hat noch viel mehr zu bieten, und ich möchte Sie dringend bitten, die Dokumentation vollständig zu lesen, um ein umfassenderes Verständnis zu erhalten, aber hoffentlich bringt Sie dieses Tutorial auf den Weg.

Wenn Sie Seiten erstellen müssen, die eine Authentifizierung als Drupal-Benutzer erfordern, lesen Sie dieses Hilfsskript: https://github.com/msonnabaum/DrupalSiege

Deinstallation von Siege und Bereinigung

Wenn Sie Siege nicht mehr auf Ihrem System installieren möchten, deinstallieren Sie es zuerst, entfernen Sie dann das Quellverzeichnis und die Archive:

Wechseln Sie in das Verzeichnis, in das Sie Siege heruntergeladen haben:

cd ~/Downloads/siege-3.1.0/make uninstall

Jetzt können Sie den Quellordner und das Archiv sicher entfernen.:

~/Downloads/siege-3.1.0~/Downloads/siege.-3.1.0.tar.gz

Viel Lärm um die Leistung

Wenn Ihre Website das Gefühl hat, während der Belagerung schlecht zu funktionieren, möchten Sie herausfinden, warum! Einige Dinge zu überprüfen:

  • Serverlast
  • Haben Sie Caching implementiert?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.