Beim Durchführen von Leistungstests ist es wichtig, den Begriff “gleichzeitig” zu verstehen, da er sich auf verschiedene Aspekte innerhalb von Leistungstests bezieht und häufig missverstanden wird, was dazu führt, dass einige wichtige Maßnahmen übersehen werden. Sie fragen sich jemals, wie Ihre Website auf Endbenutzergeräten funktioniert? Oder wie planen Sie, den Website-Traffic zu erhöhen? Oder sogar, wie man Website-Probleme löst, die scheinbar unsichtbar sind, sich aber auf Ihr gesamtes Geschäft auswirken? Die Antwort auf diese Fragen ist Leistungstests.
Leistungstests gibt es schon immer, aber sie entwickeln sich jeden Tag mit neueren Technologien weiter. Im Kern werden Leistungstests durchgeführt, indem echte Benutzer simuliert werden, um mithilfe von Skripten mit der Website zu interagieren. Diese Interaktionsdaten werden dann erfasst und analysiert, um Einblicke in verschiedene Aspekte der Website- und Anwendungsleistung zu erhalten, z. B. Reaktionszeit, Zugänglichkeit, Zuverlässigkeit, Verfügbarkeit, Ressourcennutzung und Skalierbarkeit usw. Leistungstests werden durchgeführt, um sicherzustellen, dass sich die Website in einem stabilen Zustand mit Leistungskriterien befindet und wie sie bei Bedarf verbessert und skaliert werden kann. Noch wichtiger ist, dass es nützliche Daten darüber liefert, wie das System unter den prognostizierten Workloads funktioniert. Leistungstests decken auch Inkonsistenzen, Ineffizienzen und Usability-Probleme auf, wenn mehrere Anforderungen gleichzeitig gestellt werden.
Grundlegende Leistungsprobleme und Metriken
Werfen wir einen Blick auf die Leistungsprobleme, die Sie als ersten Schritt beheben sollten.
Ladezeit
Die Ladezeit der Anwendung ist die Zeit, die benötigt wird, um Ihre Website, Anwendung oder eine einzelne Seite vollständig zu laden, bevor der Benutzer eine Aktion ausführen kann. Es ist entscheidend, da sich die Nutzer bei jeder Sekunde Verzögerung von der Website abwenden, was zu Umsatzeinbußen führt.
Reaktionszeit
Die Antwortzeit bezieht sich auf die Serverantwort auf eine beliebige Benutzeraktivität oder -transaktion. Mehr Reaktionszeit bedeutet eine frustrierende Erfahrung für den Benutzer.
Ressourcennutzung und Engpässe
Ihre Website oder Anwendung sollte Ressourcen effizient nutzen und eine überschaubare Ressourcenzuweisung ermöglichen, wenn ein hoher Datenverkehr oder eine hohe Nachfrage nach den Ressourcen besteht. Alle Ressourcen wie CPU, Arbeitsspeicher, Netzwerk usw. können in vielen Szenarien ein Engpass sein, was zu einem Rückgang der gesamten Anwendung führen kann.
Skalierbarkeit
Ihre Website oder Anwendung sollte in der Lage sein, den erwarteten Datenverkehr während der regelmäßigen Nachfrage oder in einer besonderen Veranstaltung zu bewältigen. Wenn es nicht gelingt, eine hohe Nachfrage aufrechtzuerhalten, dann kommt ein schlechtes Skalierbarkeitsproblem ins Spiel, das analysiert und mithilfe von Auslastungstests behoben werden sollte.
Reale Szenarien
Abgesehen von diesen grundlegenden Problemen gibt es viele geschäftsspezifische Anwendungsfälle, die direkt mit der Leistung zusammenhängen. Zum Beispiel, wenn Sie eine Trading-Anwendung haben, ist die Verbesserung der Website-Geschwindigkeit keine einmalige Aufgabe, daher müssen Sie proaktiv die Reaktionszeit reduzieren, sogar nur wenige Millisekunden können eine Gelegenheit machen oder brechen, um finanzielle Verluste zu vermeiden, entweder für Ihr Unternehmen oder Ihre Benutzer.
Die folgende Liste enthält einige grundlegende Parameter, die Sie während leistungstests messen, überwachen und analysieren müssen:
- Reaktionszeit
- CPU-Interrupts pro Sekunde
- Länge der Netzwerkausgabewarteschlange
- Netzwerkbytes insgesamt pro Sekunde
- Durchsatz
- Maximale aktive Sitzungen
- Trefferquoten
- Datenbanksperren
- Garbage Collection
- CPU-Auslastung
- Speichernutzung
- Datenträger-E/A
- Netzwerkbandbreite
- Speicherseiten/Sekunde
- Seitenfehler/Sekunde
- Gleichzeitige HTTP-Benchmarks
- Gleichzeitige Benutzer
Gleichzeitige HTTP-Verbindungen im Vergleich zu gleichzeitigen Browsern im Vergleich zu gleichzeitigen Benutzern
Concurrent HTTP
Gleichzeitiges HTTP bezieht sich auf HTTP-Anforderungen, die zu einem beliebigen Zeitpunkt gestellt werden. Angenommen, es gibt 10000 Benutzer mit gültigen Sitzungen und 100 Benutzer fordern an, dieselbe Ressource zu jedem beliebigen Zeitpunkt über HTTP zu lesen, dann haben wir 100 gleichzeitige HTTP-Anforderungen.
Concurrent Browsers
Gleichzeitige Browser beziehen sich auf die Anzahl der Browser mit gültigen Sitzungen zu einem beliebigen Zeitpunkt. Sie können jederzeit eine beliebige Anzahl von Anforderungen an den Server senden.
Gleichzeitige Benutzer
Gleichzeitige Benutzer verweisen auf die Benutzer mit gültigen Sitzungen, bei denen der Server zu einem beliebigen Zeitpunkt dieselbe Aufgabe ausführt.
In der Regel werden Menschen mit gleichzeitigen Benutzern und gleichzeitigen Benutzern verwechselt, da diese beide austauschbar verwendet werden, aber bei Leistungstests haben diese beiden Begriffe unterschiedliche Bedeutungen. Werfen wir einen Blick auf ein Beispiel:
Angenommen, es gibt 1.000 verschiedene Benutzer mit einer gültigen Sitzung mit dem Server. Jeder dieser Benutzer führt verschiedene Vorgänge wie Anmeldung, Kasse, Messaging, Einkaufen usw. durch. Diese werden als gleichzeitige Benutzer bezeichnet, d. h. im Wesentlichen die Anzahl der Benutzer mit gültigen Sitzungen auf dem Server. Nun kann es vorkommen, dass 100 dieser 1000 Benutzer zum gleichen Zeitpunkt Auscheckvorgänge ausführen. Dann wären diese 100 Benutzer gleichzeitige Benutzer. Gleichzeitige Benutzer sind oft sehr weniger als gleichzeitige Benutzer und treten selten auf.
Auslastungstests: Geschwindigkeit, Skalierbarkeit und Stabilität
Lasttests sind eine der wichtigsten Arten von Leistungstests zum Testen der Website/Anwendung unter hoher Verkehrsbelastung. Die aus diesen Tests gesammelten Daten werden analysiert und projiziert, um die Probleme herauszufinden, die auftreten können, wenn eine hohe Anzahl von echten Benutzern auf Ihre Website zugreift. Es ist hilfreich, Engpässe zu beseitigen und Transaktionen zu optimieren, zusammen mit der Planung für zukünftige Skalierbarkeit von Website-/Anwendungsinfrastruktur. Sehen wir uns einige grundlegende Auslastungstesttypen an, wie sie sich unterscheiden und wie wichtig sie sind.
HTTP-Auslastungstest
HTTP-Auslastungstests werden in der Regel durchgeführt, um zu ermitteln, wie viele gleichzeitige HTTP-Anforderungen der Server verarbeiten kann. Es kann auch als maximale Anzahl von Anforderungen pro Sekunde angegangen werden. Auf granularer Ebene kann es verschiedene Arten von Anforderungen geben, z. B. Lesen, Schreiben, Pendeln usw. Wenn Sie das Limit für jede bestimmte Anforderung herausfinden, erhalten Sie mehr Einblick in die Optimierung und Ressourcenplanung, die Sie durchführen müssen. Zum Beispiel – die Anzahl der Anforderungen pro Sekunde kann für eine Lese-HTTP-Anforderungen höher sein, aber es wäre wahrscheinlich viel weniger für das Pendeln intensive Anforderungen.
Webseiten-Ladetest
Ein Webseitenladetest wird für jede einzelne Ladezeit der Seite durchgeführt. Wenn Sie beispielsweise eine E-Commerce-Website haben, möchten Sie die Ladezeit der einzelnen Produktseiten, die Ladezeit der Warenkorbseite und die Ladezeit der Checkout-Seite überprüfen, um das Kundenerlebnis zu verbessern und zu verbessern. Wenn Sie Produktseite laden ist in Ordnung, aber Sie ignorieren die Optimierung auf waren Warenkorb Seite, würde es auf jeden Fall zu Umsatzeinbußen führen.
Webanwendungsauslastungstest
Zum Messen der ersten Auslastung Ihrer Webanwendung wird ein Auslastungstest für Webanwendungen durchgeführt. Es unterscheidet sich von der Seitenladezeit, wo Sie es für jede andere einzelne Seite tun. Wenn eine Webanwendung gestartet wird, ruft sie verschiedene Ressourcen ab, initiiert einige Site-weite Dienste, ruft Dienste von Drittanbietern auf und so weiter, bevor sie schließlich geladen wird. Es sollte Ihr erster Fokus sein, um die Ladezeit von Webanwendungen zu optimieren, um Abwanderungen zu verhindern.
Letzte Gedanken: Gleichzeitiges HTTP vs. Gleichzeitige Browser vs. gleichzeitige Benutzer
Lasttests sind eine Notwendigkeit, die Entwicklern und Architekten bei der Optimierung und Ressourcenplanung hilft. Für Webanwendungen, die Spitzendatenverkehr erwarten, wird es noch wichtiger. Neben Auslastungstests ist es auch wichtig, Ihre Website oder Anwendung regelmäßig auf Barrierefreiheit, Geschwindigkeit und Verfügbarkeit von Drittanbieterdiensten zu überwachen. Vergessen Sie nicht, Testen und Überwachen Ihrer Website oder Anwendung von verschiedenen Geografischen Standorten aus zu laden, um sie für Benutzer weiter zu verbessern, da sie möglicherweise bestimmte Leistungsprobleme haben, die von ihrem Standort abgeleitet werden. Mit einer Lösung wie LoadView können Sie problemlos alle Ihre Webseiten, Anwendungen, Webdienste, Server und APIs mit Hunderten bis Tausenden gleichzeitiger HTTP-Verbindungen oder Browser laden.
Probieren Sie die kostenlose Testversion von LoadView aus und erhalten Sie kostenlose Auslastungstests. Oder vereinbaren Sie eine Live-Demo mit einem unserer Performance-Ingenieure, um einen vollständigen Rundgang durch die LoadView-Plattform zu erhalten, um alle Funktionen und Vorteile der Plattform zu sehen!