W jaki sposób przeprowadzić test szybkości strony internetowej?
To, że strona powinna się ładować szybko, wie każdy z nas, ale dlaczego? I jak to sprawdzić? Z pomocą przychodzi program Apache Benchmark. Dzięki niemu bez problemu dowiemy się, ile zapytań na sekundę obsługuje nasz serwer HTTP oraz jak radzi sobie na tle konkurencji.
W jakim celu testujemy prędkość działania strony www?
Prędkość działania strony internetowej to jedna z ważniejszych cech, decydujących o jej popularności zarówno wśród użytkowników jak i wyszukiwarek. Im strona jest szybsza, tym bardziej komfortowe i satysfakcjonujące dla użytkownika jest korzystanie z niej. Niejednokrotnie podczas procesu tworzenia witryny wprowadzamy rozwiązania, których wydajność może wydawać nam się wątpliwa. W takiej sytuacji powinniśmy wykonać test szybkości strony, aby upewnić się, że wprowadzone zabiegi nie wpływają negatywnie na jej responsywność.
Udowodnieniem powyższych twierdzeń są statystyki odnoszące się do wydajności witryny, zaangażowania użytkowników, a także do tego, jak jej prędkość przekłada się na inne ważne wskaźniki. Według badań Google/SOASTA z 2017 roku, szanse na porzucenie przez użytkownika strony mobilnej, jeżeli czas ładowania będzie trwał dłużej niż 1 sekundę wyglądają następująco:
- do 3 sekund - szansa porzucenia zwiększa się o 32%
- do 5 sekund - 90%
- do 6 sekund - 106%
- do 10 sekund - 123%
Czym jest Apache Benchmark?
Apache Benchmark jest darmowym narzędziem, które umożliwia przeprowadzenie testów wydajnościowych dowolnej strony internetowej. To rozwiązanie zostało co prawda stworzone z myślą o serwerach Apache, ale sprawdzi się dobrze w badaniu sprawności dowolnego innego serwera www. W narzędziu określamy, ile zapytań ma ono wysłać do serwera. Apache Benchmark pozwala na wielokrotne wywołanie URL i przygotowuje statystyki czasu wykonania zapytań.
Jak przetestować szybkość działania strony?
- Instalacja Apache Benchmark:
- Windows: Należy wejść na https://www.apachelounge.com/download/ i pobrać najnowsze wydanie programu.
- Ubuntu: Wystarczy, że użyjemy dwóch komend w terminalu
sudo apt-get update
sudo apt-get install apache2-utils - Mac OS X: Wszystkie komputery Mac mają ten pakiet zainstalowany domyślnie.
- Podstawowe parametry zapytania.
Zanim zaczniemy wysyłać pierwsze zapytania, warto zapoznać się z kilkoma podstawowymi parametrami, które pozwolą nam na dostosowanie naszych testów:- n - liczba zapytań, które powinny zostać wysłane w ramach jednej sesji (wartość domyślna - jedno zapytanie),
- c - liczba wykonywanych równocześnie zapytań (wartość domyślna - jedno zapytanie na raz),
- t - ilość sekund, po których program powinien przerwać test (brak domyślnego limitu).
- Test szybkości strony
Aby wykonać test szybkości strony, należy użyć następującego polecenia w konsoli:
ab [OPCJE] [ADRES_SERWERA]
czyli np.: ab -n 1000 -c 50 http://adres_naszej_strony.pl/
Należy pamiętać o slashu ( / ) na końcu adresu, inaczej program zwróci błąd!
Zobaczmy teraz, jak wygląda wynik naszego testu.
Najważniejsze informacje zawiera tabela:
Możemy tutaj zobaczyć (w milisekundach) najniższe i najwyższe wyniki etapów ładowania strony. Zmieniając parametry naszej komendy, możemy testować różne scenariusze poziomu obciążenia witryny. Następnie, odnosząc się do wspomnianego wyżej badania Google/SOASTA, możemy starać się optymalizować stronę, aby spełniała wymogi przeciętnego użytkownika.
Czego unikać przy testowaniu szybkości strony internetowej?
- Testowania na produkcji
Serwer produkcyjny, który musi obsługiwać zapytania od zwykłych użytkowników na równi z naszymi testami, może tego nie wytrzymać. Dla wiarygodnych wyników zawsze lepsze będzie testowanie strony na osobnym serwerze. - Jednolitości zapytań
Poza adresem strony głównej warto sprawdzić działanie kilku wewnętrznych linków. Jeżeli będziemy odpytywać tylko jeden adres, może on zacząć dostawać odpowiedzi z cache serwera, gdzie zawartość nie będzie generowana na nowo, przez co odpowiedzi będą szybsze niż powinny. - Odpytywania zewnętrznych API
Jeżeli nasza strona łączy się z zewnętrznymi API, przy testach również mogą być one przez nią wywoływane, co może się dla nas łączyć z dodatkowymi kosztami lub wyczerpaniem limitów (jeśli są to usługi płatne). - Słabego łącza
Niekorzystne warunki, takie jak wolne łącze internetowe miejsca, z którego będziemy wykonywać testy, mocno wpłyną na ich wyniki. Dlatego należy pamiętać o sprawdzeniu prędkości łącza, a najlepiej wykonać testy z kilku różnych lokalizacji. - Łamania przepisów
Należy pamiętać, że wysyłanie ogromnych ilości zapytań w krótkim czasie może zostać uznane za atak DoS (Denial of Service - blokada usług). Dlatego należy wykonywać testy domen, do których mamy uprawnienia. Przy większych testach warto też sprawdzić, co na ten temat sądzi hosting strony. Jeżeli nasze zapytania zostaną uznane za atak, wynik testu będzie przekłamany.
Podsumowanie
Każda modyfikacja wpływa na czas ładowania strony internetowej, dlatego ważne jest, aby sprawdzać, korzystając z testów szybkości, czy swoimi działaniami jej nie spowolniliśmy. Przy pomocy Apache Benchmark będziemy w stanie to zrobić za darmo. Aby nasz test szybkości pokazał wiarygodne wyniki, należy pamiętać o różnych czynnikach, o które należy odpowiednio zadbać podczas tego procesu.
Po więcej ciekawych artykułów i wskazówek technicznych zapraszamy na naszego bloga.