- PVSM.RU - https://www.pvsm.ru -
WordPress в стандартной установке довольно медленный. По умолчанию движок не использует некоторые возможности современного Веба для значительного своего ускорения. Существует целая куча плагинов для оптимизации WordPress'a. Давайте наведем в них порядок и проведем капитальную оптимизацию.
Прежде чем приступить, посмотрим, что показывает голая установка WordPress по Pagespeed [1]:
Результат 76 из 100 довольно низкий. Посмотрим, насколько можно увеличить этот показатель.
Если Вы еще не используете Nginx, пора переехать на него. Простое и мощное решение. Конфигурация для работы с поддержкой permalinks и кешированием статики:
server {
server_name wp.com;
root /var/www/wp; # путь к WP
index index.php;
location ~* ^.+.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe$
access_log off;
log_not_found off;
expires max; # кеширование статики
}
location / {
try_files $uri $uri/ /index.php?$args; # permalinks
}
location ~ .php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
Если у Вас нет каких-то особых причин, по которым Вы не можете установить APC, включайте его обязательно. Проверяем наличие APC (в ответ получим список настроек APC):
php -i | grep apc
Wordpress использует InnoDB, а это значит мы можем существенно увеличить производительность MySQL, подстроив ряд параметров (файл my.cnf) под наше железо:
Размер буфера InnoDB лучше поставить в половину доступной оперативной памяти:
innodb_buffer_pool_size = 256M
Не забываем включить кеширование MySQL:
query_cache_size = 32M
query_cache_limit = 1M
Более расширенная настройка MySQL [2] для WordPress.
Это наиболее важный пункт. Кеширование может дать значительное ускорение сайта и экономию ресурсов сервера. Для наглядности будем использовать ab от Apache [3]. Проверим стандартную установку WordPress без кеширования. Запросы направляем через локальную сеть, поэтому задержку ничего, кроме самого WordPress'a не создает:
ab -c 10 -n 500 http://wordpress/
Получаем среднее время на запрос около 50мс:
Total transferred: 4183000 bytes
HTML transferred: 4074500 bytes
Requests per second: 17.62 [#/sec] (mean)
Time per request: 567.421 [ms] (mean)
Time per request: 56.742 [ms] (mean, across all concurrent requests)
Transfer rate: 143.98 [Kbytes/sec] received
Хром показывает среднее ожидание ответа на уровне 150мс (сервер находится в Нидерландах):
Этот плагин [4] позволяет включить кеширование буквально в одно действие. Кроме стандартных настроек, он содержит большое количество параметров для тюнинга кеша. Качаем плагин, активируем его в панели управления и включаем кеш:
С включенным WP Super Cache получаем уменьшение среднего времени на запрос в 25 раз(!):
Total transferred: 4293500 bytes
HTML transferred: 4146500 bytes
Requests per second: 499.01 [#/sec] (mean)
Time per request: 20.040 [ms] (mean)
Time per request: 2.004 [ms] (mean, across all concurrent requests)
Transfer rate: 4184.61 [Kbytes/sec] received
Cреднее ожидание ответа в Хроме уменьшилось в 3 раза:
В качестве серверной альтернативы WP Super Cache можно использовать Varnish [5]. Он позволяет снизить время на обработку запроса еще почти на порядок, но само решение менее гибкое (хорошо подойдет для блогов без элементов динамики).
Минификация CSS/JS может сэкономить 10...15% их размера. Для включения минификации статики есть модуль WP Minify [6]. Качайте, активируйте и модуль начнет работать.
Картинки могут составлять очень большую часть общего размера страницы. Lossless сжатие картинок может сэкономить 30...40% их размера. Это умеет делать модуль EWWW Image Optimizer [7]. Для его работы понадобится установить imagemagick и библиотеку gd:
apt-get install imagemagick php5-gd
У нас получилось голую установку WordPress разогнать почти в 100 раз по времени генерации страницы (мы включили Varnish) и увеличить показатель по Pagespeed с 76 до 93:
Профайлер P3 [9] покажет множество узких мест Вашей текущей установки WordPress. Удобный интерактивный чеклист по оптимизации WordPress [10] позволит не держать все в голове, но ничего не упустить.
Кстати, анализ sevenpercentcatherine.wordpress.com (
Делитесь своим опытом и инструментарием ускорения WordPress'a в комментариях.
Автор: golotyuk
Источник [11]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/wordpress/60724
Ссылки в тексте:
[1] Pagespeed: http://highload.com.ua/post/Google+Pagespeed+-+%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7+%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D1%81%D0%BA%D0%BE%D0%B9+%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8
[2] расширенная настройка MySQL: http://highload.com.ua/post/%D0%9A%D0%B0%D0%BA+%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C+MySQL+%D0%B4%D0%BB%D1%8F+Wordpress%3F
[3] ab от Apache: http://highload.com.ua/post/AB+-+%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8+%D0%BD%D0%B0+%D1%81%D0%B0%D0%B9%D1%82
[4] Этот плагин: http://wordpress.org/plugins/wp-super-cache/
[5] Varnish: http://highload.com.ua/post/%D0%9A%D0%B0%D0%BA+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C+varnish+%D0%B4%D0%BB%D1%8F+wordpress%3F
[6] WP Minify: http://highload.com.ua/post/WP+minify+-+%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+JS%2FCSS+%D0%B4%D0%BB%D1%8F+Wordpress
[7] EWWW Image Optimizer: https://wordpress.org/plugins/ewww-image-optimizer/installation/
[8] VPS: https://www.reg.ru/?rlink=reflink-717
[9] Профайлер P3: http://wordpress.org/plugins/p3-profiler/
[10] чеклист по оптимизации WordPress: http://highload.com.ua/post/%D0%A7%D0%B5%D0%BA%D0%BB%D0%B8%D1%81%D1%82+%D0%BF%D0%BE+%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8+%D0%B8+%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D1%8E+Wordpress
[11] Источник: http://habrahabr.ru/post/224159/
Нажмите здесь для печати.