WordPress + Varnish [bardzo krótki opis]

Tym razem dość pobieżny opis wpięcia bloga (z całą masą wtyczek) pod Varnisha robiącego za cache dla niezalogowanych użytkowników.

Rzeczy do uwzględnienia

Pierwsza i najważniejsza rzecz, to uwzględnienie zalogowania się użytkowników w serwisie. Raczej nikt nie będzie zadowolony, jeśli będzie widzieć treść bez dodanego przed chwilą komentarza. Dlatego też w Varnishu należy dodać regułkę sprawdzającą ciasteczka i od razu zrobić return(pass) na wszystko co jest wywoływane. Kolejna rzecz, to strony logowania i rejestracji, które także wymagają „wypięcia” z cache. Jeśli używacie jakiś wtyczek pokazujących captcha, to odwołanie do obrazka z kodem także musi iść poza cache. Cała reszta według uznania, z dobranym czasem życia. Oczywiście css, js, jpg, png itp. lecą do return(lookup) bez zbędnego gadania.

Spodziewane efekty

Jeśli wszystko jest ustawione tak jak trzeba, to obciążenie serwera powinno spaść dość znacznie. Jeśli coś jest nie tak, to przy pomocy varnishtop oraz kilku dodatkowych narzędzi należy określić co i dlaczego jest wywoływane, a następnie dodać regułki do konfiguracji Varnisha. Jeśli varnishstat pokazuje dużą kolejkę, to należy dorzucić wątków (ale tak z wyczuciem, żeby nie przesadzić). Na testowym środowisku obciążenie utrzymuje się na poziomie 9%. Bez tego WordPress wyciągał z serwera ponad 40%, więc różnica jest widoczna gołym okiem.

Uwagi końcowe

Wpis jest dość krótki i bez szczegółów dotyczących plików konfiguracyjnych, ponieważ jeszcze testuję środowisko i staram się dobrać odpowiednie parametry. Przy okazji przyglądam się opcji wpięcia pagespeeda, ale jak na razie nie wygląda to zbyt różowo. Dobrze by było odpalić także ten moduł, ale jak na razie są z nim same problemy, więc chwilowo jest wyłączony. Niestety jak na razie generuje spore obciążenie i powoduje znikanie elementów osadzonych w plikach html znajdujących się w cache Varnisha. Jeśli uda mi się coś z tym zrobić, to na blogu pojawi się nowy wpis poświęcony temu zagadnieniu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*