Load & Stress Testing
Wir treiben Ihr System an seine Grenzen — kontrolliert, reproduzierbar, dokumentiert.
03 — Performance Testing
Performance-Tests und ein Performance-Check untersuchen, wie schnell, stabil und skalierbar eine Software unter bestimmten Arbeitslasten reagiert. Anstatt die reine Funktionalität zu prüfen, untersuchen sie das Systemverhalten anhand von Metriken wie Antwortzeiten, Durchsatz und Ressourcennutzung.
Wir treiben Ihr System an seine Grenzen — kontrolliert, reproduzierbar, dokumentiert.
Plötzliche Lastspitzen, Dauerbetrieb über Wochen — jedes Szenario deckt andere Schwächen auf.
Backend-Performance ist nur die halbe Wahrheit. Wir messen, was Nutzer im Browser erleben.
Kleine, schnelle Performance-Checks bei jedem Build — statt eines Lasttests kurz vor dem Release.
Eine Software kann funktional einwandfrei arbeiten und trotzdem ihre Nutzer enttäuschen. Der Login benötigt plötzlich mehrere Sekunden, eine Suchfunktion reagiert bei hoher Last nur noch verzögert oder die gesamte Anwendung wird instabil, sobald mehrere Tausend User gleichzeitig darauf zugreifen. Solche Probleme lassen sich mit funktionalen Tests nicht aufdecken. Für Entwickler liefern Performance-Tests deshalb konkrete Anhaltspunkte dafür, wo technische Engpässe entstehen und wie sich Änderungen am System auf dessen Leistung auswirken.
Dieser Artikel bietet einen praxisnahen Leitfaden, wie Entwickler die Systemleistung planbar absichern. Folgende Themen stehen im Fokus:
QualityOne bietet Performance-Testing sowohl als eigenständige Testing-Leistung als auch im Rahmen des TaaS-Modells (Testing as a Service) an. Dadurch können Unternehmen spezialisiertes Test-Know-how und die nötige technische Infrastruktur nutzen, ohne für jede Belastungsprüfung ein eigenes Performance-Test-Team dauerhaft vorhalten zu müssen.
Ein vollständiger Systemausfall ist lediglich die auffälligste Form schlechter Performance. Lange vorher können Antwortzeiten steigen, Datenbankabfragen langsamer werden oder einzelne Services zunehmend Ressourcen beanspruchen.
Ohne gezielte Messungen bleiben solche Entwicklungen leicht unbemerkt. Ein Performance-Check schafft einen reproduzierbaren Vergleichsmaßstab: Wie verhält sich dieselbe Software unter 100, 1.000 oder 10.000 gleichzeitigen Zugriffen? Ab welcher Last sinkt die Reaktionsfähigkeit? Und welche Komponente verursacht die Verzögerung?
Wird ein Engpass erst kurz vor dem Go-live oder sogar durch Kunden entdeckt, steigt der Aufwand für die Fehlersuche. Entwickler müssen dann unter Zeitdruck herausfinden, ob beispielsweise Code, Datenbank, Infrastruktur oder ein angebundener Service verantwortlich ist.
Früh eingeplante Performancetests liefern dagegen Messwerte, die sich einzelnen Versionen und Änderungen zuordnen lassen. Optimierungen können anschließend nicht nur vermutet, sondern durch erneute Tests überprüft werden.
Nicht jedes Performance-Problem führt sofort zu einem Crash. Häufig verschlechtert sich zunächst die User Experience: Seiten bauen sich langsamer auf, eine App reagiert verzögert oder ein Prozess benötigt deutlich länger als gewohnt.
Für End-User spielt die technische Ursache kaum eine Rolle. Sie erleben lediglich, dass eine Website oder Application schlecht reagiert. Wiederholt sich das, können Kundenzufriedenheit und letztlich auch die Wahrnehmung der Marke darunter leiden.
Performance-Testing gehört zu den nicht-funktionalen Testarten. Im Vordergrund steht nicht die Frage, ob eine Funktion das richtige Ergebnis liefert, sondern wie sich das System unter definierten Bedingungen verhält. Für uns bei QualityOne stehen dabei insbesondere Reaktionsfähigkeit und Stabilität unter Last im Fokus.
Dafür wird künstlicher Load erzeugt und anschließend gemessen, wie die Software darauf reagiert. Je nach Ziel kommen unterschiedliche Lastszenarien und Testverfahren zum Einsatz.
Ein Performance-Check kann zunächst den aktuellen Zustand erfassen. Dazu werden messbare Anforderungen festgelegt und typische Prozesse unter einer definierten Belastung ausgeführt.
Ein Beispiel: Eine Suchanfrage soll bei 500 parallelen Nutzern in mindestens 95 Prozent der Fälle innerhalb von zwei Sekunden beantwortet werden. Erst durch eine solche Vorgabe lassen sich später belastbare Bewertungen vornehmen.
Die durchschnittliche Antwortzeit ist nur ein Messwert unter vielen. Relevant sind ebenso Spitzenwerte, Fehlerraten, Durchsatz und Ressourcennutzung.
Ein System kann beispielsweise schnelle Antworten liefern, solange nur wenige Nutzer aktiv sind, unter zunehmender Last aber überproportional mehr Arbeitsspeicher verbrauchen. Performance-Tests machen solche Zusammenhänge sichtbar.
Eine sinnvolle Messung kombiniert Werte aus unterschiedlichen Ebenen. Nur so lässt sich unterscheiden, ob der Engpass in der Anwendung selbst, der Infrastruktur oder auf dem Weg zum Nutzer entsteht.
Antwortzeiten messen beispielsweise die Dauer eines API-Requests oder einer Transaktion. Für Browser-Anwendungen kommen weitere Werte und potenzielle Fehlerquellen hinzu, weil Rendering, JavaScript und nachgeladene Inhalte die wahrgenommene Geschwindigkeit beeinflussen. Ebenso müssen Timeouts sowie Ladefehler berücksichtigt werden, die erst während des Renderns im Browser auftreten. Hierbei spielen standardisierte Frontend-Metriken wie die Core Web Vitals (z. B. Largest Contentful Paint, Interaction to Next Paint oder Cumulative Layout Shift) eine zentrale Rolle. Gerade bei Web-Anwendungen sollte daher zwischen Backend-Performance und dem tatsächlichen Verhalten im Browser unterschieden werden. Auch moderne Tools wie k6 unterstützen browserbasierte Messungen zusätzlich zum protokollbasierten Testing.
Der Durchsatz zeigt, welche Menge an Requests oder Transaktionen ein System innerhalb eines Zeitraums verarbeitet. Interessant wird dieser Wert vor allem in Verbindung mit steigender Last.
Bleibt der Durchsatz trotz zusätzlicher User nahezu unverändert, während die Antwortzeiten steigen, spricht dies beispielsweise dafür, dass eine Ressource ihre Kapazitätsgrenze erreicht.
CPU-Auslastung, Arbeitsspeicher, Datenbankverbindungen, Netzwerkverkehr oder Thread-Pools liefern Hinweise darauf, warum die Performance nachlässt. Monitoring-Tools ergänzen deshalb die Werte des eigentlichen Lastgenerators.
So sehen Entwickler nicht nur, dass eine Anfrage plötzlich fünf Sekunden benötigt. Sie können gleichzeitig prüfen, was während dieses Zeitraums im System passiert ist.
Service-Level-Agreements können konkrete Anforderungen an Verfügbarkeit und Leistung enthalten. Auch interne Ziele oder technische Akzeptanzkriterien eignen sich als Grundlage. Für eine eindeutige Bewertung benötigt ein Leistungstest solche Grenzwerte. Ohne sie liefert er zwar Daten, aber keine klare Pass-/Fail-Aussage darüber, ob die Performance den vorgesehenen Anforderungen genügt. Um eine verbindliche Bewertungsgrundlage für alle Beteiligten zu schaffen, gilt: Performance-Spezifikationen sollten in einem Testplan dokumentiert werden.
Nicht jede Belastungsprüfung verfolgt dasselbe Ziel. Die verschiedenen Arten unterscheiden sich vor allem darin, wie stark und wie lange das System beansprucht wird.
Beim Load-Testing wird die Anwendung mit einer erwartbaren oder schrittweise steigenden Belastung konfrontiert. Entwickler erfahren dadurch, ob das System auch bei vielen parallelen Nutzern innerhalb der festgelegten Leistungswerte bleibt.
Wir bei QualityOne nutzen Load-Tests unter anderem dazu, Belastungsgrenzen sowie Schwachstellen in Anwendung, Datenbank, Hardware und Netzwerkinfrastruktur frühzeitig sichtbar zu machen.
Stress-Testing setzt das System einer Belastung oberhalb des normalen Betriebs aus und untersucht Stabilität und Verhalten unter außergewöhnlich hoher Last. Ein solcher Test provoziert mitunter bewusst das Abschalten eines Servers – etwa als Schutzmechanismus, um bei Überlastung keine Sicherheitslücken freizugeben. Im Anschluss wird geprüft, ob das System danach wieder sicher und robust hochfährt und selbstständig in einen stabilen Zustand zurückkehrt. Soll gezielt die maximale Belastungsgrenze beziehungsweise der Breaking Point ermittelt werden, kann ergänzend ein Breakpoint-Test eingesetzt werden.
Spike-Tests erzeugen keine langsam ansteigende Belastung, sondern abrupte Sprünge. Ein typischer Use Case wäre eine Verkaufsaktion, nach deren Start innerhalb weniger Minuten sehr viele Nutzer gleichzeitig eine Website aufrufen.
Der Test zeigt unter anderem, wie schnell Autoscaling, Queues oder andere Schutzmechanismen auf den plötzlichen Peak reagieren.
Manche Performance-Probleme treten erst nach längerer Laufzeit auf. Beim Endurance-Testing beziehungsweise bei Soak-Tests wird die Anwendung deshalb über einen längeren Zeitraum einer konstanten oder realistisch schwankenden Last ausgesetzt. So lässt sich prüfen, ob das System auch im Dauerbetrieb stabil bleibt.
Dabei können schleichende Probleme sichtbar werden, die in kürzeren Tests unentdeckt bleiben – etwa Memory-Leaks, anwachsende Queues oder nicht ordnungsgemäß freigegebene Verbindungen.
Beim Scalability-Testing geht es darum, wie gut zusätzliche Ressourcen tatsächlich in zusätzliche Leistung umgesetzt werden. Verdoppelt sich beispielsweise die Serverkapazität, sollte sich nachvollziehen lassen, welchen Effekt dies auf Durchsatz und Antwortzeiten hat.
Ein Capacity-Test betrachtet stärker die verfügbare Kapazität selbst: Wie viele Nutzer, Transaktionen oder Datenmengen kann das aktuelle System bewältigen, bevor vorgegebene Grenzwerte überschritten werden?
Messbare Ergebnisse verkürzen die Suche nach Performance-Problemen. Statt einzelne Komponenten auf Verdacht zu optimieren, können Entwickler dort ansetzen, wo Tests und Monitoring Auffälligkeiten zeigen.
Eine langsame Datenbankabfrage fällt mit zehn Testnutzern möglicherweise kaum auf. Unter hoher Last kann sie jedoch hunderte parallele Prozesse blockieren.
Lasttests erzeugen solche Bedingungen kontrolliert. Entwickler können anschließend untersuchen, welche Abfragen, Services oder Ressourcen zuerst an ihre Grenzen gelangen.
Bei Microservices verteilt sich eine Transaktion häufig auf mehrere Komponenten. Eine langsame Antwort muss deshalb nicht von dem Service stammen, den der Nutzer unmittelbar anspricht. Performance-Testing kann einzelne APIs isoliert und anschließend komplette Prozessketten prüfen. So lässt sich erkennen, ob das Problem bei einem einzelnen Microservice oder im Zusammenspiel mehrerer Systeme entsteht. Die Identifizierung langsamer Endpunkte verbessert die Benutzererfahrung, da diese Flaschenhälse gezielt optimiert werden können, bevor sie den gesamten Transaktionsprozess ausbremsen.
Memory-Leaks machen sich häufig nicht sofort bemerkbar. Der Speicherverbrauch wächst schrittweise, bis die Application irgendwann langsamer oder instabil wird.
Länger laufende Tests schaffen Bedingungen, unter denen solche Entwicklungen besser sichtbar werden. Das gilt auch für Connection-Pools, Threads und andere begrenzte Ressourcen.
Backend-Messwerte allein bilden nicht jede Nutzererfahrung ab. Deshalb können browserbasierte Tests zusätzlich untersuchen, wie sich eine Anwendung aus der Perspektive eines End-Users verhält.
Diese Form des Testings verbindet technische Performance mit der User Experience: Wie lange muss ein Nutzer unter den simulierten Bedingungen warten, bis die benötigten Inhalte verfügbar und bedienbar sind?
Performance muss nicht ausschließlich in großen Lasttests kurz vor einem Release geprüft werden. Vielmehr gilt die klare Empfehlung: Performance-Tests sollten mehrmals während des gesamten Entwicklungsprozesses stattfinden und vor jedem neuen Deployment obligatorisch sein. Dafür lassen sich kleinere und schneller ausführbare Tests bereits früh in der Entwicklung einsetzen. Dieser Ansatz, in der Fachwelt Shift-Left-Performance-Testing genannt, verlagert die Qualitätsprüfung weiter nach vorn in den Entwicklungszyklus.
In einer CI/CD-Pipeline können ausgewählte Performance-Tests automatisch nach Builds oder Änderungen ausgeführt werden. Das ermöglicht eine kontinuierliche Prüfung wichtiger Endpunkte und Prozesse.
Tools wie k6 bieten dafür ausdrücklich CI/CD-Integrationen; auch JMeter lässt sich über entsprechende Build- und Integrationswerkzeuge in Continuous-Integration-Prozesse einbinden.
Ein einzelner Messwert sagt wenig aus, solange ihm der Vergleich fehlt. Baselines schaffen diesen Bezug.
Benötigte eine API in Version 1.8 durchschnittlich 180 Millisekunden und nach einer Änderung plötzlich 310 Millisekunden, wird eine Regression sichtbar – auch wenn beide Werte noch unter einem formalen Grenzwert liegen.
Vor großen Releases, Migrationen oder stark beworbenen Produkteinführungen können umfangreichere Lasttests sinnvoll sein. Hier geht es weniger um jeden einzelnen Commit als um die Frage, ob das Gesamtsystem auf die erwarteten Bedingungen vorbereitet ist.
Ein solcher Test sollte mit realistischen Lastprofilen und möglichst produktionsnaher Infrastruktur arbeiten.
Die Aussagekraft eines Tests hängt stark von seiner Umgebung ab. Ein kleines Testsystem kann sich vollkommen anders verhalten als eine verteilte Produktionsarchitektur. Für konsistente und reproduzierbare Ergebnisse ist ein kontrolliertes, möglichst separates Testumfeld häufig sinnvoll.
„10.000 User" ist noch kein brauchbares Lastmodell. In der Praxis nutzen Menschen unterschiedliche Funktionen und verursachen damit unterschiedlich hohe Belastungen. Ein realistisches Konzept bildet daher typische Use Cases ab: Ein Teil der Nutzer meldet sich an, andere suchen Produkte, laden Daten herunter oder führen Transaktionen aus. Daraus entsteht ein Lastprofil, das der tatsächlichen Nutzung wesentlich näherkommt.
Ein klassischer Fallstrick ist hier das Caching. Werden bei einem Lasttest immer wieder identische Requests und Testdaten verwendet, können Cache-Mechanismen auf verschiedenen Ebenen einen unrealistisch hohen Anteil der Anfragen bedienen. Durch geeignete Parametrisierung und ausreichend variable Testdaten lässt sich vermeiden, dass der Test überwiegend die Cache-Performance statt des realistischen Systemverhaltens misst.
Eine Performance-Testing-Environment muss nicht zwangsläufig eine vollständige Kopie der Production-Environment sein. Die relevanten Unterschiede sollten jedoch bekannt sein.
Weniger CPU, kleinere Datenbanken oder andere Netzwerkkapazitäten verändern das Ergebnis. Solche Abweichungen müssen bei der Interpretation berücksichtigt werden, statt Testwerte ungeprüft auf die Produktion zu übertragen.
Der Lastgenerator beschreibt die Wirkung, das Monitoring hilft bei der Suche nach der Ursache. Beide Perspektiven sollten zusammengeführt werden.
Wer beispielsweise steigende Antwortzeiten gleichzeitig mit CPU-Werten, Datenbankmetriken und Speichernutzung betrachtet, kann Auffälligkeiten schneller einer konkreten Systemkomponente zuordnen.
Die Auswahl an Performance-Testing-Tools reicht von etablierten Open-Source-Projekten bis zu umfangreichen kommerziellen Lösungen. Welches Werkzeug geeignet ist, hängt von Architektur, Protokollen, Testumfang, Automatisierungsgrad und vorhandenen Kenntnissen im Team ab.
Zu prüfen ist zunächst, was überhaupt belastet werden soll: HTTP-APIs, Microservices, eine klassische Website, Datenbanken oder vollständige Browser-Prozesse.
Hinzu kommen Fragen zur benötigten Last, zur CI/CD-Integration, zum Reporting und zur Zusammenarbeit zwischen Entwicklern und Performance-Testern. Auch ein Record-&-Replay-Verfahren kann bei der Erstellung bestimmter Abläufe hilfreich sein.
Apache JMeter ist ein Open-Source-Werkzeug zum Erzeugen von Last und zum Messen der Performance. Neben HTTP/HTTPS und damit beispielsweise REST- und SOAP-Webservices unterstützt JMeter unter anderem JDBC, JMS, FTP und weitere Protokolle und Schnittstellen. Web-Abläufe lassen sich aufzeichnen und anschließend zu wiederholbaren Testplänen weiterentwickeln; umfangreiche Lasttests werden üblicherweise im CLI-Modus ausgeführt.
Auch k6 ist Open Source und stark auf Entwickler-Workflows ausgerichtet. Tests werden skriptbasiert erstellt; neben klassischen Load-Tests unterstützt k6 unter anderem Stress-, Spike- und Soak-Szenarien sowie browserbasierte Performance-Messungen und CI/CD-Integration.
Wer erst nach einem Ausfall nach Performance-Problemen sucht, betreibt vor allem Fehlerbehebung. Performance-Engineering setzt früher an. Eine frühe Einbindung des Performance-Test-Teams kann die Behebungskosten senken, da sich Architektur- und Designschwächen in frühen Entwicklungsphasen häufig einfacher korrigieren lassen.
In der Fachwelt spricht man hierbei vom Software Development Life Cycle (SDLC). Leistungsanforderungen können in diesem Zyklus bereits bei Architektur und Konzeption berücksichtigt werden. Während der Entwicklung folgen kleinere Messungen, später umfangreichere Lasttests und im Betrieb das Monitoring. So entsteht eine durchgängige Sicht auf die Leistung des Systems. DevOps-Teams können Veränderungen über mehrere Versionen hinweg verfolgen und Abweichungen früher erkennen.
Nicht jede Software braucht dieselben Leistungswerte. Ein internes Verwaltungssystem mit 50 Usern stellt andere Anforderungen als ein öffentliches Kundenportal mit mehreren Tausend gleichzeitigen Zugriffen.
Auch Form und Häufigkeit der Nutzung spielen eine Rolle. Das Ziel ist deshalb nicht „maximale Performance", sondern eine Leistung, die zu den tatsächlichen Anforderungen und Lastszenarien passt.
Performance-Testing erfordert spezielles Know-how, geeignete Tools und ausreichend Ressourcen, um realistische Last zu erzeugen und die Ergebnisse fachlich auszuwerten. Der Ansatz, hierfür einfach auf die klassische Testautomatisierung (TA) zurückzugreifen, schlägt in der Praxis fehl. Der technische Ansatz beim Performance-Testing ist ein gänzlich anderer, da bei der TA der Hauptfokus auf der Benutzeroberfläche (UI/GUI) liegt. Genau hier bietet sich unser TaaS-Modell (Testing as a Service) bei QualityOne an, bei dem Performance-Testing zu den zentralen Bausteinen gehört.
Viele Unternehmen benötigen umfangreiche Lasttests nicht täglich. Ein eigenes Performance-Test-Team mit spezialisiertem Tool-Know-how und entsprechender Testinfrastruktur dauerhaft vorzuhalten, kann deshalb unverhältnismäßig sein. Gleichzeitig muss bei hohen Lasten auch die Infrastruktur zur Lastgenerierung berücksichtigt werden: Je nach Tool, Testskript und Hardware können CPU, Arbeitsspeicher oder Netzwerkdurchsatz des Lastgenerators selbst zum Engpass werden und dadurch die Messergebnisse verfälschen.
Reicht eine einzelne Instanz für das geplante Lastszenario nicht aus, kann die Last auf mehrere Generatoren verteilt werden. Distributed Testing – lokal, remote oder über Cloud-Infrastrukturen – ermöglicht es, auch umfangreiche Belastungsszenarien kontrolliert und skalierbar abzubilden.
Über TaaS lassen sich die dafür erforderlichen spezialisierten Kapazitäten projektbezogen einbinden. Das interne Team kann sich auf Entwicklung und technische Optimierung konzentrieren, während QualityOne die vereinbarten Testaktivitäten plant, durchführt und auswertet. Welche Tools, Lastprofile und Testinfrastrukturen zum Einsatz kommen, richtet sich dabei nach den Anforderungen des jeweiligen Projekts.
Am Anfang steht die Frage, welche Belastung eine Anwendung in der Praxis bewältigen muss. Daraus lassen sich konkrete Ziele, Testarten und Lastprofile ableiten.
Im nächsten Schritt wird die geeignete Testumgebung festgelegt, das Szenario umgesetzt und die Last kontrolliert erhöht. Anschließend werten wir Antwortzeiten, Ressourcennutzung, Fehlerraten und weitere Messwerte detailliert aus, um Reaktionsfähigkeit, Stabilität und Belastungsgrenzen des Systems fundiert zu beurteilen.
Das TaaS-Modell nimmt Entwicklern nicht die Verantwortung für Code und Architektur ab. Sein Nutzen liegt vielmehr darin, belastbare und reproduzierbare Befunde bereitzustellen.
Unser Performance-Test-Team kann beispielsweise präzise dokumentieren, dass ab einer bestimmten Zahl paralleler Transaktionen die Antwortzeit eines Services stark steigt oder die Datenbank zum Engpass wird. Die Entwickler können anschließend gezielt optimieren. Ein erneuter Test zeigt, ob die Änderung tatsächlich eine Verbesserung gebracht hat.
So wird aus dem Performance-Test kein externes Endurteil, sondern ein agiler, technischer Feedbackprozess zwischen Testing und Entwicklung.
Gute Performance lässt sich nicht allein aus sauberem Code ableiten. Erst unter realistischen Bedingungen zeigt sich, wie eine Software mit wachsender Last, vielen parallelen Usern und großen Datenmengen umgeht. Load-Testing, Stress-Testing, Spike-Tests, Soak-Tests und weitere Testarten machen unterschiedliche Belastungsgrenzen sichtbar und liefern Entwicklern konkrete Ansatzpunkte für Optimierungen.
Wer Performance-Prüfungen zusätzlich im Rahmen eines Shift-Left-Ansatzes in CI/CD- und DevOps-Prozesse integriert, kann Verschlechterungen bereits während der Entwicklung erkennen. Größere Lasttests vor dem Go-live ergänzen diese kontinuierliche Kontrolle und prüfen, ob das Gesamtsystem auf den vorgesehenen Betrieb vorbereitet ist.
Mit seinem TaaS-Modell ermöglicht QualityOne Unternehmen, Performance-Testing bedarfsgerecht in bestehende Entwicklungsprozesse einzubinden. Entwickler profitieren von zusätzlicher Testing-Kompetenz, cloudbasierter Lastinfrastruktur und nachvollziehbaren Bewertungen, ohne sämtliche hierfür benötigten Ressourcen dauerhaft selbst aufbauen zu müssen. QualityOne übernimmt je nach Projekt die passenden Testaktivitäten; das Entwicklungsteam erhält die präzisen Messwerte, mit denen sich Engpässe gezielt analysieren und Verbesserungen überprüfbar machen lassen.
Technisch ist das möglich, allerdings sollte nicht ungeprüft Last auf fremden Systemen erzeugt werden. Drittanbieter können Rate-Limits besitzen oder Lasttests vertraglich beschränken. In solchen Fällen lassen sich externe Services gegebenenfalls simulieren oder durch Testsysteme ersetzen (Mocking). Für die Planung sollte vorab geklärt werden, welche Systeme belastet werden dürfen.
Latenz, Bandbreite und geografische Entfernung können die wahrgenommene Performance deutlich beeinflussen. Für international genutzte Anwendungen ist es deshalb zwingend erforderlich, Last aus unterschiedlichen Regionen (Distributed Testing) zu erzeugen oder verschiedene Netzwerkbedingungen nachzubilden. So lässt sich besser beurteilen, welche Antwortzeiten Nutzer an verschiedenen Standorten tatsächlich erleben.
Das hängt stark von der Anwendung ab. Eine Datenbank mit wenigen Hundert Einträgen kann andere Antwortzeiten liefern als ein System mit mehreren Millionen Datensätzen. Neben der reinen Menge spielen auch deren Struktur und hohe Varianz eine Rolle, um Caching-Effekte zu umgehen. Wenn große Datenmengen für die Produktion typisch sind, muss dieser Umstand bei der Testplanung berücksichtigt werden.
Davon ist ohne vorherige Abstimmung strikt abzuraten. Ein Lasttest kann reale Nutzer beeinträchtigen, automatische Schutzsysteme (z. B. DDoS-Protection) auslösen oder im ungünstigsten Fall selbst Ausfälle verursachen. Hinzu kommen mögliche Auswirkungen auf angebundene Dienste und nutzungsabhängige Infrastrukturkosten. Tests in der Production-Environment sollten deshalb technisch und organisatorisch vorbereitet und klar begrenzt werden (z. B. in verkehrsarmen Zeiten).
Angebot anfordern
Unsere Testexperten bringen Kenntnisse aus zahlreichen Disziplinen mit, um hochskalierbare Industrieanwendungen ganzheitlich abzudecken.