Niedawno uruchomiłem dość dużą witrynę i chciałbym włączyć wtyczkę buforującą. Konfiguracja jest pojedyncza, z kilkoma domieszkowanymi funkcjami Buddypress (do rejestracji użytkownika, map z gpress, posiadaniem profilu) działającymi na wspólnym hoście.
Moje pytania to:
1. Którą wtyczkę uważasz za najlepszą do buforowania, biorąc pod uwagę tę konfigurację i dlaczego (jeśli to możliwe)?
2. Jakie są najlepsze praktyki i kroki, które należy podjąć / rozważyć podczas konfiguracji, aby upewnić się, że wszystko działa?
3. Czy transients
te, które sam dodałem, mogą być nadal używane, czy powinienem je usunąć i zostawić wtyczkę? czy zderzą się, jeśli nie zostaną usunięte?
Dzięki!
DODATEK: Plan „Power” na stronie http://www.inmotionhosting.com/hostingplans.html
źródło
Odpowiedzi:
W udostępnianych planach hostingowych opcje buforowania są ograniczone.
Będziesz mógł jedynie statycznie buforować dane wyjściowe HTML ze swoich stron. Jest to najszybszy sposób wyświetlania stron, ale tracisz dynamiczne aspekty WordPress, takie jak dodawanie komentarzy i wyświetlanie najnowszych komentarzy do postów.
Dostępne są opcje buforowania dysku dla obiektów i bazy danych, ale jeśli twój host nie uruchomi szybkich dysków, nie uzyskasz z tego dużego zysku, a to może również spowodować spadek wydajności.
Wszystkie wtyczki pamięci podręcznej mają opcję, aby nie wyświetlać stron w pamięci podręcznej zalogowanym użytkownikom ani użytkownikom z plikiem cookie z komentarzem.
Zalogowani użytkownicy + znani użytkownicy = brak pamięci podręcznej
Nieznani użytkownicy otrzymują stronę z pamięci podręcznej.
Przejściowe
Stany przejściowe to małe fragmenty danych, które mają wygasnąć w pewnym momencie. WordPress przechowuje transjenty jako pamięć podręczną w bazie danych. Gdybyś miał opcję użycia Memcache WordPress zachowałby dane przejściowe w pamięci. Stany przejściowe są dobre, ponieważ zmniejszają liczbę wyszukiwań w bazie danych. Są również przydatne w sieciach społecznościowych, takich jak wyświetlanie najnowszych tweetów. Zapobiega to nawiązywaniu połączenia z interfejsem twitter przy każdym ładowaniu strony.
Wtyczką, która wykorzystuje najlepsze praktyki witryn o wysokiej wydajności jest W3 Total Cache.
W3 Total Cache robi więcej niż tylko pamięć podręczną
W3 Total wykonuje:
W udostępnianym zestawie hostingu należy włączyć pamięć podręczną strony, minify, pamięć podręczną przeglądarki i opcję CDN hostowaną przez siebie.
Ustawienia pamięci podręcznej strony
Sprawdź wszystkie opcje pamięci podręcznej strony
Wstępne ładowanie pamięci podręcznej
Włącz to i ustaw interwał aktualizacji na tyle, ile jest odpowiednie dla Twojej witryny. Spowoduje to przebudowanie pamięci podręcznej strony w danym okresie.
Ustawienia minimalizacji
Wybierz Przepisz strukturę adresu URL, a jeśli zamierzasz korzystać z CDN, sprawdź automatyczne przesyłanie, aby nowo zminimalizowane pliki zostały automatycznie przesłane do CDN.
Zmniejsz HTML
Włącz i zaznacz opcję usuwania podziałów linii, wstawiania js i minimalizacji css. Jeśli korzystasz z AdSense lub innej usługi, która korzysta z komentarzy, wpisz je tutaj, aby uniknąć ich zminimalizowania.
Ustawienia CSS i JS Minify
W zarządzaniu plikami wybierz motyw i dodaj pliki css, które chcesz połączyć i zminimalizować. Istnieje również kreator pomocy, który przeszuka wszystkie szablony i doda sugerowane pliki.
Korzystanie z Kreatora pomocy
W3 Total zawiera narzędzie, które przegląda szablony motywów i znajduje używane pliki JavaScript i CSS oraz zapewnia zalecane ustawienia. Najpierw wypróbuj te ustawienia i napotkane problemy wróć i zmodyfikuj w razie potrzeby. Wszystkie pliki zaznaczone na czerwono to pliki, które już zostały uwzględnione w celu ich zminimalizowania.
Ta sama sekcja opcji jest dostępna dla plików js i masz możliwość umieszczania plików po
<head>
, po<body>
i przed</body>
. Najlepiej jest umieścić jak najwięcej wcześniej<body>
. Jeśli jakieś wtyczki dodadzą wbudowane pliki js, nie będziesz mógł ich używać</body>
do jquery ani wtyczek, ponieważ będą musiały zostać załadowane przed<script>
tagami wbudowanymi . Możesz dołączyć dowolne kombinacje plików w każdej lokalizacji i dla każdego szablonu. Na przykład możesz ustawić opcję comment-reply.js tak, aby ładowała się tylko na single.phpUstawienia pamięci podręcznej przeglądarki
To jest najważniejsze, aby się dobrze. Jeśli odpowiednio buforujesz zawartość statyczną w przeglądarkach użytkowników, możesz drastycznie skrócić czas ładowania strony. „nie przetwarzaj błędów 404 dla obiektów statycznych” ustawienia pamięci podręcznej przeglądarki to duża wygrana dla hostingu współdzielonego, ponieważ wywoływanie PHP i zwracanie 404 stron do botów itp. to duże obciążenie zasobów, a ta funkcja zapobiega
Generał
Sprawdź wszystko
Pliki CSS i JS
Sprawdź wszystko i ustaw okres ważności nagłówka w dalekiej przyszłości. 31536000 sekund to 1 rok i to, co zaleca yslow. Jeśli wprowadzasz zmiany w css lub javascript, musisz zmienić nazwy plików, aby uniemożliwić użytkownikom używanie starej wersji. Jeśli korzystasz z minify, nie musisz się martwić o udostępnianie nieaktualnych treści, ponieważ za każdym razem, gdy pamięć podręczna minify jest odbudowywana, generowana jest nowa nazwa pliku.
Ustaw swoją zasadę kontroli pamięci podręcznej na buforowanie z maksymalnym wiekiem
Istnieją jeszcze dwie sekcje ustawień pamięci podręcznej przeglądarki. HTMl i obrazy. W przypadku obrazów użyj tych samych ustawień, co CSS i JS. Jeśli chcesz, możesz wydłużyć czas ważności obrazów.
HTML nie ustawia wygasania, chyba że witryna jest głównie statyczna. Możesz użyć krótkich żywotów, jeśli chcesz (180 sekund), ale nie poszedłbym wyżej. Włącz gzip i możesz sprawdzić ustawione nagłówki W3, dzięki czemu możesz sprawdzić nagłówki odpowiedzi, aby upewnić się, że działają.
Ustawienia CDN
W3 Total ma wbudowane wsparcie dla popularnych CDN-ów typu pull i origin push oraz solidną opcję hostingu, która wymaga skonfigurowania subdomen i nazw.
Własny hosting CDN pozwoli ci skorzystać z potoku. Przeglądarka może pobrać tylko kilka plików jednocześnie, w niektórych przypadkach tylko 4. Potokowanie to technika, w której aliasy (na przykład poddomeny) serwera są używane, aby umożliwić przeglądarce zwiększenie praktycznego limitu plików, które można pobierać równolegle. Takie działanie maksymalizuje przepustowość połączenia internetowego i pozwala przeglądarce na szybsze renderowanie strony. W3TC dba o przejrzyste zarządzanie tymi plikami, gdy DNS CNAME (aliasy) i poddomeny są odpowiednio skonfigurowane.
Zaznacz wszystkie opcje, a następnie kliknij przyciski przesyłania, aby przesłać całą zawartość do CDN. W przypadku korzystania z hostingu własnego istnieje inna strona ustawień, w której można umieścić informacje o ftp. W przypadku CDN pochodzenia push jest on skonfigurowany na podstawie tego, jakiego dostawcy używasz. Aby pobrać pochodzenie, nie przesyłasz żadnych plików, a jedynie ustawiasz swoją nazwę na adres URL podany przez dostawcę. Uwaga: Nie wybieraj wymuszenia wymuszenia, chyba że nowe pliki nie działają. Wymuszenie wymuszania spowoduje ciągłe przesyłanie plików do cdn, nawet jeśli już istnieją, a to marnuje przepustowość i zasoby.
Testowanie
Zawsze powinieneś przetestować swoje wyniki i odpowiednio dostosować ustawienia. Lubię korzystać z WebPageTest.org . Aby porównać moje wyniki i zidentyfikować potencjalne problemy.
Jak możesz zwiększyć swoją wydajność za pomocą W3 Total Cache na WordPress z udostępnianym hostingiem?
Są to wyniki przed i po blogu WordPress, do którego dodaliśmy W3 Total.
Przed:
Po
Mam nadzieję, że to pomoże.
źródło
Użyj .htaccess do buforowania rzeczy takich jak CSS, obrazy i javascript po stronie klienta. Najszybsze pobieranie to takie, które nigdy nie musiało się zdarzyć.
Opublikowałem zbiór linków i artykułów na ten temat: http://icanhazdot.net/2010/03/23/speeding-up-self-hosted-wordpress/
źródło
Nie używaj W3 Total Cache, to spowolni i uszkodzi twoje strony. Sugeruję lepsze użycie Super Cache i Page Speed Ninja. Lub LiteSpeed Cache do buforowania obiektów i optymalizacji css i js, Cache Enabler do tworzenia statycznych plików HTML. Ponieważ statespache nie będzie tworzone przez litespeed, ponieważ musi mieć moduł lscache na serwerze http i jest obsługiwany tylko przez serwer litespeed lub openlitespeed http.
źródło