Die wichtigsten Tools für Leistungs- und Belastungstests

Ihre Applikation ist schnell und skalierbar, richtig? Woher wissen Sie das so genau? Wie oft testen Sie die Leistung oder Belastung? In diesem Post stelle ich Ihnen eine Übersicht der, meiner Meinung nach, wichtigsten Tools für Leistungs- und Belastungstests von Webapplikationen zur Verfügung.

Open-Source Leistungstestwerkzeuge

Diese Tools erlauben es ihnen, die Belastung ihrer Applikationen zu testen – gratis. Mein bevorzugtes Hilfsmittel ist Bees with Machine Guns— nicht nur des aussergewöhnlichen Namens wegen („Bienen mit Maschinengewehren“), sondern in erster Linie, weil es Amazon’s EC2 benutzt, um eine hohe Anzahl simultaner Zugriffe mit Leichtigkeit zu erzeugen.

  • Bees with Machine Guns – Ein Programm, bei dem man viele Bienen (Mikro-EC2-Instanzen) bewaffnet (kreiert), um Ziele (Webapplikationen) anzugreifen (die Belastung zu testen).
  • MultiMechanize – Multi-Mechanize ist ein Open-Source Framework zum Testen von Performance und Belastung. Es läuft gleichzeitige Python-Skripts um die Belastung gegen eine Außenstelle oder eines Services zu erzeugen (synthetische Transaktionen). Multi-Mechanize wird im Allgemeinen dazu benutzt, Webleistung und Skalierbarkeit zu testen, kann aber auch dazu verwendet werden, eine Arbeitsbelastung gegen jede außerhalb liegende API, auf die Python zugreifen kann, zu erzeugen.
  • Siege – Siege ist ein http-Belastungstest- und Benchmarkingprogramm. Es wurde entwickelt, sodass Web-Entwickler ihren Code unter grossem Druck messen können, um zu sehen, wie dieser der Belastung im Internet widerstehen kann. Siege unterstützt basic Authentication, Cookies, HTTP und HTTPS-Protokolle. Es lässt den Nutzer mit einer konfigurierbaren Anzahl von simulierten Web-Browsern einen Webserver anwählen. Diese Browser „belagern“ dann den Server.
  • HttpPerf – Httperf ist ein Hilfsmittel zum Messen der Web-Serverperformance. Es liefert eine flexible Einrichtung, um verschiedene HTTP-Auslastungen zu erzeugen und die Serverleistung zu messen. Der Hauptfokus von httperf ist nicht, einen speziellen Benchmark einzuführen, sondern ein robustes performance Tool zu liefern, welches die Konstruktion von Mikro- und Makrolevel-Benchmarks ermöglicht. Die drei herausragenden Charakteristiken von httperf sind dessen Robustheit, welches die Fähigkeit miteinbezieht Serverüberlastungen zu erzeugen und zu erhalten, die Unterstützung von HTTP/1.1 und SSL-Protokolle und dessen Skalierbarkeit zu neuen Workload-Generatoren und Performance Messungen.
  • Apache Bench – AB ist ein Tool zum Benchmarking eines Apache HTTP Servers. Es wurde entwickelt, um Ihnen einen Eindruck darüber zu liefern, wie Apache arbeitet.
  • JMeter – Apache JMeter kann dazu benutzt werden, die Performance von statischen und dynamischen Ressourcen (Dateien, Servlets, Perl-Skripts, Java-Objekte, Datenbanken und Fragen, FTP-Server und mehr) zu testen. Es kann dazu verwendet werden, schwere Belastung auf einen Server, ein Netzwerk oder ein Objekt zu simulieren, um dessen Stärke zu testen oder dessen allgemeine Leistung unter schwierigen Belastungstypen zu analysieren. Man kann es dazu benutzen, grafische Performanceanalysen zu erstellen oder um Server/Skripts/Objektverhalten unter schwerer, simultaner, Belastung zu testen.

Leistungstestwerkzeuge als ein Service

Mit diesen Serviceanbietern kann man Leistungstests aufbauen, ausführen und analysieren.

  • Apica Load Test – Cloud-basierte Belastungstests für Web und mobile Applikationen
  • Blitz.io – Blitz machte es möglich eine App 24/7 weltweit zu überwachen. Man kann einen einzelnen Nutzer oder Hunderte von Nutzern emulieren, jeden Tag und den ganzen Tag, und dann sofort darüber benachrichtigt werden, wenn etwas nicht in Ordnung ist.
  • Soasta – Hier kann man Performancetests auf einer einzelnen, starken, intuitiven Plattform aufbauen, ausführen und analysieren.
  • Blazemeter – BlazeMeter ist eine Selbstbedienungs-Cloud zum Leistungs- und Belastungstesten, 100% JMeter-kompatibel. Tests von 30k, 50k, 80k oder mit mehr simultanen Nutzern können, auf Abruf, einfach durchgeführt werden.

Leistungstests auf Kundenseite

Der beste Platz um anzufangen ist hier: Google with the Web Performance best practices.

  • Google PageSpeed Insights – PageSpeed Insights analysiert den Inhalt einer Webseite und macht dann Vorschläge, wie man diese Seite schneller machen kann. Die Reduzierung von Ladezeiten einer Seite kann die Absprungraten reduzieren und die Umsetzungsraten erhöhen.
  • Google ngx_pagespeed – ngx_pagespeed beschleunigt ihre Seite und reduziert ihre Ladezeit. Dieses Open-Source Nginx-Servermodul wendet automatisch die best practices für die Webleistung der jeweiligen Webseiten an, sowie damit verbundene Assets (CSS, JavaScript, Bilder), ohne dabei zu verlangen, dass der bestehende Inhalt oder Workflow modifiziert werden muss.
  • Google mod_pagespeed – mod_pagespeed beschleunigt ihre Seite und reduziert die Ladezeit. Diese Open-Source Apache HTTP-Servermodule wenden automatisch die best practices für die Webleistung der jeweiligen Seiten an, sowie damit verbundene Assets (CSS, JavaScript, Bilder), ohne dabei zu verlangen, dass der bestehende Inhalt oder Workflow modifiziert werden muss.

Webbeschleunigungsservices

Durch einen einfachen DNS-Wechsel wird der Datenverkehr zu einer Webseite durch diesen Service umgeleitet und der Inhalt optimiert und für bessere Leistung global gecached. Dies ist ein schneller Trick, um die Leistung mit minimalem Aufwand zu verbessern.

  • Yottaa – Alles in einem. Komplette Weboptimierungslösung liefert Schnelligkeit, Umfang, Sicherheit und aktive Einsicht für jede Webseite.
  • Cloudflare – Offeriert kostenfreien und kommerziellen, Cloud-basierten Service, um zu helfen, ihre Webseite zu sichern und schneller zu machen.
  • Torbit – Torbit hilft dabei, die Leistung ihrer Webseite akurat zu messen und beziffert, inwiefern Schnelligkeit die Einnahmen beeinflusst.
  • Incapsula – Incapsula offeriert hochmodernste Sicherheit und Leistung für Webseiten aller Größenordnungen.

Empfohlener Lesestoff

Ein großartiges Buch zum Erlernen von Kapazitätsplanung und zur Vorbereitung auf Produktionsverkehr ist  The Art of Capacity Planning by John AllspawJohn Allspaw hat dieses Buch über seine eigenen Erfahrungen bei Flickr geschrieben.

Wie immer, bitte hinterlassen Sie gerne einen Kommentar wenn Sie der Meinung sind, dass ich etwas vergessen habe oder wenn Sie Themenvorschläge für zukünftige Blog Posts haben.

Dieser Artikel wurde aus dem Englischen übersetzt. Den originalen Text finden Sie hier: blog.appdynamics.com/php/tools-of-the-trade-for-performance-and-load-testing