Warum sollten Sie Tests verwenden?
Wenn eine Website von der Entwicklungsumgebung in die Produktion überführt wird, erzeugen viele echte Besucher eine Serverlast und die Website-Leistung kann anders ausfallen, als Sie erwarten. Um das Website-Verhalten vorherzusagen, sollten Sie die reale Auslastung auf Ihrem Testserver simulieren.
Testziele
Der wichtigste paramDie Anzahl der Website-Funktionen beträgt:
- Latenz – die Zeit von der Benutzeranfrage bis zur Serverantwort;
- Server Leistungsspielraum – die Anzahl gleichzeitiger Anfragen, die der Server verarbeiten kann. Falls der Server überlastet ist, werden Benutzeranfragen an die Website in die Warteschlange gestellt oder sogar verworfen.
- Stabilität – wie viele Anfragen mit vorhersehbarer Qualität bearbeitet werden. Dies ist das sogenannte „Perzentil“. Beispielsweise bedeutet 20 Millisekunden Antwort auf das erste Byte im 90. Perzentil (gute Arbeit), dass 90 % der Benutzeranfragen in 20 ms oder weniger „beantwortet“ werden.
Vor dem Testen
Bevor Sie die Tests durchführen, sollten Sie sicherstellen, dass Ihr Server über genügend Systemressourcen verfügt, um alle Anfragen zu verarbeiten. Allgemeine „Metriken“ sind der verfügbare Systemspeicher und CPU Wird geladen. Zur Überprüfung verfügbar RAM Sie können das integrierte Dienstprogramm namens verwenden kostenlos. Führen Sie einfach den einfachen Befehl aus:
free -m
In den meisten Anwendungsfällen sollte der Server mindestens 25 % frei haben RAM, ohne zu tauschen.
Situation mit CPU Beim Laden werden andere integrierte Dienstprogramme beschrieben. Bitte führen Sie es aus, um Folgendes zu überprüfen:
top
Die durchschnittliche Systemlast sollte 1* nicht überschreiten.CPU Anzahl der Kerne. Beispiel: Bei einer durchschnittlichen Last von 8 Kernen CPU mehr als 8.00 – Sie sind in Schwierigkeiten.
Lastsimulation
Um echte Besucher zu simulieren, können Sie einige Tools verwenden. Schauen Sie sich die Beschreibung unten an:
- ab.
Mit diesem Tool können Sie viele gleichzeitige Verbindungen zum Webserver herstellen. Lauf einfach:
ab -c <NUMBER_OF_SIMULTANEOUS_REQUESTS> -n <NUMBER_OF_TOTAL_REQUESTS> <WEBSITE_URL>
- Belagerung.
Dies ist mit dem vorherigen Konsolentool sehr ähnlich. Um es zu installieren, führen Sie einfach den Paketmanager aus:
apt install siege
Dann nutzen Sie das Tool:
siege -t <TESTING_TIME> -c <NUMBER_OF_SIMULTANEOUS_REQUESTS> <WEBSITE_URL>
- Heuschrecke
Ein weiteres Hilfsmittel zum Testen ist Heuschrecke. Es handelt sich um ein Testprogramm mit Webschnittstelle. Um es zu installieren, führen Sie bitte Folgendes aus:
pip3 install locust
Laden Sie dann die Konfigurationsdatei herunter, bearbeiten Sie sie entsprechend Ihren Anforderungen und führen Sie den Test aus:
wget https://raw.githubusercontent.com/locustio/locust/master/examples/browse_docs_test.py
sed 's|https://docs.locust.io/en/latest|<YOUR_DOMAIN>|g' browse_docs_test.py
locust -f browse_docs_test.py
Dann können Sie die URL öffnen http:// :8089, um die Testergebnisse anzuzeigen
Zusammenfassung
In diesem Artikel haben wir beschrieben, wie Sie die Produktionslast auf Ihrem Server simulieren, um eine Website zu testen.