Mike Peters na swoim blogu stara się odpowiedzieć na pytanie, co zrobić aby przyśpieszyć serwis dziesięciokrotnie.
Wpis zaczyna się od wyliczenia typowych wąskich gardeł:
- bazodanowane operacje zapisu
- bazodanowane operacje odczytu
- skrypty wykonywane po stronie serwera
- skrypty po stronie klienta (JS)
- duża ilość (często ciężkich) plików statycznych (js, obrazki, css) dociąganych
- wolne połączenia keep alive, blokujące dostępne sockety
Jak przyśpieszyć więc? Przykładowe rozwiązania (całość dostępna w źródle dokumentu).
- zmiejszyć liczbę zapytań (nie więcej niż dwa na stronę)
- wdrożyć memcached
- używać Firebuga i YSlow (pisałem o nim kilka dni temu - przyp. bluszcz)
- zredukować liczbę dociąganych plików statycznych
- odnośniki do css powinny być na szczycie strony, java scripty na dole
- wszystkie skrypty php przekompilować używając eAccelrator, jeśli używamy wordpressa użyć WP-Cache
- skonfigurować apache tak, aby dodawał nagłówki Expire oraz ETag
- rozważyć migrację serwera http na lighttpd lub nginx
- włączyć gzip
Moje uwagi:
- zdecydowanie wybrać nginx (stabilniejszy, prostsza konfiguracja)
- nie dodawać ETagów (powodują problemy)
- nagłówki Expire można ustawić na co najmniej rok (jeśli się zmienią - zmieniamy adres plku css i serwujemy z innego adresu)
- wszystki obrazki dostępne dla css umieszczamy w jednym pliku i tniemy cssami
Źródło: Make Your Site Run 10 Times Faster.
Ostatnie odpowiedzi
1 rok 34 tygodnie temu
2 lata 24 tygodnie temu
2 lata 27 tygodni temu
2 lata 27 tygodni temu
2 lata 28 tygodni temu