Lasttests sind eine der wichtigsten Formen von Leistungstests. Sein Hauptzweck ist es zu verstehen, wie sich ein System unter einer vorgesehenen Last verhält. Schlechte Leistung von Webanwendungen kann Ihrem Unternehmen, Ihrem Umsatz, Ihrer Conversion-Rate, Ihrer Absprungrate und Ihrem Ruf schaden. Das Verständnis der geschäftigsten Stunden oder Zeitrahmen für Ihr Unternehmen und die Vorbereitung auf diese Art von Belastung Ihres Systems bei der Automatisierung des gesamten Prozesses kann umständlich sein. Um diese nicht funktionale Anforderung zu erfüllen, Benutzer zu bedienen, ist Ihre Website, Anwendungen, Webdienste oder APIs in weniger als wenigen Sekunden unerlässlich, um die Conversion-Rate zu erhöhen und gleichzeitig die Abmelderaten zu senken. Das Testen des Systems unter einer großen Anzahl gleichzeitiger Benutzer und die Untersuchung der Bruchstelle oder des Engpasses (CPU, Speicherzuweisung oder Netzwerk) der Software und der Hardware, auf der es installiert ist, gibt Unternehmen einen großartigen Einblick, um ihre Servicezeiten zu verbessern. Lasttests müssen nicht immer nach der minimalen versionierbaren Produktversion beginnen. Wenn es in frühen Entwicklungszeiten auf Modul- oder Funktionsbasis gestartet wird, hat es viel zu bieten, um die Risiken vor dem Start zu verringern.
Ladenvon Tests für verschiedene Webschnittstellen
Tools wie Pagespeed oder Entwicklertools können nur begrenzte Einblicke in das Verhalten Ihrer Website für eine bestimmte Anfrage geben. Die LoadView-Plattform ist eine ausgezeichnete Ressource in Ihrer Toolbox, um zu verstehen, wo Engpässe bestehen, damit Sie sie schnell beheben können.
Auslastungstest-Websites
Diese Option eignet sich zum Testen einer einzelnen Webseite für gleichzeitige Benutzer. Das URL-Feld ist die Webseite, die geladen werden soll. Verschiedene Browsertypen können ausgewählt werden (Chrome, Firefox, Internet Explorer für Desktop – iOS, Android, Windows Phone und Blackberry für Mobilgeräte).
Laden von Webanwendungen zum Laden
Gleichzeitige Benutzer führen eine Reihe von Skriptaktionen in Chrome aus. Mit dieser Option können Webanwendungen getestet werden, um vorab aufgezeichnete Skripts zu erstellen und dieses Skript zum Laden des Tests der Anwendung zu füttern.
Beispielsweise kann eine E-Commerce-Korb-Checkout-Funktionalität einfach mit einem vorab aufgezeichneten Skript geladen werden. Sie müssen folgende Schritte ausführen:
1) Geben Sie eine Start-URL ein (Homepage, Produktseite, Suchergebnisseite, etc.)
2) Gerätetyp des Benutzers (mobil oder Desktop)
3.a) Wenn es sich um ein Desktop-Gerät handelt, sollte der Browsertyp ausgewählt werden (Internet Explorer, Chrom)
3.b) Wenn es sich um ein mobiles Gerät handelt, sollte der Gerätetyp (von einer Vielzahl von mobilen Geräten) ausgewählt werden.
4) Auflösung zum Aufzeichnen (für mobile Gerätetyp, Querformat oder Hochformat sind verfügbar)
Wenn alle erforderlichen Felder eingegeben wurden, startet das Klicken auf die Schaltfläche Jetzt auf Zeichnen die Aufzeichnungssitzung. Es wird zur Start-URL durchsucht und Ermöglicht die Interaktion mit der Website. Von nun an können Sie ein Benutzerverhalten simulieren, z. B. ein Produkt von der Website suchen, es zum Warenkorb hinzufügen und zur Auscheckseite wechseln.
Nachdem alle gewünschten Schritte simuliert wurden, wird das Skript durch Klicken auf Stopp angehalten.
Sie können entweder mit der Aufnahme von Skript an der Stelle fortfahren, von wo Ausfürsen Sie mit der Schaltfläche “Aufzeichnung fortsetzen” aufgehört haben, oder das Skript speichern, indem Sie jetzt auf Wiedergabe klicken. Wie der Screenshot zeigt, sollten aufgezeichnete Skripte mindestens einmal abgespielt werden, um nach Fehlern zu suchen, ob vor dem Speichern welche vorhanden sind. Nach dem einmaligen Abspielen des aufgezeichneten Skripts zeigt ein Popup an, dass alles vorhanden ist und Interaktionen, die als Skript gespeichert wurden, erfolgreich wiedergegeben wurden. Daher können wir fortfahren, es zu speichern.
Skriptaufzeichnungseinstellungen werden gespeichert und können nun zu zusätzlichen Geräteeinstellungen wechseln.
Hier können Sie verschiedene zusätzliche Einstellungen für Ihr Gerät konfigurieren.
Abschlusstimeout:Wenn das Skript irgendwo im Ausführungsplan stecken bleibt, lässt ein festes Zeitout für die Fertigstellung einen Fehler auslösen.
Skript beim ersten Fehlerabbrechen: Wenn diese Option auf yes gesetzt ist, bricht sich das Skript beim ersten Fehler selbst ab. Andernfalls wird der Schritt, den sie nicht erreicht hat, erneut versucht.
DNS-Optionen:Mit dieser Option können Sie benutzerdefinierte Domänennamen – IP-Zuordnungen – erstellen, die sich hervorragend zum Testen von Code in der Entwicklung eignet.
Auslastungstest-APIs
Ähnlich wie bei der Websiteoption gibt es ein URL-Feld, in dem Sie den Endpunkt der API eingeben sollten, der geladen werden soll. HTTP oder HTTPS können für das Protokoll ausgewählt werden.
Zusätzliche Geräteeinstellungen für API-Auslastungstests:
1. Abschlusstimeout: Wenn die Anforderung mehr als eingegebene Sekunden dauert, wird ein Fehler ausgelöst.
2. Anforderungstyp: Alle http-Anforderungsmethoden können getestet werden( GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS,TRACE,PATCH)
3. SSL/Zertifikatsprüfung. Für eine HTTP-Aufgabe stehen mehrere SSL-Optionen zur Verfügung:
3a. Behörde: ob das Stammzertifikat vertrauenswürdig ist oder nicht
3b. Common Name (CN): überprüft die URL und Zertifikat gemeinsamen Namen entspricht oder nicht
3c. Datum: überprüft das Ablaufdatum der Bescheinigung
3d. Widerruf: überprüft, ob die SSL-Kette über ein gesperrtes Zertifikat verfügt oder nicht.
3e. Verwendung: prüft, ob eine unzulässige Verwendung eines Zwischenzertifikats vorliegt
3f. Clientzertifikate können auf einem Überwachungs-Agent installiert werden.
4. Inhaltsvalidierung: Inhalte können nach bestimmten Schlüsselwörtern durchsucht und so konfiguriert werden, dass ein Fehler ausgelöst wird, wenn die erforderlichen Spezifikationen nicht erfüllt sind. Viele Schlüsselwörter können mit logischen Operatoren gruppiert werden: »[(»keyword1» & keyword2) | !» Stichwort3»].
5. Standardauthentifizierung: Benutzername & passwortbasierte Authentifizierung
6. Header: Benutzerdefinierte Header können für die API-Anforderung festgelegt werden. (Headername = Wert)
7. DNS-Optionen:Weisen Sie benutzerdefinierte Hostnamen bestimmten IPs mit der DNS-Option zu.
Load Testing SOAP Services
Mit diesem Gerät können Sie XML-basierte Webdienste testen. Ähnliche Eingabefelder wie das REST-API-Gerät sind vorhanden.
URL: Url des SOAP-Dienstes.
SOAP-Aktion: Dieses Feld kann verwendet werden, um die Absicht der Anforderung anzugeben. Die leere Zeichenfolge “” wird übersetzt, da die Absicht der SOAP-Nachricht vom URI angegeben wird. Kein Wert wird als keine Absicht für die Anforderung übersetzt.
Standardauthentifizierung: Benutzername und kennwortbasierte Authentifizierung für den SOAP-Webdienst.
Header: Angepasste Header können mit dem Schlüssel-Wert-Paar gesendet werden.
Inhaltsvalidierung: Inhalte können mit Schlüsselwörtern durchsucht werden.
DNS-Optionen:
1. Zwischengespeichertes Gerät: Der Gerätecache wird für die DNS-Auflösung verwendet. Diese Cacheinformationen werden aus der vorherigen Aufgabe abgerufen.
2. Nicht zwischengespeichert: Jede Ausführung untersucht die DNS-Server.
3. TTL zwischengespeichert: Wenn der Gerätecache die benötigte Adresse fehlt, wird der lokale DNS-Server verwendet.
4. Externer DNS-Server: Die angegebene IP-Adresse wird als DNS-Server behandelt.
Einrichten von Auslastungstests
LoadView bietet drei verschiedene Möglichkeiten, die Lastkurve festzulegen, auf die Ihr System stoßen wird. Diese verschiedenen Optionen bieten eine große Anpassungsfähigkeit für verschiedene komplexe Anwendungsfälle zum Experimentieren.
Load Step Curve
Lastschrittkurven eignen sich hervorragend zum Testen für die unformatierte Anzahl von Benutzern. Sie können für eine Anzahl von Benutzern die gewünschte Anzahl von Minuten erhöhen, verringern oder halten.
Zielbasierte Kurve
Anstatt die vorgegebene Anzahl gleichzeitiger Benutzer festzulegen, hilft eine zielbasierte Kurve, die Anzahl der Benutzer festzulegen, um einen Transaktions-/Zielbetrag pro Minute zu erreichen. Diese Transaktionen können Lead-Generierung, Korbaufträge, Anmeldeaktionen usw. sein.
Dynamische einstellbare Kurve
Durch Festlegen eines Startpunkts und eines Maximalwerts können Sie zwischen zahlenweise Benutzern wechseln, während der Test ausgeführt wird. Dies ist dasselbe wie das Zeichnen eines Diagramms mit einem Freihandwerkzeug. Dynamische einstellbare Kurvenoption sogar Antworten auf die komplexesten Anwendungsfälle und Lastspitzen, die diese Zustände auftreten können.
Load Injector Nutzlast
Diese Einstellung bestimmt die Anzahl der Benutzer pro Lastinjektor. Die empfohlene Nummer kann über die Kalibriertaste eingestellt werden.
Load Injector Geo-Verteilung
Für verschiedene Lastinjektoren können unterschiedliche Geo-Standorte festgelegt werden. Dies hilft, Ihr System mit verschiedenen Anforderungen von verschiedenen Standorten zu testen. Mit der LoadView-Plattform können Sie aus über 15 standorten weltweit wählen.
Verstehen von Leistungstestergebnissen
Im Abschnitt Berichte finden Sie zusätzliche grafische Informationen zu den Auslastungstests.
Im Ausführungsplandiagramm können Sie untersuchen, ob der Auslastungstest wie erwartet ausgeführt wurde oder nicht. Zum Beispiel, in der Grafik oben, nach der 30-Sekunden-1-Minuten-Marke, können wir sehen, dass die tatsächliche Anzahl der Benutzer konnte nicht neun Benutzer aus irgendeinem Grund treffen. Die maximale Anzahl der Benutzer wurde nach der 4-Minuten-, 30-Sekunden-Marke erreicht.
Ausführungsplan
Das Diagramm der durchschnittlichen Reaktionszeit eignet sich hervorragend, um zu verstehen, wie sich Ihr System unter unterschiedlichen Lasten verhält. In diesem Test können wir sehen, dass die Reaktionszeit des getesteten Systems auf 0-30 sec Marke drastisch angestiegen ist. ( 50 Sekunden, zeigt einen Engpass an) Nach der ersten durchschnittlichen Maximalen Reaktionszeit lag die Reaktionszeit bei etwa 10 Sekunden, was für die heutigen Erwartungen der Benutzer ziemlich langsam ist (alle Websites sollten weniger als 2 Sekunden für die minimale Absprungrate und maximale Conversion-Rate zielen).
Durchschnittliche Reaktionszeit
Kumulative Sitzungsanzahl
Die kumulative Sitzungsanzahl während des gesamten Auslastungstestkurses. Aus dem obigen Diagramm wird die Gesamtzahl der Sitzungen abgezogen, die das System verarbeiten kann. In diesem Fall konnten nach 150-200 Sitzungen einige neue Sitzungen nicht gestartet werden und einen Fehler ausgelöst.
Referenzserver
Auf der Registerkarte Sitzungsbericht können Sie die Sitzungen herausfiltern, um nur den Referenzlastinjektor einzuschließen. Dieser Referenzlastinjektor schließt die Hardwarespannung (es wird nur ein virtueller Benutzer ausgeführt) während der Testausführung aus, sodass Sie sie mit den stark belasteten Versionen vergleichen können.
Nach dem Filtern der Referenzlastinjektorsitzungen können Sie das Ausführungsvideo wiedergeben, um die Lastinjektoren und den Referenzbenutzer mithilfe der Videoschaltfläche zu vergleichen.
Wasserfall-Diagramme
Schließlich vermitteln Wasserfalldiagramme detaillierte Kenntnisse über Ihre Weboberfläche und Engpässe. Beispielsweise besteht eine Website aus Dateianforderungen an den Webserver (CSS-Dateien, JavaScript-Dateien, HTML-Dateien usw.). Anhand des Wasserfalldiagramms können wir verstehen, welche Anforderung der Blockierungsfaktor ist, wodurch die Lastgeschwindigkeit erhöht wird. Das Entfernen des blockierenden Elements, das Asynchronmachen der Anforderungen oder das Laden des kritischen CSS zuerst und dann der Rest des CSS danach kann die Ladezeit verringern.
Das Verständnis dieser Blockierungsfaktoren in der frühen Phase der Entwicklung oder einführung kann erhebliche Budget- und Zeiteinsparungen einsparen, was zu einem besseren Verkehrs- und Kapazitätsmanagement führt. Ausführlichere Informationen zu Wasserfalldiagrammen finden Sie in unserem Blogartikel zur Optimierung der Webleistung durch Verständnis von Wasserfalldiagrammen.
Fazit: Load Testing Übersicht und Verständnis von Berichten & Wasserfalldiagrammen
Wenn Ihre Website oder Anwendung einer Service Level Agreement (SLA) unterliegt, müssen Auslastungstests Ihren Clients zeigen, dass die Software für die erwartete Auslastung bereit ist. Wenn Sie beispielsweise bereits über ein vordefiniertes Transaktionsziel verfügen oder (ungefähr) die Anzahl der Besucher kennen, die Sie auf Ihrer Website oder Anwendung während eines bestimmten Zeitraums erwarten, wird das Ausführen eines zielbasierten Kurventests dazu beitragen, sicherzustellen, dass Ihre Website oder Anwendung die vordefinierten Anforderungen erfüllt.
Darüber hinaus kann das Generieren einer erhöhten Auslastung auf Websites oder Anwendungen dazu beitragen, die Anwendungsleistung für eine höhere Benutzerauslastung in der Zukunft vorherzusagen. Dies geschieht in der Regel für Kapazitätsplanungszwecke. Die Ergebnisse Ihrer Auslastungstests können Ihnen helfen, die einzelnen Elemente zu bestimmen, die sofortige Aufmerksamkeit benötigen. Darüber hinaus behält LoadView Ihre vorherigen Testergebnisse bei, sodass sie als Benchmarks für neue Leistungsmetriken verwendet werden können, nachdem Sie Änderungen an Ihrer Website oder Anwendung vorgenommen haben.
Probieren Sie LoadView noch heute aus! Melden Sie sich an und erhalten Sie bis zu 5 Belastungstests kostenlos!