W okresie dużego ruchu twój serwer powinien być w stanie obsłużyć wszystkie żądania złożone przez odwiedzających twoją stronę. Istnieją jednak pewne ograniczenia w jednoczesnych połączeniach obsługiwanych przez serwer. Dlatego najlepiej jest obsługiwać żądania strony tak szybko, jak to możliwe.
Oto kilka sugestii do rozważenia w takich sytuacjach,
Ulepszenia na poziomie aplikacji:
1. Minimalizuj żądania HTTP, aby przyspieszyć ładowanie strony.
a) Połącz wszystkie pliki JS razem w jeden połączony plik JS, a wszystkie pliki CSS w jeden połączony plik CSS.
b) Zminimalizuj pliki JS i CSS, dzięki czemu rozmiar pliku zostanie zmniejszony i zostanie pobrany szybciej.
c) Użyj duszka CSS - Kiedy połączysz większość lub wszystkie swoje obrazy w duszka, zamieniasz wiele żądań obrazów w jeden. Następnie wystarczy użyć właściwości CSS tła-obrazu, aby wyświetlić potrzebną sekcję obrazu.
d) Opóźnij pobieranie obrazu za pomocą leniwego ładowania, pomoże to zmniejszyć liczbę żądań HTTP.
2. Przygotuj lekkie strony, które oczekują więcej wizyt:
a) W miarę możliwości wykluczaj elementy dekoracyjne, takie jak obrazy lub Flash; używaj tekstu zamiast obrazów w nawigacji strony i chrome, a większość treści umieść w HTML.
b) Używaj statycznych stron HTML zamiast dynamicznych; to ostatnie powoduje większe obciążenie serwerów. Możesz także buforować statyczne dane wyjściowe stron dynamicznych, aby zmniejszyć obciążenie serwera.
Ulepszenia na poziomie serwera:
1. Zmniejsz wartości limitu czasu serwera , konsultując się z dostawcą hostingu (nie powinno to być zbyt niskie).
Gdy limity czasu będą krótsze, połączenie zostanie wkrótce uwolnione, więc serwer będzie w stanie obsłużyć więcej połączeń.
2. Korzystaj z usług stron trzecich, takich jak CloudFlare, do statycznego buforowania danych oraz do ochrony witryny przed złośliwymi użytkownikami i atakami, takimi jak DDOS.
3. Zaktualizuj sprzęt serwera - zaktualizuj pamięci fizyczne i wirtualne, zwiększ limity procesów we / wy i wejścia, jeśli to konieczne. Twój dostawca hostingu będzie w stanie Ci pomóc.
4. Buforuj kod dynamiczny - użyj APC do buforowania kodu operacyjnego PHP.
5. Równoważenie obciążenia - Rozłóż obciążenie na wiele serwerów równoważenia obciążenia.
Po podjęciu wszystkich wymaganych działań nadszedł czas, aby sprawdzić, czy witryna jest gotowa na ogromny skok ruchu.
Istnieją usługi stron trzecich, takie jak loadimpact.com, które zapewniają testy obciążenia przy symulowanym ruchu. Analiza pomoże ci zrozumieć, ile obciążenia może wytrzymać Twoja witryna i co można poprawić.
Ponadto w okresie wzrostu natężenia ruchu unikaj operacji intensywnego użycia procesora, takich jak cronjobs tworzenia kopii zapasowych witryn itp.