W sekcji Możliwości raportu Lighthouse znajdziesz informacje o czasie odpowiedzi serwera, czyli czasie, jaki upływa od wysłania żądania do momentu, gdy przeglądarka użytkownika otrzyma pierwszy bajt treści strony:
Długi czas odpowiedzi serwera wpływa na wydajność
Ten audyt kończy się niepowodzeniem, gdy przeglądarka czeka dłużej niż 600 ms na odpowiedź serwera na żądanie głównego dokumentu. Użytkownicy nie lubią, gdy strony wczytują się zbyt długo. Długi czas odpowiedzi serwera to jedna z możliwych przyczyn długiego wczytywania strony.
Gdy użytkownik przechodzi do danego adresu URL w przeglądarce, wysyła żądanie sieciowe, aby pobrać daną treść. Twój serwer odbiera żądanie i zwraca zawartość strony.
Serwer może potrzebować dużo pracy, aby zwrócić stronę ze wszystkimi treściami, których oczekują użytkownicy. Jeśli na przykład użytkownicy przeglądają historię zamówień, serwer musi pobrać historię każdego z nich z bazy danych, a potem wstawić te treści na stronie. Optymalizacja serwera pod kątem jak najszybszego wykonywania takich zadań to jeden ze sposobów na skrócenie czasu oczekiwania na wczytanie stron przez użytkowników.
Nawet jeśli serwer nie musi wykonać zbyt wielu operacji, opóźnienie sieciowe między klientem a serwerem może spowodować spowolnienie czasu odpowiedzi serwera.
Jak poprawić czas odpowiedzi serwera
Pierwszym krokiem do poprawy czasu odpowiedzi serwera jest określenie podstawowych zadań koncepcyjnych, które musi wykonać serwer, aby zwrócić zawartość strony, a następnie zmierzenie czasu trwania każdego z tych zadań. Po zidentyfikowaniu najdłuższych zadań poszukaj sposobów na przyspieszenie ich wykonania.
Istnieje wiele możliwych przyczyn powolnych odpowiedzi serwera, a co za tym idzie, wiele sposobów na poprawę sytuacji:
- Zoptymalizuj logikę aplikacji serwera, aby szybciej przygotowywać strony. Jeśli używasz frameworku serwera, może on zawierać odpowiednie wskazówki.
- Zoptymalizuj sposób, w jaki serwer wysyła zapytania do baz danych lub przejdź na szybsze systemy baz danych.
- Uaktualnij sprzęt serwera, aby zwiększyć ilość pamięci lub procesora.
Użyj sieci CDN, aby zmniejszyć opóźnienia sieci. Jest to szczególnie skuteczne, jeśli dokument może zostać zapisany w buforze w węźle brzegowym sieci CDN.
Więcej informacji znajdziesz w przewodniku Optymalizacja czasu oczekiwania na odpowiedź serwera.
Wskazówki dotyczące stosu
Drupal
Przekazuj ruch do modułów pamięci podręcznej Drupal
, takich jak Internal Page Cache
, Internal Dynamic Page Cache
i BigPipe
. Połącz je z siecią CDN, aby jeszcze bardziej skrócić czas odpowiedzi. Na serwerach hostujących należy używać PHP OPcache. Aby skrócić czas zapytań do bazy danych, rozważ użycie buforowania w pamięci operacyjnej, np. Redis lub Memcached. Aby skrócić czas odpowiedzi serwera, użyj wydajnych motywów, modułów i szybszych serwerów.
Magento
Skorzystaj z integracji Varnish z Magento.
React
Jeśli renderujesz komponenty React po stronie serwera, proponujemy używanie metod renderToNodeStream()
lub renderToStaticNodeStream()
, aby umożliwić klientowi odbieranie i rozwijanie poszczególnych części kodu zamiast całego naraz.
WordPress
Wybierz lekki motyw (najlepiej blokowy) i wdróż buforowanie całej strony lub rozwiązanie dla witryn statycznych. Wyłącz zbędne wtyczki, aby zminimalizować obciążenie serwera.
Rozważ przejście na hosting zarządzany lub dedykowany.