SlideShare a Scribd company logo
1 of 21
Download to read offline
1
Wordpress Security Adventures
Верослав Ценов
Администратор@
WordPress - Не е страшно да кешираш !
2
Какво е кеширане ?
●
В зависимост от контекста, значението
варира
●
Почти винаги е свързно с ускоряване на
регулярно повтарящи се процеси
3
Какви са ползите от кеширането ?
●
Скорост
●
Сървърни ресурси
●
Потребителско изживяване (UX)
●
Продажби
●
Google/Facebook ранкинг (seo)
4
Кеширане в PHP
5
Page Cache
Най-голямо влияние върху :
●
Скоростта на зареждане на сайта
●
Използваните сървърни ресурси
Най-важното при конфигурацията е storage engine-а:
●
Disk based
➔
Disk (basic)
➔
Disk (enhanced)
●
Memory based
6
W3TC
Disk Enhanced режим
7
Плюсове:
☩
Изключително бързо (при бързи дискове или fs cache)
☩
Липсва фазата със стартирането на PHP
☩
Поддържа изключване на Cookie-та
☩
Поддържа отделен кеш за мобилна версия
☩
Поддържа отделен кеш по реферер
Минуси:
✗
Четенето и писането по диска може да е много бавно
✗
Възможни са ограничения на база IO операции
✗
Натоварване на файловата система с голям брой файлове
✗
Не поддържа адреси с query strings
✗
www.site.com/index.php?post_id=55
✗
Бавен/ресурсоемък Purge/Invalidation при много файлове
W3TC - Page Cache
Disk Enhanced режим
8
W3TC
Memcache/Redis режим
9
Плюсове:
☩
Паметта е най-бързият storage
☩
Поддържа адреси с query strings
☩
Работи много по-стабилно и има по-малко странични ефекти
☩
По-добра съвместимост с други плъгини (някои counter-и например)
☩
Може да се прави monitoring (phpMemcachedadmin)
☩
Не се създават файлове и няма дисков достъп
Минуси:
✗
Нужна е поддържка на Memcache/Redis от хостинг доставчика
✗
Стартирането на PHP добавя latency
✗
Възможни са ограничения в размера на паметта, която може да се ползва за
кеширане
W3TC - Page Cache
Memcache/Redis режим
10
W3TC - Page Cache
Сравнителни тестове
(заявки в секунда(RPS))
11
W3TC - Page Cache
Сравнителни тестове
(Време до първия байт (TTFB))
12
W3TC - Page Cache
Сравнителни тестове
(CPU консумация)
13
➢
Front page кеширане
➢
SSL/https кеширане
➢
Изключени страници
➢
Cookies
➢
Мобилна версия на кеша
➢
(W3TC)Performance --> User Agent Groups
Page Cache
Важни настройки
14
➢
Съвместимост с други плъгини
➢
Обработка на Cache-Control/Expires/Vary
➢
Сигурност
➢
Хостинг
➢
Сложност при конфигурация
➢
Много натоварени сайтове
Page Cache
Особености ?
15
Proxy / Web server
кеширане
Защо ?
➔
Решава голяма част от проблемите на application level кеширането
➔
Кеширане на различни видове системи
➔
По-добро поведение при високи натоварвания
➔
Скорост
➔
Ресурси
➢
Поддръжка на хедъри за управление на кеш поведението
➢
Cache-Contro, Expires, Vary
➢
Set-Cookie
➢
Cookie
16
Proxy / Web server
кеширане
Как работи ?
17
Nginx vs Apache
(Сравнителни тестове)
- Голям файл
18
- Малък файл
Nginx vs Apache
(Сравнителни тестове)
19
Proxy cache - особености
Кеширане на специфично за потребителя
съдържание
●
Set-Cookie
●
Cache-Control
●
Expires
Съобразяване на no-cache URI и Cookies
●
wp-admin
●
wp-login.php
Други особености
●
Обработка на Vary (Accept-Encoding)
●
Интеграция с WordPress (чистене на кеша)
20
В заключение ...
➔
Не е страшно да кешираш ... даже е готино !
➔
Сравнителните тестове са задължителни
●
... правете само по една промяна между тестовете ...
➔
Както винаги ... хостингът има значение ! :)
21
Благодаря !

More Related Content

Similar to WordPress - Не е страшно да кешираш !

SEO курс, лекция 11 - От заявка до рендиране
SEO курс, лекция 11 - От заявка до рендиранеSEO курс, лекция 11 - От заявка до рендиране
SEO курс, лекция 11 - От заявка до рендиране
Lily Grozeva
 
63.кеш памет
63.кеш памет63.кеш памет
63.кеш памет
dnaidenowa
 
Php security
Php securityPhp security
Php security
phristov
 
53. понятие за памет
53. понятие за памет53. понятие за памет
53. понятие за памет
dnaidenowa
 
53. понятие за памет
53. понятие за памет53. понятие за памет
53. понятие за памет
dnaidenowa
 
Web and WS based Embedded Systems
Web and WS based Embedded SystemsWeb and WS based Embedded Systems
Web and WS based Embedded Systems
Nikolay Kakanakov
 
Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011
IBS Bulgaria
 
Безопасност и защита при използване на уеб браузъри
Безопасност и защита при използване на уеб браузъриБезопасност и защита при използване на уеб браузъри
Безопасност и защита при използване на уеб браузъри
Sava Zahariev
 

Similar to WordPress - Не е страшно да кешираш ! (20)

SEO курс, лекция 11 - От заявка до рендиране
SEO курс, лекция 11 - От заявка до рендиранеSEO курс, лекция 11 - От заявка до рендиране
SEO курс, лекция 11 - От заявка до рендиране
 
Distributed storage
Distributed storageDistributed storage
Distributed storage
 
63.кеш памет
63.кеш памет63.кеш памет
63.кеш памет
 
63.кеш памет
63.кеш памет63.кеш памет
63.кеш памет
 
Php security
Php securityPhp security
Php security
 
53. понятие за памет
53. понятие за памет53. понятие за памет
53. понятие за памет
 
53. понятие за памет
53. понятие за памет53. понятие за памет
53. понятие за памет
 
Cloud hosting for e-shops
Cloud hosting for e-shopsCloud hosting for e-shops
Cloud hosting for e-shops
 
Web and WS based Embedded Systems
Web and WS based Embedded SystemsWeb and WS based Embedded Systems
Web and WS based Embedded Systems
 
Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011
 
B1 t1 php_basics
B1 t1 php_basicsB1 t1 php_basics
B1 t1 php_basics
 
B1 t1 php_basics
B1 t1 php_basicsB1 t1 php_basics
B1 t1 php_basics
 
Scaling Rails apps - Valentin Mihov
Scaling Rails apps - Valentin Mihov Scaling Rails apps - Valentin Mihov
Scaling Rails apps - Valentin Mihov
 
Безопасност и защита при използване на уеб браузъри
Безопасност и защита при използване на уеб браузъриБезопасност и защита при използване на уеб браузъри
Безопасност и защита при използване на уеб браузъри
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 
Php security
Php securityPhp security
Php security
 
Успешна оптимизация и конверсия за WordPress
Успешна оптимизация и конверсия за WordPressУспешна оптимизация и конверсия за WordPress
Успешна оптимизация и конверсия за WordPress
 
wp-blinky.1
wp-blinky.1wp-blinky.1
wp-blinky.1
 

WordPress - Не е страшно да кешираш !

  • 1. 1 Wordpress Security Adventures Верослав Ценов Администратор@ WordPress - Не е страшно да кешираш !
  • 2. 2 Какво е кеширане ? ● В зависимост от контекста, значението варира ● Почти винаги е свързно с ускоряване на регулярно повтарящи се процеси
  • 3. 3 Какви са ползите от кеширането ? ● Скорост ● Сървърни ресурси ● Потребителско изживяване (UX) ● Продажби ● Google/Facebook ранкинг (seo)
  • 5. 5 Page Cache Най-голямо влияние върху : ● Скоростта на зареждане на сайта ● Използваните сървърни ресурси Най-важното при конфигурацията е storage engine-а: ● Disk based ➔ Disk (basic) ➔ Disk (enhanced) ● Memory based
  • 7. 7 Плюсове: ☩ Изключително бързо (при бързи дискове или fs cache) ☩ Липсва фазата със стартирането на PHP ☩ Поддържа изключване на Cookie-та ☩ Поддържа отделен кеш за мобилна версия ☩ Поддържа отделен кеш по реферер Минуси: ✗ Четенето и писането по диска може да е много бавно ✗ Възможни са ограничения на база IO операции ✗ Натоварване на файловата система с голям брой файлове ✗ Не поддържа адреси с query strings ✗ www.site.com/index.php?post_id=55 ✗ Бавен/ресурсоемък Purge/Invalidation при много файлове W3TC - Page Cache Disk Enhanced режим
  • 9. 9 Плюсове: ☩ Паметта е най-бързият storage ☩ Поддържа адреси с query strings ☩ Работи много по-стабилно и има по-малко странични ефекти ☩ По-добра съвместимост с други плъгини (някои counter-и например) ☩ Може да се прави monitoring (phpMemcachedadmin) ☩ Не се създават файлове и няма дисков достъп Минуси: ✗ Нужна е поддържка на Memcache/Redis от хостинг доставчика ✗ Стартирането на PHP добавя latency ✗ Възможни са ограничения в размера на паметта, която може да се ползва за кеширане W3TC - Page Cache Memcache/Redis режим
  • 10. 10 W3TC - Page Cache Сравнителни тестове (заявки в секунда(RPS))
  • 11. 11 W3TC - Page Cache Сравнителни тестове (Време до първия байт (TTFB))
  • 12. 12 W3TC - Page Cache Сравнителни тестове (CPU консумация)
  • 13. 13 ➢ Front page кеширане ➢ SSL/https кеширане ➢ Изключени страници ➢ Cookies ➢ Мобилна версия на кеша ➢ (W3TC)Performance --> User Agent Groups Page Cache Важни настройки
  • 14. 14 ➢ Съвместимост с други плъгини ➢ Обработка на Cache-Control/Expires/Vary ➢ Сигурност ➢ Хостинг ➢ Сложност при конфигурация ➢ Много натоварени сайтове Page Cache Особености ?
  • 15. 15 Proxy / Web server кеширане Защо ? ➔ Решава голяма част от проблемите на application level кеширането ➔ Кеширане на различни видове системи ➔ По-добро поведение при високи натоварвания ➔ Скорост ➔ Ресурси ➢ Поддръжка на хедъри за управление на кеш поведението ➢ Cache-Contro, Expires, Vary ➢ Set-Cookie ➢ Cookie
  • 16. 16 Proxy / Web server кеширане Как работи ?
  • 17. 17 Nginx vs Apache (Сравнителни тестове) - Голям файл
  • 18. 18 - Малък файл Nginx vs Apache (Сравнителни тестове)
  • 19. 19 Proxy cache - особености Кеширане на специфично за потребителя съдържание ● Set-Cookie ● Cache-Control ● Expires Съобразяване на no-cache URI и Cookies ● wp-admin ● wp-login.php Други особености ● Обработка на Vary (Accept-Encoding) ● Интеграция с WordPress (чистене на кеша)
  • 20. 20 В заключение ... ➔ Не е страшно да кешираш ... даже е готино ! ➔ Сравнителните тестове са задължителни ● ... правете само по една промяна между тестовете ... ➔ Както винаги ... хостингът има значение ! :)