ݺߣ

ݺߣShare a Scribd company logo
Ускоряем WordPressКеширование, CDN, Varnish Cache 
Igor Sazonov(@tigusigalpa) 
WordpressMeetupSaint-Petersburg #4, 29.11.2014
Зачем нужно ускорять сайт? 
Для пользователей: долгая загрузка сайта снижает лояльность посетителей и не раздражает их 
Готовность сайта к большому трафику 
SEO: поисковики учитывают скорость загрузки сайта, это один из важнейших факторов влияния на ранжирование сайта среди других! 
Экономия денег: если Вы используете обычный shared-хостинг, а нагрузка увеличивается, то Вас могут попросить перейти на более дорогой тариф или выделенный сервер, что значительно дороже.
Нужно ли WordPress ускорение? 
Обычная установка «голого» WordPress:
Способы ускорения сайтов и WP 
Кеширование 
Использование CDNдля подгрузкина сайт открытых(open source) библиотек или своих файлов 
Сжатие HTML и CSS-файлов, объединениебеграундовв “sprite” 
Увеличение ресурсов сервера (процессор, оперативная память). Смена хостинга 
Оптимальная настройка сервера (Nginx, MySQL, Apache) 
Увеличение количества серверов с помощью балансировщиканагрузок (только для очень больших проектов!) 
Оптимизация кода и запросов к базе данных 
Оптимизация jsи CSS3-кода(только вручную) 
Акселераторы PHP (opCodecache), Memcached, Varnish Cache 
Удаление лишних плагинов(для сайтов на WordPress)
Content Delivery Network (CDN) 
Если Ваш сайт использует открытые скрипты, такие как jQuery, Bootstrap, AngularJSитп, то желательно подключать их через внешние CDN-сети. 
Например, ищем в Google: “jQuery CDN” 
Находим //ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js 
Отсюда:https://developers.google.com/speed/libraries/devguide#jquery 
Смысл: CDN-сети публичных скриптов обслуживаются мощными серверами, гарантирующими высокую скорость подгрузкискрипта на Ваш сайт.Вы можете также хранитьи подгружать файлы сайта (загружаемые изображения, css-файлы итпна CDN, но за $€¥)
Самые известные CDN 
Бесплатный хостинг открытых (open-source) библиотек: 
Google: https://developers.google.com/speed/libraries/devguide 
Яндекс: https://tech.yandex.ru/jslibs/ 
CDNjs: https://cdnjs.com/ 
Платные CDN с предоставлением бесплатного хостинга Open Source 
MAXCDN: https://www.maxcdn.com/ 
CloudFlare: https://www.cloudflare.com/ 
Amazon CloudFront: http://aws.amazon.com/ru/cloudfront/
Пример переподключенияскрипта через CDN 
В function.phpВашего шаблона: 
function change_jquery_to_cdn() { 
wp_deregister_script( 'jquery' ); 
wp_enqueue_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js' ); 
} 
add_action( 'wp_enqueue_scripts', 'change_jquery_to_cdn' );
Что получится в итоге
Кеширование. Типы 
Кеширование запросов–кеширование результатов SQL- запросов 
Кеширование страницы–сохранение статического HTML- кода (результата выполнения скриптов и запросов) требуемой страницы 
Браузерноекеширование–кеширование заголовков и использование ресурсов на стороне клиента (пользователя) 
Фрагментное кеширование–кеширование отдельных частей страниц 
Подробнее: http://codex.wordpress.org/WordPress_Optimization/Caching
Кеширование в WordPress 
Несколько основных плагинов для кеширования 
WP Super Cache https://wordpress.org/plugins/wp-super-cache/ 
W3 Total Cache https://wordpress.org/plugins/w3-total-cache/ 
WP Fastest Cache https://wordpress.org/plugins/wp-fastest-cache/ 
Замечание: дальнейшие тесты плагинов показывают их оптимизацию при загрузке без кеша, отследить скорость с кешемна цифрах не удалось 
WP Super Cache. Настройка
WP Super Cache. Первые рез-ты
W3 Total Cache. Настройка
W3 Total Cache. Первые рез-ты
WP Fastest Cache. Настройка
WP Fastest Cache. Результаты
Сравнительный анализ плагинов 
WP Super Cache 
W3 Total Cache 
WP Fastest Cache 
Удобство админки 
Сложность настройки 
Результат 
Популярность 
Поддержка CDN 
Поддержка видов кеширования 
Сжатие CSS, JS, HTML
Функции WordPress для работы с кешем 
 
 
 
 
 
 
 
 

Простейшие примеры
Настройка Nginx 
/etc/nginx/nginx.conf 
worker_processes8; 
worker_connections2048; 
keepalive_timeout30; 
gzipon; 
gzip_typestext/csstext/javascriptapplication/x-javascriptapplication/jsontext/xml; 
gzip_min_length500; 
gzip_comp_level5; 
location ~ .(css|js|jp(e)?g|gif|png|swf|ico)$ { 
expires 1y; 
} 
fastcgi_buffer_size32k; 
fastcgi_buffers256 4k; 
/etc/init.d/nginx 
ulimit-n 65536
Настройка MySQL (InnoDB) 
key_buffer= 256M 
sort_buffer_size= 4M 
read_buffer_size= 4M 
innodb_buffer_pool_size= 256M 
innodb_log_buffer_size= 8M 
tmp_table_size= 32M 
max_heap_table_size= 32M 
table_cache= 128 
thread_cache= 64 
query_cache_type= 1 
query_cache_limit= 1M 
query_cache_size= 32M
Для мегапродвинутых: Балансировщик
Установка Varnish Cache
Удаление лишних плагинов
Реально проверенные хостинги 
 

Спасибо за внимание!
Ad

Recommended

PPT
Client optimization drupal
Yury Glushkov
PPTX
Построение высоконагруженных приложений на базе Windows Azure
Alexander Feschenko
PPT
Кэширование в Веб разработке на серверном и клиентском уровнях
ForkConf
PDF
Speed Up Your Website
Ecommerce Solution Provider SysIQ
PDF
От уютного блога до распределенной инфраструктуры
Антон Еремин
PPTX
Высокая доступность web приложений. SHALB.com
Alexandr Yatsuk
PPTX
Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...
Lviv Startup Club
PPTX
How to optimize Magento
MageCloud
PDF
Rsnx tsvetkov che btrix conf 2015
Yulia Karpova
PPTX
Highload: проблемы и решения
Олег Шерыхалин
PPTX
хостинг
tufelka
PDF
Nazapad 7. Оптимизация скорости загрузки и перелинковки
Ihor Bankovskyi
PPTX
NoBigData - потоковая система аналитики clientside производительности, Сергей...
Ontico
PPT
Major mistakes in site moving
Транслируем.бел
PDF
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей Зайцев
Yandex
PPTX
Выбор оптимального хостинга для интернет-магазина на CMS Битрикс
borovoystudio
PDF
Perl и SPDY
Ilya Zelenchuk
PDF
Поизводительность верстки: highload style
TurnkeyEcommerce
PPTX
03 web server_architecture_ru
mcroitor
PDF
Пётр Зайцев, Percona
Ontico
PPTX
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Николай Лавлинский
PPTX
Балансировка нагрузки веб-серверов
Ekaterina Giganova
PPTX
Drupal в облаке - Владимир Юнев
DrupalCamp MSK
PPT
Drupal Highload - Klera Vilenskaya
Alex Ilyin
PPT
Hl2008 Wtf Hl 169
Media Gorod
PDF
06 - Web-технологии. Протокол HTTP
Roman Brovko
PPT
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite
PPTX
01 server definition
mcroitor
PDF
Verisign's Regional Internet Resolution Service by Ryan Donnelly [APRICOT 2015]
APNIC
PPTX
Интернет-реклама для увеличения эффективности сайта - Алёна Самойлова
Joomla Secrets

More Related Content

What's hot (20)

PDF
Rsnx tsvetkov che btrix conf 2015
Yulia Karpova
PPTX
Highload: проблемы и решения
Олег Шерыхалин
PPTX
хостинг
tufelka
PDF
Nazapad 7. Оптимизация скорости загрузки и перелинковки
Ihor Bankovskyi
PPTX
NoBigData - потоковая система аналитики clientside производительности, Сергей...
Ontico
PPT
Major mistakes in site moving
Транслируем.бел
PDF
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей Зайцев
Yandex
PPTX
Выбор оптимального хостинга для интернет-магазина на CMS Битрикс
borovoystudio
PDF
Perl и SPDY
Ilya Zelenchuk
PDF
Поизводительность верстки: highload style
TurnkeyEcommerce
PPTX
03 web server_architecture_ru
mcroitor
PDF
Пётр Зайцев, Percona
Ontico
PPTX
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Николай Лавлинский
PPTX
Балансировка нагрузки веб-серверов
Ekaterina Giganova
PPTX
Drupal в облаке - Владимир Юнев
DrupalCamp MSK
PPT
Drupal Highload - Klera Vilenskaya
Alex Ilyin
PPT
Hl2008 Wtf Hl 169
Media Gorod
PDF
06 - Web-технологии. Протокол HTTP
Roman Brovko
PPT
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite
PPTX
01 server definition
mcroitor
Rsnx tsvetkov che btrix conf 2015
Yulia Karpova
Highload: проблемы и решения
Олег Шерыхалин
хостинг
tufelka
Nazapad 7. Оптимизация скорости загрузки и перелинковки
Ihor Bankovskyi
NoBigData - потоковая система аналитики clientside производительности, Сергей...
Ontico
Major mistakes in site moving
Транслируем.бел
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей Зайцев
Yandex
Выбор оптимального хостинга для интернет-магазина на CMS Битрикс
borovoystudio
Perl и SPDY
Ilya Zelenchuk
Поизводительность верстки: highload style
TurnkeyEcommerce
03 web server_architecture_ru
mcroitor
Пётр Зайцев, Percona
Ontico
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Николай Лавлинский
Балансировка нагрузки веб-серверов
Ekaterina Giganova
Drupal в облаке - Владимир Юнев
DrupalCamp MSK
Drupal Highload - Klera Vilenskaya
Alex Ilyin
Hl2008 Wtf Hl 169
Media Gorod
06 - Web-технологии. Протокол HTTP
Roman Brovko
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite
01 server definition
mcroitor

Viewers also liked (6)

PDF
Verisign's Regional Internet Resolution Service by Ryan Donnelly [APRICOT 2015]
APNIC
PPTX
Интернет-реклама для увеличения эффективности сайта - Алёна Самойлова
Joomla Secrets
PPTX
Технология и бизнес-модель сетей CDN
wintertime
PDF
SkyparkCDN — RIF+KIB-2014
absolutbounty
PDF
Увеличение конверсии Вашего сайта за счет ускорения Joomla - Логинов Денис
Joomla Secrets
PPTX
Bootstrap 3. Адаптивная верстка для WordPress
Igor Sazonov
Verisign's Regional Internet Resolution Service by Ryan Donnelly [APRICOT 2015]
APNIC
Интернет-реклама для увеличения эффективности сайта - Алёна Самойлова
Joomla Secrets
Технология и бизнес-модель сетей CDN
wintertime
SkyparkCDN — RIF+KIB-2014
absolutbounty
Увеличение конверсии Вашего сайта за счет ускорения Joomla - Логинов Денис
Joomla Secrets
Bootstrap 3. Адаптивная верстка для WordPress
Igor Sazonov
Ad

Similar to Ускоряем Wordpress: кеширование, CDN, Varnish Cache (11)

PDF
Как повысить скорость вашего сайта на WordPress
Konstantin Kovshenin
PDF
SEO в WordPress. Ответы Павла Карпова на часто задаваемые вопросы.
Pavel Karpov
PPS
Виртуальный хостинг
1С-Битрикс
PDF
Первые шаги после установки WordPress
Darja Kruzhkova
PPTX
работа с блогом1
Natalia Odegova
PPTX
работа с блогом1
Nata Koinova
PPTX
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Alexey Kostin
PPTX
Как быть с большими сайтами на Word press
vovasik
PPT
WepPerfomance,
Dmitriy Polisadov
PPTX
Современные технологии сайтостроения для решения бизнес-задач
1С-Битрикс
PPTX
Елена Махрова. Корпоративный сайт. Взгляд разработчика.
aquavivaspb
Как повысить скорость вашего сайта на WordPress
Konstantin Kovshenin
SEO в WordPress. Ответы Павла Карпова на часто задаваемые вопросы.
Pavel Karpov
Виртуальный хостинг
1С-Битрикс
Первые шаги после установки WordPress
Darja Kruzhkova
работа с блогом1
Natalia Odegova
работа с блогом1
Nata Koinova
Что, зачем и каким образом следует проверять и тестировать перед запуском сай...
Alexey Kostin
Как быть с большими сайтами на Word press
vovasik
WepPerfomance,
Dmitriy Polisadov
Современные технологии сайтостроения для решения бизнес-задач
1С-Битрикс
Елена Махрова. Корпоративный сайт. Взгляд разработчика.
aquavivaspb
Ad

Ускоряем Wordpress: кеширование, CDN, Varnish Cache

  • 1. Ускоряем WordPressКеширование, CDN, Varnish Cache Igor Sazonov(@tigusigalpa) WordpressMeetupSaint-Petersburg #4, 29.11.2014
  • 2. Зачем нужно ускорять сайт? Для пользователей: долгая загрузка сайта снижает лояльность посетителей и не раздражает их Готовность сайта к большому трафику SEO: поисковики учитывают скорость загрузки сайта, это один из важнейших факторов влияния на ранжирование сайта среди других! Экономия денег: если Вы используете обычный shared-хостинг, а нагрузка увеличивается, то Вас могут попросить перейти на более дорогой тариф или выделенный сервер, что значительно дороже.
  • 3. Нужно ли WordPress ускорение? Обычная установка «голого» WordPress:
  • 4. Способы ускорения сайтов и WP Кеширование Использование CDNдля подгрузкина сайт открытых(open source) библиотек или своих файлов Сжатие HTML и CSS-файлов, объединениебеграундовв “sprite” Увеличение ресурсов сервера (процессор, оперативная память). Смена хостинга Оптимальная настройка сервера (Nginx, MySQL, Apache) Увеличение количества серверов с помощью балансировщиканагрузок (только для очень больших проектов!) Оптимизация кода и запросов к базе данных Оптимизация jsи CSS3-кода(только вручную) Акселераторы PHP (opCodecache), Memcached, Varnish Cache Удаление лишних плагинов(для сайтов на WordPress)
  • 5. Content Delivery Network (CDN) Если Ваш сайт использует открытые скрипты, такие как jQuery, Bootstrap, AngularJSитп, то желательно подключать их через внешние CDN-сети. Например, ищем в Google: “jQuery CDN” Находим //ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js Отсюда:https://developers.google.com/speed/libraries/devguide#jquery Смысл: CDN-сети публичных скриптов обслуживаются мощными серверами, гарантирующими высокую скорость подгрузкискрипта на Ваш сайт.Вы можете также хранитьи подгружать файлы сайта (загружаемые изображения, css-файлы итпна CDN, но за $€¥)
  • 6. Самые известные CDN Бесплатный хостинг открытых (open-source) библиотек: Google: https://developers.google.com/speed/libraries/devguide Яндекс: https://tech.yandex.ru/jslibs/ CDNjs: https://cdnjs.com/ Платные CDN с предоставлением бесплатного хостинга Open Source MAXCDN: https://www.maxcdn.com/ CloudFlare: https://www.cloudflare.com/ Amazon CloudFront: http://aws.amazon.com/ru/cloudfront/
  • 7. Пример переподключенияскрипта через CDN В function.phpВашего шаблона: function change_jquery_to_cdn() { wp_deregister_script( 'jquery' ); wp_enqueue_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js' ); } add_action( 'wp_enqueue_scripts', 'change_jquery_to_cdn' );
  • 9. Кеширование. Типы Кеширование запросов–кеширование результатов SQL- запросов Кеширование страницы–сохранение статического HTML- кода (результата выполнения скриптов и запросов) требуемой страницы Браузерноекеширование–кеширование заголовков и использование ресурсов на стороне клиента (пользователя) Фрагментное кеширование–кеширование отдельных частей страниц Подробнее: http://codex.wordpress.org/WordPress_Optimization/Caching
  • 10. Кеширование в WordPress Несколько основных плагинов для кеширования WP Super Cache https://wordpress.org/plugins/wp-super-cache/ W3 Total Cache https://wordpress.org/plugins/w3-total-cache/ WP Fastest Cache https://wordpress.org/plugins/wp-fastest-cache/ Замечание: дальнейшие тесты плагинов показывают их оптимизацию при загрузке без кеша, отследить скорость с кешемна цифрах не удалось 
  • 11. WP Super Cache. Настройка
  • 12. WP Super Cache. Первые рез-ты
  • 13. W3 Total Cache. Настройка
  • 14. W3 Total Cache. Первые рез-ты
  • 15. WP Fastest Cache. Настройка
  • 16. WP Fastest Cache. Результаты
  • 17. Сравнительный анализ плагинов WP Super Cache W3 Total Cache WP Fastest Cache Удобство админки Сложность настройки Результат Популярность Поддержка CDN Поддержка видов кеширования Сжатие CSS, JS, HTML
  • 18. Функции WordPress для работы с кешем         
  • 20. Настройка Nginx /etc/nginx/nginx.conf worker_processes8; worker_connections2048; keepalive_timeout30; gzipon; gzip_typestext/csstext/javascriptapplication/x-javascriptapplication/jsontext/xml; gzip_min_length500; gzip_comp_level5; location ~ .(css|js|jp(e)?g|gif|png|swf|ico)$ { expires 1y; } fastcgi_buffer_size32k; fastcgi_buffers256 4k; /etc/init.d/nginx ulimit-n 65536
  • 21. Настройка MySQL (InnoDB) key_buffer= 256M sort_buffer_size= 4M read_buffer_size= 4M innodb_buffer_pool_size= 256M innodb_log_buffer_size= 8M tmp_table_size= 32M max_heap_table_size= 32M table_cache= 128 thread_cache= 64 query_cache_type= 1 query_cache_limit= 1M query_cache_size= 32M