W3 Total Cache. Skuteczne przyśpieszanie WordPressa. Bartosz Romanowski

Podobne dokumenty
FEO w Joomla!, czyli jak przyspieszyć swoją stronę

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Wybrane działy Informatyki Stosowanej

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Web Performance Optimisation - szybsze strony internetowe

instrukcja INSTALACJI APi_proxy

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Kompresja stron internetowych

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

Need for speed. Kliknij, aby edytować style wzorca tekstu jak sobie radzić z dużą ilością użytkowników i danych

Spis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

WIELOWARSTWOWY CACHE. Na przykładzie serwisu GOG.com. Maciej Włodarkiewicz

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Instrukcja instalacji PHP-Hypercachera Refresher Standard oraz PHP-Hypercachera Refresher GZIP na Twojej witrynie

Internetowe bazy danych

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Skalowalne aplikacje internetowe wysokiej dostępności

PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP

Trojan bankowy Emotet w wersji DGA

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Szczegółowy opis zamówienia:

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

WPROWADZENIE. Użycie PHP

Szczegóły związane z wymaganiami odnośnie SLA znajdują się w dokumentacji funkcjonalnej znajdującej się w załączniku nr 10 do SIWZ.

ibok Internetowe Biuro Obsługi Klienta


HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Wyciąg z ogólnej analizy ataków na witryny administracji państwowej RP w okresie stycznia 2012r.

Smarty PHP. Leksykon kieszonkowy

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Agenda. Wstęp Zmiany Co nowego dla web developerów? Nowości we front-end developingu Czego spodziewać się może końcowy użytkownik?

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Oracle Application Express -

I.Wojnicki, Tech.Inter.

ECDL/ICDL Web Editing Moduł S6 Sylabus - wersja 2.0

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Dobre praktyki przy wdrażaniu stron na gotowych motywach. Magdalena Paciorek

Pomoc dla systemu WordPress

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

KARTA KURSU. Administracja serwerami WWW

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

ROZSZERZANIE MOŻLIWOŚCI...

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Program szkolenia: Symfony, nowoczesny framework PHP

Instrukcja korzystania z modułu Onet Export (wtyczka oscommerce) (wersja )

Program szkolenia: REST i Microservices w PHP

Przewodnik użytkownika (instrukcja) AutoMagicTest

Tomasz Boiński: 1. Pozycjonowanie stron i zastosowanie mod_rewrite

I.Wojnicki, JiTW. Języki i Technologie Webowe. Protokół HTTP, Przegladarki. Igor Wojnicki

Programowanie w Internecie

Należy ściągnąć oprogramowanie Apache na platformę

Przedmowa...9. Wprowadzenie...11

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Skrócony podręcznik dla partnerów

Podstawy technologii WWW

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Wykaz zmian w programie Win Admin Replikator

Wprowadzenie. 1. Terminal WebRTC. LABORATORIUM 5: WebRTC komunikacja między terminalami.

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Języki i narzędzia programowania III. Łukasz Kamiński Wykład I

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Programowanie w Ruby

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Niezbędne narzędzia. Przed rozpoczęciem pracy z PHP należy zainstalować odpowiednie narzędzia: środowisko PHP serwer WWW serwer baz danych MySQL

Tomasz Grześ. Systemy zarządzania treścią, cz. II

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń:

Tworzenie aplikacji bazodanowych

Przewodnik użytkownika (instrukcja) AutoMagicTest

Ćw. I. Środowisko sieciowe, połączenie internetowe, opcje internetowe

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kroki dwa. do najlepszych pozycji w Google

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Reguły plików cookies witryny i usług internetowych tsop.pl

CMS- kontakty (mapa)

SZKOŁA RST ŁUKASZ WRÓBEL

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Wprowadzenie do programowania www

Instrukcjaaktualizacji

Wymagania edukacyjne: Statyczne witryny internetowe (na podstawie programu nr )

Transkrypt:

W3 Total Cache Skuteczne przyśpieszanie WordPressa Bartosz Romanowski http://wpzen.pl WordCamp Wrocław, 28-29 września 2013

Co robi W3 Total Cache? cache całych stron (Page Cache) cache obiektów (Object Cache) cache wyników zapytań (Database Cache) obsługa cache po stronie przeglądarki (Browser Cache) obsługa serwerów CDN minifikacja kodu (HTML, CSS, JS) złączanie plików JS i CSS (zmniejszenie ilości żądań wysyłanych do serwera) Varnish

Co daje W3 Total Cache? skrócenie czasu odpowiedzi serwera skrócenie czasu ładowania strony zmniejszenie obciążenia serwera zmniejszenie objętości strony zmniejszenie ilości żądań wysyłanych do serwera wykorzystanie serwerów CDN do serwowania statycznych elementów (obrazki, pliki JS i CSS)

Kto powinien tego używać? Każdy.

Kiedy nie warto go używać? w trakcie budowy strony

Instalacja Katalogi: wp-content/cache wp-content/w3tc-config Pliki: wp-content/advanced-cache.php wp-content/db.php wp-content/object-cache.php Wtyczka modyfikuje pliki.htaccess i wp-config.php

Wymagania Moduły Apache: mod_deflate mod_env mod_expires mod_headers Moduły PHP: zlib curl APC Memcache mod_mime mod_rewrite mod_setenvif

Tryb podglądu Tryb podglądu (preview mode) pozwala na testowanie zmian ustawień wtyczki w sposób niewidoczny dla użytkowników

Debugowanie Tryb debugowania dodaje do kodu źródłowego strony szczegółowe informacje o działaniu W3 Total Cache. Można go włączyć dla wybranych modułów.

Metody cache Disk Disk: Enhanced Opcode cache (APC, eaccelerator, XCache, WinCache) Memcached

Metody cache

Disk Metoda 'Disk' zapisuje na dysku serwera pliki PHP zawierające zserializowane dane. JKAR<?php exit;?> a:1:{s:7:"content";a:3:{i:78;o:8:"stdclass":10:{s: 7:"term_id";s:2:"78";s:4:"name";s:2:"76";s:4:"slug";s:2:"76";s: 10:"term_group";s:1:"0";s:16:"term_taxonomy_id";s:2:"82";s:8:"taxonomy";s: 8:"post_tag";s:11:"description";s:0:"";s:6:"parent";s:1:"0";s:5:"count";s: 1:"1";s:9:"object_id";s:2:"69";}i:80;O:8:"stdClass":10:{s:7:"term_id";s: 2:"80";s:4:"name";s:2:"77";s:4:"slug";s:2:"77";s:10:"term_group";s:1:"0";s: 16:"term_taxonomy_id";s:2:"84";s:8:"taxonomy";s:8:"post_tag";s: 11:"description";s:0:"";s:6:"parent";s:1:"0";s:5:"count";s:1:"1";s: 9:"object_id";s:2:"69";}i:79;O:8:"stdClass":10:{s:7:"term_id";s:2:"79";s: 4:"name";s:2:"78";s:4:"slug";s:2:"78";s:10:"term_group";s:1:"0";s: 16:"term_taxonomy_id";s:2:"83";s:8:"taxonomy";s:8:"post_tag";s: 11:"description";s:0:"";s:6:"parent";s:1:"0";s:5:"count";s:1:"1";s: 9:"object_id";s:2:"69";}}}

Disk: Enhanced Metoda 'Disk: Enhanced' zapisuje na dysku statyczne pliki HTML. Metoda polecana dla Page Cache.

Opcode Cache APC, eaccelerator, XCache, WinCache Metoda ta zapewnia wyższy wzrost wydajności, ale nie działa na większości serwerów wirtualnych i wymaga instalacji dodatkowego modułu PHP.

Memcached Metoda 'Memcached' oferuje równie wysoki wzrost wydajności co Opcode Cache, ale wymaga instalacji modułu PHP i serwera Memcached.

Page Cache Co ma trafić do cache?

Page Cache Komu serwować oryginalne strony

Page Cache Cache Preload

Page Cache Reguły usuwania stron z cache

Page Cache Zaawansowane reguły cache Accepted query strings Rejected user agents Rejected cookies Never cache the following pages Cache exception list Non-trailing slash pages

Object Cache Cache obiektów korzystających z Object Cache API

Object Cache Grupy obiektów Pozwalają na zachowanie unikalności kluczy wp_cache_set('klucz', $dane, 'grupa'); wp_cache_get('klucz', 'grupa');

Object Cache Grupy obiektów

Database Cache Cache wyników zapytań do bazy danych Zalecany gdy nie ma możliwości użycia Object Cache

Database Cache Wykluczanie wybranych zapytań Ignored query stems Reject query words

Object i Database Cache Kiedy i dlaczego nie warto korzystać z Object Cache i Database Cache

Czas życia cache Czas, po którym obiekt w cache uważa się za nieaktualny (przeznaczony do usunięcia) Ma wpływ na wielkość cache (im dłuższy tym większy rozmiar cache)

Garbage collector Usuwa nieaktualne obiekty z cache Częstotliwość jego działania ma wpływ na wielkość cache (im dłuższy interwał tym większy rozmiar cache)

Browser Cache Zarządzanie nagłówkami HTTP kontrolującymi działanie cache po stronie przeglądarki Ustawienia podzielone na grupy: globalne dla plików CSS i JS dla plików HTML i XML dla pozostałych plików (w tym multimedialnych)

Browser Cache - nagłówki Last-modified Data i czas ostatniej modyfikacji pliku na serwerze Last-Modified: Sat, 21 Sep 2013 06:42:51 GMT Expires Data i czas wygaśnięcia pliku Expires: Thu, 25 Sep 2014 09:05:03 GMT

Browser Cache - nagłówki Cache Control public - cache po stronie przeglądarki i proxy private - cache tylko po stronie przeglądarki max-age - czas życia obiektu w cache must-revalidate - przeglądarka zawsze musi sprawdzić czy element nie zmienił się na serwerze proxy-revalidate - jak wyżej, tylko dla serwerów proxy no-cache - element nie będzie cache'owany

Browser Cache - nagłówki ETag Znacznik tworzony na podstawie rozmiaru, czasu modyfikacji i sumy kontrolnej pliku ETag: "4674-4e6cbd0b5e162" Nagłówek W3 Total Cache X-Powered-By: W3 Total Cache/0.9.3

Browser Cache - kompresja Kompresja HTTP (gzip) pozwala na znaczące zmniejszenie ilości danych wysyłanych przez serwer. Nie ma sensu włączać jej dla plików multimedialnych (obrazy, dźwięk, filmy) i archiwów (ZIP, RAR).

Minifikacja usuwanie znaków końca wiersza i komentarzy z plików JS i CSS, kodu HTML strony i kanałów RSS scalanie plików JS i CSS osadzanie skryptów JS w sposób nie blokujący renderowania strony zmiana umiejscowienia skryptów JS w kodzie witryny

Minifikacja - HTML i XML

Minifikacja - CSS

Minifikacja - JavaScript Metoda automatyczna

Minifikacja - JavaScript Metoda ręczna

Minifikacja - JavaScript Metoda ręczna

Minifikacja Blokowanie renderowania strony przez skrypty JavaScript strona jest pobierana i renderowana skrypt JS jest pobierany i wykonywany; renderowanie strony jest wstrzymywane rendering strony jest wznawiany

Minifikacja Metody osadzania skryptów JavaScript bez blokowania renderowania strony skrypt JS async defer biblioteka extsrc.js (extsrc i asyncsrc)

Jak działa sieć CDN?

Korzyści z używania CDN ładowanie statycznych plików z różnych lokalizacji ładowanie statycznych plików z różnych domen wydajna i stabilna infrastruktura dodatkowe funkcje (minifikacja plików JS i CSS, optymalizacja obrazów, filtrowanie ruchu)

Obsługiwane sieci CDN Origin Pull / Mirror: Akamai Amazon CloudFront MediaTemple ProCDN Edgecast NetDNA MaxCDN Generic Mirror Origin Push: Amazon CloudFront Amazon S3 Microsoft Azure Storage RackSpace Cloud Files własny (FTP)

Konfiguracja CDN

Konfiguracja CDN

Wyłączanie funkcji wtyczki define('donotcachepage', true); define('donotcachedb', true); define('donotminify', true); define('donotcdn', true); define('donotcacheobject', true);

Wyłączanie funkcji wtyczki add_action('wp_head', 'no_cache'); function no_cache() { global $post; if($post->id == 5) { define('donotcachepage', true); } }

W3 Total Cache Dziękuję za uwagę http://wpzen.pl