Wie teste ich die Geschwindigkeit einer Seite, die hinter einer Anmeldeseite geschützt ist?


17

Für öffentliche Seiten kann ich pingdom.com verwenden , um die Antwortzeit / Verfügbarkeit einer Seite über einen bestimmten Zeitraum zu berechnen.

Pingdom kann jedoch die Antwortzeit einer Webseite, die hinter einer Anmeldeseite geschützt ist, nicht zeitlich festlegen. Zum Beispiel kann pingdom die Antwortzeit für meinen Google Mail-Posteingang nicht überprüfen, da ich meinen Google Mail-Nutzernamen und mein Passwort an pingdom senden müsste, wenn ich das möchte.

Kann ich trotzdem die Ladezeit der Webseite abrufen, für die ein Benutzername / Passwort-Paar erforderlich ist?


Können Sie die Seite nicht einfach für die Dauer des Tests öffentlich zugänglich machen?
JCL1178,

Dies hängt wirklich von der Art des Werkzeugs ab, das Sie verwenden möchten. Die meisten Webserver unterstützen beispielsweise den Begriff http (s): // user: password @ server.
Initiale

1
@ JCL1178, das kann ich nicht, da diese Seiten sehr personalisiert sind, im gleichen Sinne wie der Posteingang von Google Mail / die Facebook-Pinnwand personalisiert sind.
Graviton

@initall, kannst du das näher erläutern? Können Sie mir, die meisten Webserver, Hinweise dazu geben?
Graviton

Wenn das Dokument mit HTTP BASIC AUTHENTICATION geschützt ist, wird die Einbettung des Benutzernamens und des Kennworts von Apache und anderen unterstützt. Kommt auf dein Setup an. Google für Ausdrücke wie "http grundlegende Authentifizierung Benutzername Passwort in URL".
am

Antworten:


4

Update 2017

Das von Google entwickelte Lighthouse- Tool kann als Chrome-Erweiterung auf angemeldeten Seiten und sogar auf einem echten Mobilgerät (das Sie nach Möglichkeit anstelle von Emulatoren verwenden sollten) gegen Chrome ausgeführt werden . Lighthouse bietet Audits für Leistung, Barrierefreiheit, fortschrittliche Web-Apps und mehr.

Hier ist ein Screenshot von Lighthouse, wie er eine Google Keep-Notizseite überprüft:

Leuchtturm-Screenshot auf eingeloggter Seite

Sie können die Erweiterung nicht nur für angemeldete Seiten verwenden, sondern auch auf der CLI .


seltsam, sie erwähnen dies nicht auf "veralteten Seite Geschwindigkeit Erweiterung Seite", die wir mit neuem Namen ersetzt
Muhammad Umer

In Bezug auf das Update 2017 zu Lightspeed funktioniert es gut für die Authentifizierung (dh die Seite wird durch die Authentifizierung geschützt). Der Port, den es abhört (wenn Google Chrome im Debug-Modus geöffnet wird), erfasst jedoch nur die Auth-Sequenz und danach keine Aktionen. Idealerweise sollten alle in Google Chrome durchgeführten Aktionen aufgezeichnet und simuliert werden, da sie auf diesem Port abhören. Ich suche nach Statistiken auf einer Seite, die nach einigen weiteren Aktionen nach der Authentifizierung geladen wird. Aber leider passiert das nicht :(
kkk

3

Sie können auch eine Browsererweiterung wie Yslow oder PageSpeed ​​Insights installieren und den Test direkt in Ihrem Browser ausführen.


4
Update 2017: Yslow wird nicht mehr gewartet und funktioniert nicht mehr. Das PageSpeed ​​Plugin für Chrome benötigt eine ungeschützte Website, es verträgt sich nicht mit der Basisauthentifizierung.
Mateng

1

Erstellen Sie eine Hintertür (denken Sie daran, diese später zu entfernen!)

Beispiel: Wenn Sie über die Seite inbox.php? LoginForTest = 1 zugreifen, werden Sie automatisch als Benutzer mit der ID 25 oder mit der ID 25 angemeldet, die Sie zum Testen verwenden möchten, und dieser Inhalt wird geladen, ohne dass weitere Authentifizierungsprüfungen durchgeführt werden.

Angenommen, Sie schreiben OOP, können Sie nur einige Codezeilen in der Authentifizierungsklasse ändern, um den Inhalt aus einer bestimmten Benutzerperspektive zu laden, wenn bestimmte GET-Daten festgelegt sind.

Bei der HTTP-Authentifizierung haben Sie die meisten Antworten bereits in Kommentaren erhalten. Verwenden Sie die @ -Syntax in URL, um sich als Benutzer anzumelden.

Wenn Sie immer noch nicht in der Lage sind, das Anmeldeformular zu durchlaufen - versuchen Sie, Firebug für grundlegendere Tests zu verwenden - denken Sie einfach daran, mehrmals auszuführen, um einen angemessenen Durchschnitt zu erhalten, und vergleichen Sie keine Daten aus Firebug mit Daten aus Pingdom oder anderen ähnliche Dienste, da sie möglicherweise unterschiedliche Methoden zum Abrufen von Timings haben.


1
Hintertüren sind in der Regel gefährlich und ich würde sie nicht empfehlen. In diesem Beispiel könnte, wenn pingdom.com kompromittiert wurde, jemand Zugriff auf die Backdoor-URLs haben, um auf potenziell sensible Benutzerinformationen auf Ihrer Website zuzugreifen.
Joshuahedlund

OOP-Code hilft nicht. Eine Site / Anwendung / einen Code haben, die / der modular funktioniert und / oder Parameter akzeptiert. Die Backdoor-Optionen sind ein guter Rat.
PatomaS


0

Ein möglicher Ansatz besteht darin, eine Hintertür zu erstellen, die nur für IP-Adressen auf der Whitelist funktioniert. Der IP-Bereich von Pingdom ist beispielsweise auf der Site verfügbar , sodass Sie vorübergehend Anforderungen aus diesem IP-Bereich ohne Authentifizierung zulassen können.

Es ist möglich, die anfordernde IP-Adresse zu fälschen. Da der Anforderer jedoch keine Daten von Ihrem Server zurückerhält (diese werden an die IP gesendet, die er fälscht), ist dieser Ansatz möglicherweise für Ihre Zwecke sicher genug. Natürlich ist es am besten, eine Hintertür nicht offen zu lassen, wenn Sie sie nicht benötigen.


0

Wenn Sie wissen möchten, wie lange die Site auf eine erste Anfrage antwortet oder wie lange sie auf einen Handshake reagiert, ist Ping völlig ausreichend, da dies unabhängig vom abgerufenen Inhalt, dem Handshake oder den Headern ist. Dies hängt nur davon ab, ob ICMP-Anforderungen zulässig sind.

Wenn Sie eine andere Ladezeit berechnen müssen, erstellen Sie am besten ohne Cache, wenn Sie erwähnen, dass die Seite / Site personalisiert ist, eine Seite mit der gleichen Menge und Art von Inhalt Regeln für Ihre .htaccessund die Verwendung des Tools, mit dem Sie die Reaktion und Ladezeit testen möchten.

Natürlich muss diese Seite die gleiche Arbeit leisten wie die normale Anwendung, nur mit nicht vertraulichen Daten. Dazu sollten Sie einige gefälschte Daten in der DB-ID erstellen, mit der sie verknüpft ist. Dann muss die Seite mit derselben generiert werden Serverseitige Technologie, wenn Sie eine für die normalen Seiten verwenden und dieselben Bilder abrufen und laden müssen.

Natürlich, wenn Sie genaue Daten wünschen. Wenn Sie diese Arbeit nicht erledigen möchten oder Daten benötigen, die nicht so genau sind wie die, die Sie mit dieser Prozedur erhalten, können Sie Werkzeuge wie den abBefehl von Apache oder ein anderes Simulationswerkzeug verwenden.


0

Sie können dazu Google Chrome verwenden

Öffnen Sie die Entwicklertools (Drücken Sie Befehlstaste + Wahltaste + I (Mac) oder Strg + Umschalttaste + I (Windows, Linux)).

Gehen Sie zur Registerkarte Netzwerk.

Lade die Seite neu.

Sie sehen eine Liste aller Ressourcen, die Ihre Seite lädt. Sobald Sie fertig sind, können Sie die Gesamtzeit sehen, die zum Laden jeder Ressource am unteren Rand benötigt wurde

Ich habe dies nach der Anmeldung in meinem Google Mail-Konto überprüft. Wie dieser Screenshot:

Bildbeschreibung hier eingeben Es gibt eine Option zum Deaktivieren des Caches, mit der die Ladezeit beim ersten Laden einer Seite im Vergleich zu einem wiederholten Besucher angezeigt werden kann.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.