Wer wünscht sich nicht, dass seine Website ein Erfolg wird? Aber sind Sie auf diesen Erfolg vorbereitet? Und wie können Sie sich zu 100 % darauf vorbereiten? Welche Maßnahmen sind zu ergreifen, um dies sicherzustellen?

Eine der wichtigsten Maßnahmen ist der Lasttest.
Er hilft, potenzielle Performance-Killer aufzudecken und zu identifizieren und gibt Aufschluss darüber, wie sich eine Website unter Spitzenlast im Live-Betrieb verhält.
Was ist ein Lasttest?
Ein Lasttest ist ein Verfahren, bei dem Sie Anfragen an Ihre Website senden, um die maximale Last freizusetzen, der Ihre Website im Live-Betrieb ausgesetzt sein wird. Der Test stellt sicher, dass die Website den Spitzenlasten nach dem Start standhalten kann. Dieser Test wird idealerweise in der Live-Umgebung vor dem Start der Website durchgeführt, um größere Traffic-Ereignisse zu antizipieren, oder nach größeren Überholungen.
Ein Lasttest ist ein Verfahren, bei dem Sie Anfragen an Ihre Website senden, um die maximale Last freizusetzen, der Ihre Website im Live-Betrieb ausgesetzt sein wird.
Falls Ihre Website bereits live ist, können Sie Lasttests in der Testumgebung mit zwei Anwendungscontainern durchführen. Live-Umgebungen auf Websites mit einem Servicelevel von Performance Medium und höher können jedoch über mehrere Anwendungscontainer verfügen, die die Website bedienen. Versuchen Sie daher, eine anteilige Menge an Traffic zu erzeugen, basierend darauf, wie viele Container Sie derzeit in Ihrer Live-Umgebung haben.
Lasttests in 5 Schritten
Wir wollen nicht nur wissen, ob unsere Website die gewünschte Anzahl von Besuchern bewältigen kann, sondern auch, wie weit wir gehen können. Daher konzentrieren wir uns auf Last- und Stresstests mit den folgenden Schritten:
1. Vorhandene Daten
Das Abrufen von Daten aus bestehenden Statistiken hilft, realistische Szenarien in der Testvorbereitung zu erstellen. Zum Beispiel die Anzahl der Besucher auf der Website. Wenn die Website neu ist, kann der bestehende Kunde einige Einblicke geben. Und falls Sie eine neue Version derselben Website erstellen, können Sie immer noch über die erwarteten Besuche spekulieren.
2. Szenarien erstellen
Wenn Sie simulieren wollen, dass eine große Anzahl von Besuchern gleichzeitig auf mehrere Seiten klickt, Dokumente herunterlädt, sich einloggt, Formulare versendet usw., dann stellen Sie sicher, dass Sie genügend CPU auf Ihrem Rechner haben, um die Tests durchzuführen. Dies ist ein realistischer Test mit mehreren Szenarien, um Grenzwerte zu bestimmen und der Performance eine genaue Punktzahl zuzuweisen.
3. Das Tool auswählen
Als Nächstes müssen Sie das Tool bestimmen, das zur Durchführung des Tests verwendet werden kann. Die am häufigsten verwendeten und gängigen Tools sind:
- Apache Bench(AB) - Kann Lasttests nur für den Webserver durchführen - HTTP oder HTTPS
- Gatling - Eine kostenpflichtige Alternative ähnlich wie JMeter.
- Locust: Verwendet Python-Code.
- Siege - Ähnlich wie AB, umfangreicher und nützlicher für die Durchführung eines schnellen Lasttests.
- Blazemeter - Mit einfacher Charakterisierung ist es eine gehostete Version von Jmeter.
- Jmeter - Ein Open-Source-Testtool mit vielen Möglichkeiten und bewährten Lösungen.
Obwohl alle diese Tools gleichermaßen leistungsfähig und gut getestet sind, werden wir uns in diesem Blog nur auf Lasttests mit Locust konzentrieren.
4. Testen
Dies ist ein entscheidender Schritt, bei dem wir feststellen, ob die aktuelle Infrastruktur ausreicht, um die Anwendung auszuführen und in Bezug auf die Spitzenbenutzerlast nachhaltig ist. Das Ziel, die Netzwerkverzögerung zwischen dem Client und dem Server zu erkennen, wird zusammen mit anderen Problemen erreicht, die sich herausstellen.
5. Analysieren
Die Analyse der Ergebnisse lässt uns mehr über die nicht sichtbaren Probleme in unserer Anwendung lernen und erweitert so den Umfang der Verbesserung.
Was ist Locust?

Locust ist ein einfach zu bedienendes Open-Source-Tool für Lasttests, das in Python geschrieben wurde und dazu dient, Websites auf ihre Last zu testen und herauszufinden, wie viele gleichzeitige Benutzer ein System verarbeiten kann. Es kann Millionen von Benutzern simulieren, um Ihre Anwendung mit einer intuitiven Benutzeroberfläche zu testen, mit der Sie einfach loslegen können.
Locust ist ein einfach zu bedienendes Open-Source-Tool für Lasttests, das in Python geschrieben wurde und dazu dient, Websites auf ihre Last zu testen und herauszufinden, wie viele gleichzeitige Benutzer ein System verarbeiten kann.
Während eines Tests greift ein Schwarm von Locusts Ihre Website an, wobei das Verhalten jedes Locust von Ihnen definiert wird und der Schwarmprozess in Echtzeit über eine Web-UI überwacht wird. Dies hilft beim Battle-Test und identifiziert Engpässe in Ihrem Code, bevor echte Benutzer zugelassen werden.
Als vollständiges ereignisbasiertes Tool kann Locust Tausende von Benutzern auf einem einzigen Rechner unterstützen. Im Vergleich zu anderen ereignisbasierten Apps verwendet es keine Callbacks. Stattdessen verwendet es leichtgewichtige Prozesse über gevent. Dies ermöglicht das Schreiben sehr ausdrucksstarker Szenarien in Python, ohne den Code mit Callbacks zu verkomplizieren.
Warum Locust?
- Es verwendet normales Python für Testszenarien.
- Benötigt keine klobigen UIs oder aufgeblähtes XML. Durch die Verwendung von Coroutinen anstelle von Callbacks sieht Ihr Code normal aus und verhält sich auch so wie blockierender Python-Code.
- Da es verteilt und skalierbar ist, unterstützt es Tausende von Benutzern.
- Locust führt Upload-Tests verteilt über mehrere Rechner durch, die Millionen von gleichzeitigen Benutzern simulieren.
- Es hat eine webbasierte UI.
- Locust bietet eine übersichtliche HTML+JS-Benutzeroberfläche, die relevante Testdetails in Echtzeit anzeigt. Und zusammen mit der webbasierten UI ist es plattformübergreifend und leicht erweiterbar.
- Obwohl es weborientiert ist, kann es verwendet werden, um fast jedes System zu testen.
- Locust ist klein und sehr hackbar, da alle Schwerlasten von Evented I/O und Coroutinen an gevent delegiert werden.
Zusammenfassend
Locust ist ein relativ neues Performance-Framework, das in Python geschrieben wurde. Das Hauptmerkmal dieses Frameworks ist, dass Sie Performance-Skripte in reinem Python schreiben können. Zusammen mit seiner "Test as Code"-Funktion ist Locust aufgrund seiner umfassenden ereignisbasierten Implementierung hoch skalierbar. Aufgrund dieser Tatsachen hat Locust eine breite und schnell wachsende Community, die dieses Framework gegenüber JMeter bevorzugt, das in reiner Java-Sprache geschrieben ist und eine ausführliche Versionsgeschichte hat.
Mit den flüchtigen Entwicklungen in der Technologie sind Performance- und Lasttests zu einem integralen Bestandteil des Prozesses geworden.
Wir bei OpenSense Labs wissen, dass Websites robust und für unvorhergesehene Herausforderungen gerüstet sein müssen, um die Gesamtleistung zu steigern. Kontaktieren Sie uns unter [email protected]. Erhalten Sie die neuesten Updates und Nachrichten zu Drupal auf unserem Twitter-Handle @OpenSenseLabs.
Abonnieren
Verwandte Blogs
Erkunden von Drupal Single Directory Components: Ein Wendepunkt für Entwickler

Webentwicklung lebt von Effizienz und Organisation, und Drupal, unser Lieblings-CMS, ist mit seiner neuesten Funktion hier,…
7 schnelle Schritte zur Erstellung von API-Dokumentationen mit Postman

Wenn Sie mit APIs arbeiten, kennen Sie wahrscheinlich bereits Postman, den beliebten REST Client, dem unzählige Entwickler…
Was ist der Product Engineering Life Cycle?

Stellen Sie sich vor, Sie bauen ein Haus ohne Bauplan oder Konstruktionszeichnungen. Es wäre schwierig, die Kosten und den…