Sekcja Możliwości w raporcie Lighthouse zawiera czas reakcji serwera, czyli czas, który musi upłynąć, zanim przeglądarka użytkownika pobierze pierwszy bajt treści strony po wysłaniu żądania:
![Zrzut ekranu pokazujący czas reakcji serwera Lighthouse](https://developer.chrome.google.cn/static/docs/lighthouse/performance/server-response-time/image/a-screenshot-the-lightho-dee8ff91ad494.png?authuser=6&hl=pl)
Długi czas odpowiedzi serwera wpływa na wydajność
Ten audyt kończy się niepowodzeniem, gdy przeglądarka czeka ponad 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 stron.
Gdy użytkownik przechodzi do danego adresu URL w przeglądarce, wysyła żądanie sieciowe, aby pobrać daną treść. Serwer odbiera żądanie i zwraca treść strony.
Serwer musi wykonać sporo pracy, aby zwrócić stronę z pełną treścią, której potrzebuje użytkownik. Jeśli na przykład użytkownicy sprawdzają historię zamówień, serwer musi pobrać z bazy danych historię każdego użytkownika, a następnie wstawić tę treść na stronie. Optymalizacja serwera pod kątem jak najszybszego działania to jeden ze sposobów na skrócenie czasu oczekiwania na wczytanie stron przez użytkowników.
Nawet jeśli serwer nie musi wykonywać dużej pracy, opóźnienia sieciowe między klientem a serwerem mogą spowodować wolne czasy reakcji serwera.
Jak poprawić czas odpowiedzi serwera
Pierwszym krokiem do skrócenia czasu reakcji serwera jest określenie podstawowych zadań, które musi wykonać serwer, aby zwrócić zawartość strony, a następnie zmierzenie czasu potrzebnego na wykonanie każdego z nich. Po zidentyfikowaniu najdłuższych zadań poszukaj sposobów na przyspieszenie ich wykonania.
Istnieje wiele możliwych przyczyn powolnych odpowiedzi serwera i dlatego istnieje wiele sposobów poprawy wyników:
- Zoptymalizuj logikę aplikacji serwera, aby szybciej przygotować strony. Jeśli korzystasz z platformy serwera, może ona zawierać zalecenia dotyczące tego, jak to zrobić.
- Zoptymalizuj sposób, w jaki serwer wysyła zapytania do baz danych lub przejdź na szybsze systemy baz danych.
- Uaktualnij sprzęt serwera, aby mieć więcej pamięci lub procesora.
Używanie CDN do zmniejszenia opóźnień sieciowych. Jest to szczególnie skuteczne, jeśli dokument można zapisać w pamięci podręcznej w węźle brzegowym CDN.
Więcej informacji znajdziesz w przewodniku Optimize TTFB.
Wskazówki dotyczące stosu
Drupal
Motywy, moduły i specyfikacje serwera mają wpływ na czas reakcji serwera. Być może warto znaleźć lepiej zoptymalizowany motyw, starannie wybrać moduł optymalizacji lub przejść na nowszą wersję serwera. Twoje serwery hostingowe powinny korzystać z buforowania kodu operacji PHP oraz systemów buforowania pamięci takich jak memcached lub Redis, aby skrócić czas zapytań do bazy danych, a także zoptymalizować logikę aplikacji w celu szybszego przygotowywania stron.
Magento
Skorzystaj z integracji z Varnish z Magento.
Dodaj reakcję
Jeśli renderujesz komponenty React po stronie serwera, rozważ użycie komponentów renderToNodeStream()
lub renderToStaticNodeStream()
, aby klient mógł odbierać i nawadniać różne części znaczników zamiast wszystkich naraz.
WordPress
Wybierz prostszy motyw (najlepiej motyw blokowy) i zaimplementuj buforowanie całej strony lub rozwiązanie statyczne. Wyłącz niepotrzebne wtyczki, aby zminimalizować obciążenie serwera.
Rozważ przejście na usługę zarządzaną lub dedykowaną.