Kein Traffic in Google Analytics während Lasttests
Was bei einer Lasttest-Anfrage passiert
Jede Anfrage trifft auf Ihren Server, auf dem die Anwendung gehostet wird, lädt jedoch keine Assets:
- JavaScript
- CSS
- Bilder
- Schriftarten
- usw.
Die Antwortzeit misst die verstrichene Zeit von kurz vor dem Senden der Anfrage bis kurz nach dem Empfang der letzten Antwort. Sie umfasst nicht die Zeit, die zum Rendern der Antwort benötigt wird, und verarbeitet auch keinen Client-Code, zum Beispiel JavaScript.
Warum Google Analytics keinen Lasttest-Traffic sieht
Google Analytics, und die meisten ähnlichen Tools wie Mixpanel, Segment oder Hotjar, funktionieren, indem sie ein clientseitiges JavaScript-Snippet in einem echten Browser ausführen. Dieses Skript sendet ein Ereignis an den Analytics-Dienst zurück, sobald die Seite im Browser geladen und ausgeführt wurde.
Ein Lasttest führt keinen Browser aus. Er sendet rohe HTTP-Anfragen direkt an Ihren Server oder API-Endpunkt und misst, wie der Server antwortet, ohne HTML zu parsen, ohne verlinkte Assets herunterzuladen und ohne JavaScript auf der Seite auszuführen. Da das Google-Analytics-Snippet nie ausgeführt wird, sendet es nie seinen Pageview- oder Event-Beacon, sodass der Traffic nie in Ihrem Analytics-Dashboard erscheint, egal wie viele virtuelle Benutzer Sie auf den Endpunkt schicken. Das ist erwartetes Verhalten, kein Bug und kein Zeichen dafür, dass Ihr Test den Server nicht erreicht hat.
Wo Lasttest-Traffic tatsächlich sichtbar wird
Da die Anfrage selbst eine echte HTTP-Anfrage ist, ist sie überall vollständig sichtbar, wo Traffic auf Server- oder Netzwerkebene beobachtet wird, statt auf Browserebene:
- Web- und Anwendungs-Access-Logs
- CDN- oder Reverse-Proxy-Logs
- Backend-APM-Tools (New Relic, Datadog und Ähnliches)
- Infrastruktur-Metriken: CPU, Arbeitsspeicher, Verbindungsanzahl
- LoadFocus' eigene Testergebnisse, Antwortcodes und Antwortzeit-Diagramme
Wenn Sie bestätigen müssen, dass Ihr Server die Last tatsächlich empfangen hat, prüfen Sie eine dieser Quellen statt eines clientseitigen Analytics-Tools.
Warum das beim Lesen Ihrer Ergebnisse wichtig ist
Da die Antwortzeit bei einem Lasttest nur Server- und Netzwerkzeit misst und das Parsen, Rendern und Ausführen von Skripten im Browser ausschließt, sagt Ihnen ein schnelles Lasttestergebnis, dass das Backend schnell geantwortet hat, aber nicht, wie schnell ein echter Besucher die Seite als geladen wahrnimmt. Eine Seite, die ihr HTML in 100 ms zurückgibt, aber danach mehrere Megabyte an JavaScript und Bildern lädt, kann sich für einen echten Nutzer trotzdem langsam anfühlen, auch wenn sie in einem rohen HTTP-Lasttest schnell aussieht.
Wenn Sie zusätzlich messen möchten, wie eine Seite unter Last aus der Sicht eines echten Browsers abschneidet, einschließlich Asset-Ladezeiten, Rendering und Core Web Vitals, ist das eine andere Art von Prüfung als ein roher HTTP-Lasttest. Siehe https://loadfocus.com/docs/de-de/guides/load-testing/page-speed-under-load für diesen Teil der Performance-Tests.