Selbst der Neuling unter den Website-Betreibern hat irgendwann einmal seine eigene getestet Website-Leistung spielen. Die meisten dieser Tests konzentrieren sich jedoch normalerweise auf Ladegeschwindigkeit or User Experience Indizes.
Aber was ist mit Lasttests?
Obwohl die meisten Websites für ein normalerweise recht hohes Verkehrsaufkommen anfällig sind, kann es vorkommen, dass einige Websites mit hohen Lasten zu kämpfen haben. Beispiele hierfür sind Online-Shops oder sogar einige Regierungswebsites.
Wie gut sind Sie dafür gerüstet, wenn Ihre Website innerhalb kurzer Zeit einen unerwarteten Anstieg der Besucherzahlen verzeichnet?
Grundlegendes zum Lasttest
Was ist Lasttest?
Lasttests sind Benchmarks für eine Website, um festzustellen, wie sie unter verschiedenen Lasten funktioniert.
Beispielsweise kann ein Test eine zunehmende Anzahl gleichzeitiger Besucher simulieren, die auf Ihrer Website landen. Außerdem wird aufgezeichnet, wie Ihre Site mit ihnen umgeht, und als Referenz aufgezeichnet.
Welche Arten von „Last“ werden getestet?
Abhängig von dem Tool, mit dem Sie Ihre Website laden möchten, kann jedes Tool unterschiedliche Funktionen bieten. Am einfachsten ist es, eine ständig steigende Last zu simulieren und anzuhalten, wenn Ihre Site abstürzt.
Andere Tools können möglicherweise eine simulierte Last erzeugen, die ein anderes Benutzerverhalten nachahmt, z. B. das Ausführen von Abfragen, das Ändern von Seiten oder das Laden anderer Funktionen. Einige sind möglicherweise sogar in der Lage, logische Abläufe für jedes einzelne Szenario abzubilden.
Abhängig von ihrer Komplexität können einige Lasttest-Tools recht teuer sein. Es gibt jedoch billigere Optionen auf dem Markt und einige sind sogar kostenlos. Ich habe unten eine Mischung davon als Referenz beigefügt, einschließlich einiger Open Source-Optionen.
Schneller Vergleich von Leistungstest-Tools
1. Loadview von Dotcom Monitor
Website: https://www.loadview-testing.com/
Preis: Ab 129 USD / Monat, kostenlose Testversion verfügbar
Loadview ist eine der umfassenderen Lösungen auf dem Markt und basiert heute auf einem Cloud-Service-Modell. Dies bedeutet, dass Sie für jede Art von Simulation, die Sie von ihnen benötigen, nur für den Service bezahlen - es gibt keine Investition in Hardware oder irgendetwas anderes.
In Bezug auf die Funktionen bietet Loadview eine sehr komplexe Lösung, die alles von oben bis unten umfassen kann HTTP-Auslastungstests zu einer raffinierten Mischung Ihrer Wahl. Es ist in der Lage, dynamische Variablen und sogar geografische Standortdiversität in seinen Tests zu simulieren.
Tipp: Sie sind sich nicht sicher, ob LoadView das Richtige für Sie ist?
Planen Sie mit LoadView einen Discovery-Anruf (15 Minuten) oder eine kostenlose Demo (1 Stunde). Ihre Performance-Ingenieure führen Sie durch den Skript- und Ausführungsprozess > Planen Sie jetzt eine kostenlose Demo.
LoadView-Funktionen
- Tests nach der Firewall
- Behandelt dynamische Variablen
- Detaillierte Wasserfallkarten
- Testkurven laden
2. K6 Cloud (ehemals Load Impact)
Website: https://k6.io/
Preis: Ab 89 USD / Monat
K6 ist ein Cloud-basiertes Open-Source-Lasttest-Tool, das als Service bereitgestellt wird. Eines der Dinge, die dieses Tool interessant machen, ist der Preis für ein Modell mit variabler Nutzung, was bedeutet, dass die Eintrittskosten je nach Ihren Anforderungen relativ niedrig sein können. Es ist jedoch hauptsächlich auf Entwickler ausgerichtet.
Neben Lasttests bietet K6 auch eine Leistungsüberwachung. Die Lasttestseite ist auf hohe Lasten ausgerichtet und kann verschiedene Modi wie Spikes, Stresstests und Ausdauerläufe verarbeiten.
* K6 läuft weder in Browsern noch in NodeJS
K6-Funktionen
- Entwicklerfreundliche APIs.
- Skripterstellung in JavaScript
- Leistungsüberwachung
3. Laden Sie Ninja
Website: https://loadninja.com/
Preis: Ab 105 USD / Monat
Mit Load Ninja können Sie Lasttests mit echten Browsern basierend auf aufgezeichneten Skripten durchführen und anschließend die Leistungsergebnisse analysieren. Durch die Verwendung von echten Browsern in großem Maßstab hilft dieses Tool dabei, eine realistischere Umgebung und ein realistischeres Endergebnis für Tests zu erstellen.
Die Ergebnisse können in Echtzeit analysiert werden. Dank der praktischen Tools, die das System bereitstellt, kann Ihre Skriptzeit um bis zu 60% reduziert werden. Interne Anwendungen können ebenfalls getestet werden, sowohl mit Proxy-basierten festen IPs als auch mit Ihrem eigenen Bereich dynamischer IPs (mithilfe eines Whitelisters).
Ninja-Funktionen laden
- Testen Sie mit Tausenden von echten Browsern
- Diagnostizieren Sie Tests in Echtzeit
- Einblicke in die interne Anwendungsleistung
4. LoadRunner von Micro Focus
Website: https://www.microfocus.com/
Preis: Ab 0 $
Mit einem kostenlosen Community-Einstiegskonto, das Tests von 50 virtuellen Benutzern unterstützt, steht LoadRunner auch den neuesten Website-Eigentümern zur Verfügung. Wenn Sie es jedoch auf ein hohes Niveau skalieren, steigen die Kosten exponentiell an.
Diese Cloud-basierte Lösung bietet auch die Nutzung einer integrierten Entwicklungsumgebung für Unit-Tests. Es unterstützt eine breite Palette von Anwendungsumgebungen, darunter Web, Mobile, WebSockets, Citrix, Java, .NET und vieles mehr. Beachten Sie, dass LoadRunner ziemlich komplex sein kann und eine steile Lernkurve hat.
MicroFocus-Funktionen
- Patentierte Autokorrelations-Engine
- Unterstützt mehr als 50 Technologien und Anwendungsumgebungen
- Reproduziert echte Geschäftsprozesse mit Skripten
5. Lader
Website: https://loader.io/
Preis: Ab 0 $
Im Vergleich zu dem, was wir bisher gezeigt haben, ist Loader ein viel einfacheres und grundlegenderes Werkzeug. Der kostenlose Plan unterstützt Lasttests mit bis zu 10,000 virtuellen Benutzern, was für die meisten Websites mit mäßigem Datenverkehr ausreicht.
Leider benötigen Sie einen kostenpflichtigen Plan, um auf erweiterte Funktionen wie erweiterte Analysen, gleichzeitige Tests und Prioritätsunterstützung zugreifen zu können. Es ist jedoch einfach zu bedienen, da Sie im Grunde nur Ihre Site hinzufügen, die Parameter angeben und dann den Test ausführen lassen.
Eigenschaften
- Gemeinsam nutzbare Grafiken und Statistiken
- Verwendbar in einem GUI- oder API-Format
- Unterstützt DNS-Überprüfung und Prioritätslader
6. Gatling
Website: https://gatling.io/
Preis: Ab 0 $
Gatling gibt es in zwei Varianten: Open Source oder Enterprise. Mit Ersterem können Sie einen Lasttest als Integration in Ihre eigene Entwicklungspipeline durchführen. Der Plan enthält sowohl einen Webrekorder als auch einen Berichtsgenerator. Die Enterprise-Version verfügt über lokale Bereitstellungen. Alternativ können Sie sich für eine Cloud-Version entscheiden, die auf basiert Amazon Web Services (AWS).
Obwohl beide Versionen mit zahlreichen Funktionen ausgestattet sind, unterstützt die Enterprise-Version einige Extras, die nicht mit Open Source geliefert werden. Zum Beispiel hat es eine benutzerfreundlichere Verwaltungsoberfläche und unterstützt ein breiteres Spektrum an Integrationen.
Eigenschaften
- Multiprotokoll-Scripting
- Unbegrenztes Testen und Durchsatz
- Gatling Scripting DSL
7. Die Mühle
Website: https://sourceforge.net/projects/grinder/
Preis: Ab 0 $
Grinder ist vollständig aus offenen Quellen und wahrscheinlich die einzige wirklich kostenlose Option auf dieser Liste. Es muss jedoch lokal in Ihrer eigenen Entwicklungsumgebung ausgeführt werden und benötigt einige zusätzliche Funktionen wie Java, um zu funktionieren.
Als Open Source wurde es jedoch weit verbreitet und Entwickler haben eine Vielzahl von Plugins entwickelt, die es sowohl in Bezug auf die Verwendbarkeit als auch in Bezug auf die Funktionalität erheblich erweitern. Wenn Sie kein Entwickler oder so orientiert sind, ist The Grinder möglicherweise eine Handvoll für Sie.
Eigenschaften
- Flexibles Scripting basierend auf Jython und Clojure
- Sehr modular mit tonnenweise Plugins
- Verteiltes Framework und ausgereifte HTTP-Unterstützung
Wann laden Sie die Leistung Ihrer Website?
Wenn Sie sich die meisten verfügbaren Tools angesehen haben, werden Sie wahrscheinlich bemerkt haben, dass viele von ihnen entweder Testkonten oder eine eingeschränkte kostenlose Version anbieten. Dies macht sie für ein breites Publikum leicht verfügbar.
Die meisten Website-Besitzer müssen sich Sorgen machen Hosting-Serverleistung da es weit mehr betrifft als einfach User Experience. Für viele Geschäftsinhaber ist die Verfügbarkeit Ihrer Website auch eine Frage des Rufs der Marke.
Websites, die wachsen, müssen besonders vorsichtig mit der Verfügbarkeit und Skalierbarkeit der verwendeten Ressourcen sein Hosting Ihrer Website. In den meisten Fällen wird ein hoher Prozentsatz der Benutzerantwortzeit auf der Oberfläche Ihrer Website verbracht. Mit zunehmendem Verkehrsaufkommen auf Websites kann sich dies jedoch ändern.
Mehr Verkehr bedeutet normalerweise ein überproportionales Wachstum der Backend-Verarbeitung, und Ihr System wird Schwierigkeiten haben, wenn dies ansteigt. Viel hängt von Variablen ab, die für Ihre Website-Entwicklung einzigartig sind. Daher ist es nicht möglich, Ihnen eine solide Anzahl von Besuchern zu geben, zu welchem Zeitpunkt dies geschehen wird.
Um realistisch zu sehen, wie Ihre Website funktioniert, müssen Sie Lasttests durchführen. Wann genau es zu tun ist, ist umstritten, aber mein Rat wäre, vorauszuplanen und früh zu testen.
Worauf muss beim Lasttest geachtet werden?
Wie der Name schon sagt, sollte Ihre Kernfunktion die Grundlage für die Leistung Ihrer Site unter Last sein. Auf diese Weise können Sie eine Reihe von Dingen beobachten, wie z.
- Ab diesem Zeitpunkt beginnt sich die Leistung Ihrer Website zu verschlechtern
- Was passiert eigentlich, wenn sich der Service verschlechtert?
Als ich erwähnte, wie verschiedene Sites aufgrund ihrer Architektur unterschiedlich reagieren können, war dies ein Signal für Sie, um zu verstehen, dass nicht alle Sites auf die gleiche Weise ausfallen. Einige datenbankintensive Sites könnte in diesem Punkt scheitern, während andere leiden können E / A-Fehler basierend auf Serververbindungslasten.
Aus diesem Grund müssen Sie darauf vorbereitet sein, verschiedene Tests einzurichten, um zu verstehen, wie Ihre Site und Ihr Server unter verschiedenen Szenarien zurechtkommen. Behalten Sie auf dieser Grundlage einige wichtige Kennzahlen im Auge, z. B. die Antwortzeit Ihres Servers, die Anzahl der aufgetretenen Fehler und die Bereiche, in denen diese Fehler liegen können.
Das Generieren komplexer Skripte und Ausführungen zusammen mit der zugehörigen Logik kann schwierig sein. Ich schlage vor, dass Sie sich dem Lasttest schrittweise nähern. Beginnen Sie mit einem Brute-Force-Test, bei dem Ihre Website einfach unter einem ständig wachsenden Datenverkehr getestet wird.
Fügen Sie im Laufe der Zeit weitere Elemente hinzu, z. B. das Verhalten von Variablen, und entwickeln Sie Ihre Skripte und Logik im Laufe der Zeit.
Lasttest-Tools – Einige sind besser als keine
Wenn es um Lasttests geht, ist es besser, mit den Grundlagen zu beginnen, als überhaupt nicht zu beginnen. Wenn Sie ein Anfänger in all dem sind, versuchen Sie, Ihre Tests auf einem alternativen Spiegel oder möglichst offline durchzuführen - vermeiden Sie Lasttests einer Live-Site, wenn Sie können!
Wenn Sie gerade erst anfangen, stellen Sie sicher, dass Sie eine Aufzeichnung Ihrer Tests erstellen. Leistungstest ist eine Reise, die die Entwicklung Ihrer Website begleiten sollte, wenn sie wächst. Der Prozess kann anstrengend sein, aber denken Sie daran, dass das Fehlen einer Aufzeichnung zukünftige Bewertungen für Sie viel schwieriger machen kann.