SlideShare a Scribd company logo
1 of 26
Download to read offline
Ускоряем 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
Удаление лишних плагинов
Реально проверенные хостинги 
 

Спасибо за внимание!

More Related Content

What's hot

Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015Yulia Karpova
 
хостинг
хостингхостинг
хостингtufelka
 
Nazapad 7. Оптимизация скорости загрузки и перелинковки
Nazapad 7. Оптимизация скорости загрузки и перелинковкиNazapad 7. Оптимизация скорости загрузки и перелинковки
Nazapad 7. Оптимизация скорости загрузки и перелинковкиIhor Bankovskyi
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...Ontico
 
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей Зайцев
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей ЗайцевНовая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей Зайцев
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей ЗайцевYandex
 
Выбор оптимального хостинга для интернет-магазина на CMS Битрикс
Выбор оптимального хостинга для  интернет-магазина на CMS БитриксВыбор оптимального хостинга для  интернет-магазина на CMS Битрикс
Выбор оптимального хостинга для интернет-магазина на CMS Битриксborovoystudio
 
Поизводительность верстки: highload style
Поизводительность верстки: highload styleПоизводительность верстки: highload style
Поизводительность верстки: highload styleTurnkeyEcommerce
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_rumcroitor
 
Пётр Зайцев, Percona
Пётр Зайцев, PerconaПётр Зайцев, Percona
Пётр Зайцев, PerconaOntico
 
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Николай Лавлинский
 
Балансировка нагрузки веб-серверов
Балансировка нагрузки веб-серверовБалансировка нагрузки веб-серверов
Балансировка нагрузки веб-серверовEkaterina Giganova
 
Drupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupalCamp MSK
 
Drupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaDrupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaAlex Ilyin
 
Hl2008 Wtf Hl 169
Hl2008 Wtf Hl 169Hl2008 Wtf Hl 169
Hl2008 Wtf Hl 169Media Gorod
 
06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTPRoman Brovko
 
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный вебHappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный вебHappyDev-lite
 
01 server definition
01 server definition01 server definition
01 server definitionmcroitor
 

What's hot (20)

Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015Rsnx tsvetkov che btrix conf 2015
Rsnx tsvetkov che btrix conf 2015
 
Highload: проблемы и решения
Highload: проблемы и решенияHighload: проблемы и решения
Highload: проблемы и решения
 
хостинг
хостингхостинг
хостинг
 
Nazapad 7. Оптимизация скорости загрузки и перелинковки
Nazapad 7. Оптимизация скорости загрузки и перелинковкиNazapad 7. Оптимизация скорости загрузки и перелинковки
Nazapad 7. Оптимизация скорости загрузки и перелинковки
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...NoBigData - потоковая система аналитики clientside производительности, Сергей...
NoBigData - потоковая система аналитики clientside производительности, Сергей...
 
Major mistakes in site moving
Major mistakes in site movingMajor mistakes in site moving
Major mistakes in site moving
 
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей Зайцев
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей ЗайцевНовая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей Зайцев
Новая Яндекс.Музыка. Особенности разработки iOS-клиента — Сергей Зайцев
 
Выбор оптимального хостинга для интернет-магазина на CMS Битрикс
Выбор оптимального хостинга для  интернет-магазина на CMS БитриксВыбор оптимального хостинга для  интернет-магазина на CMS Битрикс
Выбор оптимального хостинга для интернет-магазина на CMS Битрикс
 
Perl и SPDY
Perl и SPDYPerl и SPDY
Perl и SPDY
 
Поизводительность верстки: highload style
Поизводительность верстки: highload styleПоизводительность верстки: highload style
Поизводительность верстки: highload style
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_ru
 
Пётр Зайцев, Percona
Пётр Зайцев, PerconaПётр Зайцев, Percona
Пётр Зайцев, Percona
 
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
Чеклист по клиентской оптимизации - Лавлинский Николай, РИТ++ 2017
 
Балансировка нагрузки веб-серверов
Балансировка нагрузки веб-серверовБалансировка нагрузки веб-серверов
Балансировка нагрузки веб-серверов
 
Drupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupal в облаке - Владимир Юнев
Drupal в облаке - Владимир Юнев
 
Drupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaDrupal Highload - Klera Vilenskaya
Drupal Highload - Klera Vilenskaya
 
Hl2008 Wtf Hl 169
Hl2008 Wtf Hl 169Hl2008 Wtf Hl 169
Hl2008 Wtf Hl 169
 
06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP
 
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный вебHappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
 
01 server definition
01 server definition01 server definition
01 server definition
 

Viewers also liked

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

Viewers also liked (6)

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

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

FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоАлександр Ежов
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukInterSystems
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 
Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Artur Baranok
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureAlexander Feschenko
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesArtur Baranok
 
1 2 2_1_c-bitrix_kuleshov
1 2 2_1_c-bitrix_kuleshov1 2 2_1_c-bitrix_kuleshov
1 2 2_1_c-bitrix_kuleshovelenae00
 
UFADevCom'13#1 Шерыхалин Олег
UFADevCom'13#1 Шерыхалин ОлегUFADevCom'13#1 Шерыхалин Олег
UFADevCom'13#1 Шерыхалин ОлегUFADevCom
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debuggingAlexey Bokov
 
08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backendRoman Brovko
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.Igor Shkulipa
 
Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...
Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...
Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...zfconfua
 
Загрузка, обработка, хранение и отдача статики
Загрузка, обработка, хранение и отдача статикиЗагрузка, обработка, хранение и отдача статики
Загрузка, обработка, хранение и отдача статикиKirill Mokevnin
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NETVitaly Baum
 
Tuning HighLoad J2EE web application
Tuning HighLoad J2EE web applicationTuning HighLoad J2EE web application
Tuning HighLoad J2EE web applicationShamim bhuiyan
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...ForkConf
 
Web deployment
Web deploymentWeb deployment
Web deploymentGetDev.NET
 
Как быть с большими сайтами на Word press
Как быть с большими сайтами  на Word pressКак быть с большими сайтами  на Word press
Как быть с большими сайтами на Word pressvovasik
 
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)xasima
 

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

FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это просто
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 
Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure Websites
 
1 2 2_1_c-bitrix_kuleshov
1 2 2_1_c-bitrix_kuleshov1 2 2_1_c-bitrix_kuleshov
1 2 2_1_c-bitrix_kuleshov
 
UFADevCom'13#1 Шерыхалин Олег
UFADevCom'13#1 Шерыхалин ОлегUFADevCom'13#1 Шерыхалин Олег
UFADevCom'13#1 Шерыхалин Олег
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debugging
 
08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.
 
Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...
Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...
Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...
 
Загрузка, обработка, хранение и отдача статики
Загрузка, обработка, хранение и отдача статикиЗагрузка, обработка, хранение и отдача статики
Загрузка, обработка, хранение и отдача статики
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
 
Tuning HighLoad J2EE web application
Tuning HighLoad J2EE web applicationTuning HighLoad J2EE web application
Tuning HighLoad J2EE web application
 
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
(1 часть) 1С-Битрикс. Как настроить двухуровневую конфигурацию веб-приложения...
 
Web deployment
Web deploymentWeb deployment
Web deployment
 
Как быть с большими сайтами на Word press
Как быть с большими сайтами  на Word pressКак быть с большими сайтами  на Word press
Как быть с большими сайтами на Word press
 
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
 
Hl2009 1c Bitrix
Hl2009 1c BitrixHl2009 1c Bitrix
Hl2009 1c Bitrix
 

Ускоряем 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