LoadRunner-Testtool: ArchiArchitekturdiagramm & Komponenten

⚡ Intelligente Zusammenfassung

LoadRunner ist das Performance-Testing-Tool für Unternehmen und wird jetzt von [Name des Unternehmens] vertrieben. OpenTextDabei werden Tausende virtueller Benutzer über VuGen, Controller, Lastgeneratoren und Analyse hinweg simuliert, um Engpässe aufzudecken, bevor der reale Datenverkehr sie erreicht.

  • 🔘 Herkunft: Erbaut von Mercury Interactive, das von HP übernommen wurde, dann von Micro Focus und jetzt OpenText.
  • ☑️ Reichweite: Eine der umfangreichsten Protokollbibliotheken, von HTTP und Ajax bis hin zu SAP, Oracle und Citrix.
  • ✅ VuGen: Zeichnet Client- und Serververkehr in ein VUser-Skript auf, das Geschäftsprozesse wiedergibt.
  • 🧪 Regler: Gestaltet das Szenario – VUser-Zahlen, Hochlauf, Injektoren, IP-Spoofing und SLA-Prüfungen.
  • ️ Lastgeneratoren: Verteilen Sie die VUsers auf mehrere Maschinen, damit der Controller die Messungen nicht verfälscht.
  • 📊 Analyse: Wandelt die Rohdaten in Diagramme um, die den Engpass im System unter Last lokalisieren.

LoadRunner-Testwerkzeugkomponenten und Architektur

Was ist LoadRunner?

LoadRunner ist ein Performance Testing Werkzeug, das von Mercury LoadRunner wurde 1999 gegründet. Später, im Jahr 2006, wurde LoadRunner von HP übernommen, und das Softwaregeschäft von HP fusionierte 2016 mit Micro Focus in einem Deal, der 2017 abgeschlossen wurde.

Markenhinweis: OpenText Die Übernahme von Micro Focus wurde im Januar 2023 abgeschlossen.Das Gerät wird nicht mehr als HP- oder HP-Produkt verkauft. Micro Focus LoadRunnerLoadRunner Professional ist jetzt OpenText Professionelle Leistungsoptimierung, LoadRunner Enterprise ist OpenText Enterprise Performance Engineering und LoadRunner Cloud ist OpenText Kernleistungsentwicklung. Die folgenden Komponentennamen – VuGen, Controller, Lastgeneratoren und Analyse – bleiben unverändert.

LoadRunner unterstützt diverse Entwicklungswerkzeuge, Technologien und Kommunikationsprotokolle. Es verfügt über eine der umfangreichsten Protokollbibliotheken auf dem Markt für Leistungstests. Die von LoadRunner generierten Testergebnisse dienen als Benchmark für andere Tools.

LoadRunner-Video

Sehen Sie sich das untenstehende Video an, um eine kurze Einführung in LoadRunner zu erhalten, bevor Sie sich mit den einzelnen Komponenten auseinandersetzen.

Warum LoadRunner?

LoadRunner ist nicht nur ein Pionierwerkzeug im Bereich Performance-Testing, sondern auch weiterhin einer der Marktführer im Paradigma des Performance-Testings und dient vielen Unternehmen nach wie vor als Referenzpunkt für ihre Benchmarks.

Die Protokollabdeckung ist der deutlichste Grund, warum Teams es wählen, wie die untenstehende Komponentenübersicht zeigt.

LoadRunner positioniert sich als Performance-Test-Tool für Unternehmensanwendungen

Im Großen und Ganzen unterstützt das LoadRunner-Tool RIA (Rich Internet Applications), Web 2.0 (HTTP/HTML, Ajax, Flex und Silverlight usw.), Mobile, SAP, Oracle, MS SQL Server, Citrix, RTE, Mail und darüber hinaus, Windows Socket. Nur wenige Konkurrenzprodukte bieten eine so große Vielfalt an Protokollen in einem einzigen Tool, wie die folgende Protokollliste veranschaulicht.

Von LoadRunner unterstützte Anwendungsprotokolle

Was für LoadRunner im Softwaretesting besonders spricht, ist die Glaubwürdigkeit dieses Tools. LoadRunner genießt seit Langem einen hervorragenden Ruf, da Kunden Ihre Performance-Benchmarks häufig mit LoadRunner überprüfen. Wenn Sie LoadRunner bereits für Ihre Performance-Tests einsetzen, werden Sie beruhigt sein.

Die LoadRunner-Software ist eng mit den anderen Tools derselben Suite integriert – Unified Functional Testing (ehemals QTP, wird jetzt verkauft als OpenText Funktionstests) und ALM (Application Lifecycle Management, jetzt OpenText ALM/Quality Center) – das Sie in die Lage versetzt, Ihre gesamten Testprozesse durchzuführen.

LoadRunner arbeitet nach dem Prinzip der Simulation virtueller Benutzer der jeweiligen Anwendung. Diese virtuellen Benutzer, auch VUsers genannt, replizieren die Anfragen des Clients und erwarten eine entsprechende Antwort, um eine Transaktion abzuschließen.

Warum brauchen Sie Leistungstests?

Die folgenden Branchenschätzungen werden häufig zitiert und stammen aus den frühen 2010er Jahren, aber das darin beschriebene Muster hat sich nicht geändert: Langsame Seiten kosten Geld.

Aufgrund schlechter Web-Performance werden jährlich geschätzte Umsatzeinbußen von 4.4 Milliarden Dollar verzeichnet.

Im heutigen Web 2.0-Zeitalter verlassen Nutzer eine Website, wenn diese nicht innerhalb von 8 Sekunden reagiert. Stellen Sie sich vor, Sie müssten 5 Sekunden warten, während Sie nach etwas suchen. Google oder eine Freundschaftsanfrage auf Facebook zu senden. Die Folgen von Leistungsausfällen sind oft verheerender als man sich vorstellen kann. Bekannte Beispiele hierfür sind etwa die Ausfälle beim Online-Banking der Bank of America, Amazon Webdienste, Intuit und Blackberry.

Laut Dun & Bradstreet verzeichnen 59 % der Fortune-500-Unternehmen wöchentlich schätzungsweise 1.6 Stunden Ausfallzeit. Geht man davon aus, dass ein durchschnittliches Fortune-500-Unternehmen mit mindestens 10,000 Mitarbeitern 56 US-Dollar pro Stunde zahlt, belaufen sich die Lohnkosten für Ausfallzeiten für ein solches Unternehmen auf 896,000 US-Dollar pro Woche, was mehr als 46 Millionen US-Dollar pro Jahr entspricht.

Nur 5 Minuten Ausfallzeit GoogleDie Domain .com soll den Suchmaschinenriesen im August 2013 schätzungsweise bis zu 545,000 US-Dollar gekostet haben.

Schätzungen zufolge verloren Unternehmen in der Vergangenheit pro Sekunde Umsätze im Wert von 1,100 US-Dollar. Amazon Ausfall der Webdienste.

Wenn ein Unternehmen ein Softwaresystem einsetzt, kann es auf viele Szenarien stoßen, die möglicherweise zu Leistungsverzögerungen führen. Eine Reihe von Faktoren kann zu Leistungseinbußen führen. Einige Beispiele sind:

  • Erhöhte Anzahl der in der Datenbank vorhandenen Datensätze
  • Erhöhte Anzahl gleichzeitiger Anfragen an das System
  • Eine größere Anzahl von Nutzern greift gleichzeitig auf das System zu als in der Vergangenheit.

Allerdings ist nicht jede Bewerbung ein geeigneter Kandidat. Load Testing Es zielt auf Client-Server-Systeme mit mehreren Benutzern ab, daher lohnt es sich nicht, ein Desktop-Dienstprogramm für Einzelbenutzer wie das untenstehende auf Leistung zu testen.

Desktop-Dienstprogramm für Einzelbenutzer, das nicht für Leistungstests geeignet ist

Was ist LoadRunner? ArchiStruktur?

Im Großen und Ganzen ist die Architektur von LoadRunner komplex, aber dennoch leicht verständlich. Das untenstehende Architekturdiagramm von LoadRunner veranschaulicht das Zusammenspiel der vier Komponenten.

LoadRunner-Architekturdiagramm mit VuGen, Controller, Lastgeneratoren und Analyse

Angenommen, Sie haben den Auftrag, die Leistung von zu überprüfen Amazon.com für 5000 Nutzer.

In der Realität werden sich diese 5000 Nutzer nicht alle auf der Startseite aufhalten – sie werden auf verschiedene Bereiche der Website verteilt sein. Wie können wir diesen Unterschied simulieren?

VuGen

VuGen oder virtueller Benutzer Generator VuGen ist eine IDE (Integrierte Entwicklungsumgebung) oder ein umfangreicher Code-Editor. VuGen dient zur Simulation des Systemverhaltens unter Last (SUL). VuGen bietet eine Aufzeichnungsfunktion, die die Kommunikation zwischen Client und Server in Form eines codierten Skripts aufzeichnet. VUser-Skript.

Anhand des obigen Beispiels kann VuGen die folgenden Geschäftsprozesse simulieren:

  • Surfen auf der Produktseite von Amazon.com €XNUMX
  • Zur Kasse
  • Payment Processing
  • Überprüfen Sie die Seite „Mein Konto“.

Sobald das Skript fehlerfrei wiedergegeben wird, müssen dynamische Serverwerte in der Regel mit folgendem Verfahren erfasst werden: Korrelation bevor es vergrößert werden kann.

Controller

Sobald ein VUser-Skript fertiggestellt ist, Controller ist eine der Hauptkomponenten von LoadRunner, die die Lastsimulation steuert, indem sie beispielsweise Folgendes verwaltet:

  • Wie viele VUser für jeden Geschäftsprozess oder jede VUser-Gruppe simuliert werden sollen
  • Verhalten von VUsern (Hochfahren, Herunterfahren, gleichzeitiger oder paralleler Charakter usw.)
  • Art des Lastszenarios, z. B. reales oder zielorientiertes oder überprüfendes SLA
  • Welche Injektoren verwendet werden sollen, wie viele VUser pro Injektor
  • Sammeln Sie die Ergebnisse regelmäßig
  • IP-Spoofing
  • Fehlermeldung
  • Transaktionsberichte usw.

Um auf unser Beispiel zurückzukommen: Der Controller fügt dem VuGen-Skript die folgenden Parameter hinzu:

  1. 3500 Nutzer surfen auf der Produktseite von Amazon.com €XNUMX
  2. 750 Nutzer befinden sich im Bezahlvorgang.
  3. 500 Benutzer führen Zahlungsabwicklungen durch.
  4. 250 Nutzer rufen ihre „Mein Konto“-Seite erst auf, nachdem 500 Nutzer die Zahlungsabwicklung abgeschlossen haben.

Noch komplexere Szenarien sind möglich:

  • Initiieren Sie alle 5 Sekunden 2 VUser, bis eine Auslastung von 3500 VUsern (Surfen) erreicht ist Amazon Produktseite) erreicht wird.
  • 30 Minuten lang iterieren
  • Unterbrechen Sie die Iteration für 25 VUser
  • 20 virtuelle Benutzer neu starten
  • Initiieren Sie jede Sekunde 2 Benutzer (in der Kasse, Zahlungsabwicklung, Seite „Meine Konten“).
  • 2500 VUser werden auf Maschine A generiert
  • 2500 VUser werden auf Maschine B generiert

Agenten Maschine/Last Generators/Injektoren

Der LoadRunner-Controller simuliert Tausende von virtuellen Benutzern (VUsers). Diese VUsers beanspruchen Hardware-Ressourcen wie Prozessor und Arbeitsspeicher und schränken somit die Leistung der simulierenden Maschine ein. Da der Controller die VUsers auf derselben Maschine simuliert, auf der er selbst ausgeführt wird, sind die Ergebnisse möglicherweise nicht präzise. Um dieses Problem zu beheben, werden alle VUsers auf verschiedene Maschinen, sogenannte LoadRunner-Cluster, verteilt. Generators oder Load Injectors.

Im Allgemeinen befindet sich der Controller auf einer anderen Maschine und die Last wird von anderen Maschinen simuliert. Abhängig vom Protokoll der VUser-Skripte und den Maschinenspezifikationen sind möglicherweise mehrere Load Injectors für eine vollständige Simulation erforderlich. Beispielsweise benötigen VUser für ein HTTP-Skript 2–4 MB pro VUser für die Simulation, daher sind 4 Maschinen mit jeweils 4 GB RAM erforderlich, um eine Last von 10,000 VUsern zu simulieren.

Um die Analogie aus unserem Amazon Beispielsweise sind die 5000 virtuellen Benutzer, die von dieser Komponente erzeugt werden, aufgeteilt auf zwei Injektoren: 2500 virtuelle Benutzer werden auf Maschine A und 2500 auf Maschine B generiert.

Analyse

Sobald die Lastszenarien ausgeführt wurden, spielt die Rolle des Analyse Eine Komponente von LoadRunner kommt zum Einsatz.

Während der Ausführung erstellt der Controller einen Dump der Ergebnisse in Rohform und enthält Informationen wie etwa, welche Version von LoadRunner diesen Dump der Ergebnisse erstellt hat und welche Konfigurationen es gab.

Alle Fehler und Ausnahmen werden protokolliert Microsoft Greifen Sie auf die Datenbank mit dem Namen output.mdb zu. Die Analysekomponente liest diese Datenbankdatei, um verschiedene Arten von Analysen durchzuführen und Diagramme zu generieren.

Diese Diagramme zeigen verschiedene Trends, um die Gründe für Fehler und Ausfälle unter Last zu verstehen. Dies hilft herauszufinden, ob eine Optimierung in SUL, Server (z. B. JBoss, Oracle) oder Infrastruktur.

Im Folgenden finden Sie ein Beispiel, bei dem die Bandbreite einen Engpass verursachen kann. Angenommen, der Webserver verfügt über eine Kapazität von 1 Gbit/s, der Datenverkehr übersteigt diese Kapazität jedoch, was zu Leistungseinbußen für nachfolgende Benutzer führt. Um festzustellen, ob das System solchen Anforderungen gerecht wird, muss der Performance Engineer das Anwendungsverhalten unter anormaler Last analysieren. Unten sehen Sie ein Diagramm, das LoadRunner zur Ermittlung der Bandbreite generiert.

LoadRunner-Analysediagramm, das die Bandbreite als Leistungsengpass darstellt

So führen Sie Leistungstests durch

Der Fahrplan für Performance-Tests lässt sich grob in 5 Schritte unterteilen, die in der folgenden Roadmap zusammengefasst sind:

  1. Planung für Lasttest
  2. VuGen-Skripte erstellen
  3. Szenarioerstellung
  4. Szenarioausführung
  5. Ergebnisanalyse (gefolgt von Systemoptimierung)

Nachdem LoadRunner installiert ist, wollen wir die einzelnen Schritte des Prozesses nacheinander betrachten.

Fünfstufiger Fahrplan für Leistungstests: Von der Planung bis zur Ergebnisanalyse

Schritt 1) ​​Planung für den Lasttest

Die Planung von Leistungstests unterscheidet sich von der Planung von a SIT (Systemintegrationstests) or UAT (Benutzerakzeptanztest). Die Planung kann wie folgt weiter in kleine Phasen unterteilt werden:

Stellen Sie Ihr Team zusammen

Wenn Sie mit LoadRunner Testing beginnen, ist es am besten zu dokumentieren, wer aus jedem beteiligten Team während des Prozesses an der Aktivität teilnehmen wird, wie es die untenstehende Teamübersicht zeigt.

Rollenverteilung für ein LoadRunner-Performance-Testteam

  • Projektmanager: Ernennen Sie den Projektmanager, der für diese Aktivität zuständig ist und als Ansprechpartner für die Eskalation fungiert.
  • Funktionsexperte / Business-Analyst: Bietet Nutzungsanalysen der SUL und Fachwissen zur Geschäftsfunktionalität der Website oder der SUL.
  • Experte für Leistungstests: Erstellt die automatisierten Leistungstests und führt Lastszenarien aus.
  • System Architect: Liefert den Entwurf für die SUL.
  • Webentwickler und KMU: Pflegt die Website, übernimmt Überwachungsaufgaben, entwickelt die Website weiter und behebt Fehler.
  • Systemadministrator: Betreut die beteiligten Server während des gesamten Testprojekts.

Skizzieren Sie die Anwendungsbereiche und die beteiligten Geschäftsprozesse.

Erfolgreich Load Testing erfordert, dass Sie die Durchführung eines bestimmten Geschäftsprozesses planen. Ein Geschäftsprozess besteht aus klar definierten Schritten in Übereinstimmung mit gewünschten Geschäftstransaktionen – um Ihre Lasttestziele zu erreichen.

Es kann eine Anforderungsmetrik erstellt werden, um die Benutzerlast auf dem System zu ermitteln. Nachfolgend finden Sie ein Beispiel für ein Anwesenheitssystem in einem Unternehmen:

Anforderungsmetrik-Karteping Benutzer pro Geschäftsprozess pro Stunde des Tages

Im obigen Beispiel geben die Zahlen die Anzahl der Benutzer an, die zu einer bestimmten Stunde mit der Anwendung verbunden sind (SUL). Wir können daraus schließen, dass…tracDie maximale Anzahl von Benutzern, die zu jeder Tageszeit mit einem Geschäftsprozess verbunden sind, wird in den Spalten ganz rechts berechnet.

Ebenso können wir die Gesamtzahl der mit der Anwendung verbundenen Benutzer (SUL) zu jeder Tageszeit ermitteln. Dies wird in der letzten Zeile berechnet.

Die Kombination der beiden oben genannten Fakten ergibt die Gesamtzahl der Benutzer, mit denen wir das System auf Leistung testen müssen.

Definieren Sie Verfahren zur Testdatenverwaltung

Statistiken und Beobachtungen aus Leistungstests werden, wie bereits erwähnt, stark von zahlreichen Faktoren beeinflusst. Es ist von entscheidender Bedeutung, Testdaten für Leistungstests vorzubereiten. Manchmal verbraucht ein bestimmter Geschäftsprozess einen Datensatz und erzeugt einen anderen Datensatz. Nehmen Sie das folgende Beispiel:

  • Ein Benutzer „A“ erstellt einen Finanzbetrugtract und reicht es zur Überprüfung ein.
  • Ein weiterer Benutzer 'B' stimmt 200 con zu.tracts a day created by user 'A'
  • Ein anderer Nutzer „C“ zahlt etwa 150 Cent.tracts a day approved by user 'B'

In dieser Situation benötigt Benutzer B 200 Kontakte.tracts wurde im System erstellt. Außerdem benötigt Benutzer C 150 contracts als „genehmigt“ markiert, um eine Last von 150 Benutzern zu simulieren.

Dies bedeutet implizit, dass Sie mindestens 200 + 150 = 350 Einheiten erstellen müssen.tracts.

Danach genehmigen Sie 150 contracts dienen als Testdaten für Benutzer C – die verbleibenden 200 contracts dienen als Testdaten für Benutzer B.

Umrissmonitore

Überlegen Sie, welcher Faktor die Systemleistung beeinflussen könnte. Beispielsweise kann eine reduzierte Hardwareausstattung Auswirkungen auf die Leistung unter Last (SUL) haben.

Erfassen Sie alle Faktoren und richten Sie Monitore ein, damit Sie sie messen können. Hier einige Beispiele:

  • Prozessor (für Webserver, Anwendungsserver, Datenbankserver und Injektoren)
  • RAM (für Webserver, Anwendungsserver, Datenbankserver und Injektoren)
  • Web-/App-Server (zum Beispiel IIS, JBoss, Jaguar Server, Tomcat usw.)
  • DB-Server (PGA- und SGA-Größe bei Oracle und MSSQL Server, SPs etc.)
  • Auslastung der Netzwerkbandbreite
  • Interne und externe Netzwerkkarte im Falle einer Clusterung
  • Load Balancer (und dass er die Last gleichmäßig auf alle Knoten des Clusters verteilt)
  • Datum flux (Berechnen Sie, wie viele Daten zwischen Client und Server übertragen werden – und berechnen Sie anschließend, ob die Kapazität der Netzwerkkarte ausreicht, um eine Anzahl von X Benutzern zu simulieren.)

Schritt 2) VuGen-Skripte erstellen

Der nächste Schritt nach der Planung ist die Erstellung von VUser-Skripten, die Folgendes hinzufügen: Parametrisierung, Transaktionen und Laufzeiteinstellungen mit zunehmender Reife des Drehbuchs.

Schritt 3) Szenarioerstellung

Im nächsten Schritt erstellen Sie Ihr Lastszenario im Controller und wählen dabei zwischen einem manuellen und einem zielorientierten Szenario.

Schritt 4) Szenarioausführung

Bei der Szenarioausführung emulieren Sie die Benutzerlast auf dem Server, indem Sie mehrere VUser anweisen, Aufgaben gleichzeitig auszuführen.

Sie können den Grad einer Auslastung festlegen, indem Sie die Anzahl der VUser, die gleichzeitig Aufgaben ausführen, erhöhen oder verringern.

Diese Ausführung kann dazu führen, dass der Server abstürzt. Der Stress und sich abnormal verhalten. Genau das ist der Zweck von Leistungstests. Die gewonnenen Ergebnisse werden anschließend für eine detaillierte Analyse und die Ermittlung der Ursachen verwendet.

Schritt 5) Ergebnisanalyse (gefolgt von Systemoptimierung)

Während der Szenarioausführung zeichnet LoadRunner die Anwendungsleistung unter verschiedenen Lasten auf. Die aus der Testausführung gewonnenen Statistiken werden gespeichert und detailliert analysiert. Das Analysetool (in den Versionen, auf denen diese Anleitung basiert, unter dem Namen „HP Analysis“ bekannt) generiert verschiedene Diagramme, die helfen, die Ursachen für Leistungseinbußen oder Systemausfälle zu identifizieren.

Einige der erhaltenen Grafiken umfassen:

  • Zeit bis zum ersten Puffer
  • Transaktionsreaktionszeit
  • Durchschnittliche Transaktionsreaktionszeit
  • Treffer pro Sekunde
  • Windows Ressourcen
  • Fehlerstatistik
  • Transaktions zusammenfassung

Häufig gestellte Fragen

Leistungstests zielen auf Client-Server-Systeme mit mehreren Benutzern ab. Ein eigenständiges Desktop-Dienstprogramm wie z. B. Microsoft Der Rechner ist für einen einzelnen Benutzer ausgelegt und verfügt über keine Serverebene, daher eignet er sich nicht für Leistungstests.

Leistungstests messen und dokumentieren das Verhalten einer Anwendung unter Last. Die Leistungsoptimierung verbindet diese Tests mit der Systemoptimierung, sodass das System gemeinsam gemessen und optimiert wird, bis die gewünschte Benutzererfahrung erreicht ist.

Nein. OpenText Die Übernahme von Micro Focus wurde im Januar 2023 abgeschlossen, und das Familienunternehmen wird nun verkauft als OpenText Professionelles, unternehmensweites und zentrales Performance-Engineering.

Professional eignet sich für ein einzelnes Team auf einem Rechner, Enterprise bietet zusätzlich gemeinsame projektbasierte Tests in einer gesamten Organisation, und Core führt cloudbasierte Lastgenerierung ohne lokale Injektoren durch.

Teilen Sie die Zielanzahl der virtuellen Benutzer durch den Speicherbedarf des Protokolls. Im obigen HTTP-Beispiel bedeuten 2–4 MB pro virtuellem Benutzer, dass etwa vier Maschinen mit je 4 GB RAM 10,000 virtuelle Benutzer verwalten.

Durch IP-Spoofing erhält jeder virtuelle Benutzer eine eigene Quelladresse, sodass Load Balancer, Caches und Server den simulierten Datenverkehr als viele separate Clients und nicht als einen einzigen, überlasteten Rechner behandeln.

Maschinelles Lernen ermittelt normale Antwortzeiten, kennzeichnet automatisch Ausreißer und gruppiert zusammengehörige Fehler, sodass die Ingenieure weniger Zeit mit dem Lesen von Diagrammen verbringen und mehr Zeit mit der Behebung des zugrunde liegenden Engpasses haben.

Copilot Es werden VuGen-Hilfscode im C-Stil und Parametrisierungslogik entworfen, aber es kann Ihre aufgezeichneten Korrelationswerte nicht kennen, daher muss jedes generierte Skript weiterhin eine Wiedergabeprüfung durchführen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: