Jak przetestować szybkość strony chronionej za stroną logowania?


17

W przypadku strony publicznej mogę użyć pingdom.com, aby obliczyć czas odpowiedzi / czas działania strony w określonym czasie.

Jednak pingdom nie może określić czasu odpowiedzi strony chronionej za stroną logowania. Na przykład pingdom nie może sprawdzić czasu odpowiedzi dla mojej skrzynki odbiorczej Gmaila, ponieważ musiałbym podać moją nazwę użytkownika Gmaila i hasło do pingdom, jeśli chcę.

Czy w każdym razie mogę uzyskać czas ładowania strony, która wymaga pary nazwa użytkownika / hasło?


Czy nie możesz po prostu udostępnić strony publicznie na czas trwania testu?
JCL1178

To naprawdę zależy od rodzaju narzędzia, którego chcesz użyć. Większość serwerów obsługuje pojęcie http (s): // użytkownik: hasło @ serwer, na przykład.
początkowo

1
@ JCL1178, nie mogę, ponieważ te strony są bardzo spersonalizowane, w tym samym sensie, co spersonalizowana ściana skrzynki odbiorczej Gmaila.
Graviton,

@initall, możesz opracować? Większość serwerów, czy możesz mi dać jakieś wskazówki na ten temat?
Graviton,

Jeśli dokument jest chroniony przez HTTP BASIC AUTHENTICATION, osadzanie hasła nazwy użytkownika jest obsługiwane przez Apache i inne. Zależy od twojej konfiguracji. Google dla wyrażeń takich jak „http podstawowe uwierzytelnianie nazwa użytkownika hasło w adresie URL”.
początkowo

Odpowiedzi:


4

Aktualizacja 2017

Lighthouse narzędzie opracowane przez Google mogą być uruchamiane jako rozszerzenia do Chrome na zalogowanego stron, a nawet przeciw Chrome na prawdziwym urządzeniu mobilnym (który należy użyć zamiast emulatorów jeśli to możliwe). Lighthouse zapewnia audyty wydajności, dostępności, progresywnych aplikacji internetowych i nie tylko.

Oto zrzut ekranu Lighthouse kontrolującego stronę z notatkami Google Keep:

Zrzut ekranu z latarni morskiej na stronie zalogowanego

Oprócz korzystania z rozszerzenia w stosunku do zalogowanych stron, możesz to również zrobić w interfejsie CLI .


dziwne, że nie wspominają o tym na „zamrożonej stronie rozszerzenia prędkości strony”, którą zastąpiliśmy nową nazwą
Muhammad Umer

Jeśli chodzi o aktualizację 2017 o prędkości światła - działa dobrze do uwierzytelniania (tj. Strona jest chroniona przez uwierzytelnianie), jednak port, na którym nasłuchuje (gdy Google Chrome jest otwarty w trybie debugowania), przechwytuje tylko sekwencję uwierzytelniania, a następnie żadnych działań. Idealnie wszystkie działania wykonane w Google Chrome powinny być rejestrowane i symulowane od momentu odsłuchu na tym porcie. Szukam statystyk na stronie, która ładuje się po kilku kolejnych czynnościach po autoryzacji. Ale niestety tak się nie dzieje :(
kkk

3

Możesz także zainstalować rozszerzenie przeglądarki, takie jak Yslow lub PageSpeed ​​Insights, i uruchomić test bezpośrednio z przeglądarki.


4
Aktualizacja 2017: Yslow nie jest już obsługiwany i nie działa. Wtyczka PageSpeed ​​do przeglądarki Chrome wymaga niechronionej witryny, nie obsługuje podstawowego uwierzytelniania.
Mateng

1

Utwórz backdoor (pamiętaj, aby usunąć go później!)

Na przykład: Dostęp przez stronę inbox.php? LoginForTest = 1 spowoduje automatyczne zalogowanie użytkownika jako użytkownika o identyfikatorze 25 lub dowolnego innego, którego chcesz użyć do testowania, i załadowanie tej zawartości bez przeprowadzania dalszych kontroli uwierzytelnienia.

Zakładając, że piszesz OOP, możesz zmienić tylko kilka wierszy kodu w klasie uwierzytelniania, aby załadować zawartość z określonej perspektywy użytkownika, jeśli określone są dane GET.

Jeśli chodzi o uwierzytelnianie HTTP - większość odpowiedzi już w komentarzach. Użyj składni @ w adresie URL, aby zalogować się jako użytkownik.

Jeśli nadal nie będziesz w stanie przejść przez formularz logowania - spróbuj użyć firebuga do bardziej podstawowych testów - pamiętaj tylko, aby uruchomić kilka razy, aby uzyskać odpowiednią średnią i nie porównywać danych z firebuga z danymi z pingdom lub innych podobne usługi, ponieważ mogą mieć inną metodę uzyskiwania czasu.


1
Zgodnie z ogólną praktyką tylne drzwi są niebezpieczne i nie polecałbym ich. W tym przykładzie, jeśli włamano się do pingdom.com, ktoś mógłby mieć dostęp do adresów URL backdoora, aby uzyskać dostęp do potencjalnie wrażliwych informacji o użytkownikach w Twojej witrynie.
joshuahedlund

Kod OOP nie pomaga. Posiadanie strony / aplikacji / kodu, które działa modułowo, lub akceptacja parametrów. Opcje backdoora to dobra rada.
PatomaS


0

Jednym z możliwych podejść jest stworzenie backdoora, który działa tylko dla adresów IP z białej listy. Na przykład zakres adresów IP Pingdom jest dostępny na ich stronie , więc możesz tymczasowo zezwolić na żądania z tego zakresu adresów IP bez uwierzytelniania.

Możliwe jest sfałszowanie żądającego adresu IP, ale ponieważ żądający nie otrzyma żadnych danych z twojego serwera (zostaną one wysłane do adresu IP, na którym fałszują), to podejście może być wystarczająco bezpieczne dla twoich celów. Oczywiście najlepiej nie pozostawiać otwartych drzwi, gdy nie są potrzebne.


0

Jeśli chcesz wiedzieć, czas reakcji witryny na pierwsze żądanie lub odpowiedź zerwania na rozpoczęcie uzgadniania, ping jest więcej niż wystarczający, ponieważ jest on niezależny od pobranej treści, uzgadniania lub nagłówków. Zależy to tylko od dozwolonych żądań ICMP.

Jeśli musisz obliczyć czas ładowania, który jest inny, najlepszym sposobem na to, a biorąc pod uwagę, że strona / strona jest spersonalizowana, jest utworzenie strony o tej samej ilości i rodzaju zawartości, utworzenie określonej bez pamięci podręcznej reguły dotyczące Twojego .htaccessi korzystania z dowolnego narzędzia, które chcesz przetestować czas reakcji i ładowania.

Oczywiście ta strona musi wykonać tę samą pracę, co zwykła aplikacja, tylko z danymi niewrażliwymi, w tym celu należy utworzyć fałszywe dane w identyfikatorze DB, który jest powiązany, a następnie stronę należy wygenerować z tym samym technologia po stronie serwera, jeśli używasz jej do zwykłych stron i musi ona pobrać i załadować te same obrazy.

Oczywiście, jeśli chcesz dokładnych danych. Jeśli nie chcesz wykonywać tej pracy lub nie potrzebujesz danych tak dokładnych, jak te, które otrzymasz dzięki tej procedurze, możesz użyć narzędzi takich jak abpolecenie z Apache lub innego narzędzia do symulacji.


0

Aby to zrobić, możesz użyć Google Chrome

Otwórz narzędzia programistyczne (naciśnij Command + Opcja + I (Mac) lub Control + Shift + I (Windows, Linux))

Przejdź na kartę Sieć.

Odśwież stronę.

Zobaczysz listę wszystkich zasobów ładowanych na stronie. Po zakończeniu możesz zobaczyć całkowity czas ładowania wszystkich zasobów na dole

Sprawdziłem to po zalogowaniu w Gmailu. Podobnie jak ten zrzut ekranu:

wprowadź opis zdjęcia tutaj Dostępna jest opcja „wyłącz pamięć podręczną”, która może być przydatna, aby zobaczyć czas ładowania pierwszej strony wczytywania, w porównaniu do wielokrotnego odwiedzającego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.