Способ оптимизации скорости и нагрузки сайта, о котором вам не рассказывали
Расскажу о способе улучшения показателей скорости и нагрузки сайта на сервер, о котором вам не рассказывали ранее в различных статьях по оптимизации.
Речь в статье пойдет о версиях PHP на вашем сайте или сервере. Присутствует сводная таблица результатов моих эксперементов.
Немного вводной информации
Я и сам ранее не обращал внимание насколько сильно версия PHP влияет на скорость загрузки страницы и нагрузки на сервак. Случайно увидел цифры, когда тестировал AdsPlace'r Pro после жалоб клиентов, что в новом апдейте перестал работать корректно. Как раз проблема и заключалась в том, что большинство использует старые версии PHP и пришлось нам "перекраивать" быстро код.
В общем, ниже информация для размышления и некоторые подсказки.
Результаты тестирования
Вводные данные:
- Три сайта (1 сайт - mojwp.ru со всеми плагинами; 2 сайт - тестовый, пустой, тема TwentyFifteen; 3 сайт - мой контентник на уник. теме + плагины).
- Замеры производились на одинаковой странице каждого сайта.
- У всех один сервер у хостинга Beget
- Для замера параметров использовался стандартный код. Его видно в подвале блога.
- Значения потребления памяти округлял до 1 цифры после запятой, чего вполне достаточно.
- В таблице не указывал значение количества запросов к БД, т.к. оно остается неизменным на одной и той же странице и версия PHP не имеет отношения к изменению данной цифры.
- Значение скорости загрузки может незначительно колебаться при каждом обновлении страницы. По этой причине указываю среднее после 3 перезагрузок страницы с CTRL+F5
- В процессе теста никакие правки в сайты не вносились. Только менялась версия PHP.
Итак, вот что получилось:
Версия PHP | Сайт 1 | Сайт 2 | Сайт 3 |
---|---|---|---|
Потребляемая память, Mb | |||
PHP 5.3 | 22.1 | 11 | 15.4 |
PHP 5.4 | 15.4 | 7.5 | 10.4 |
PHP 7.1 | 11 | 5.5 | 7.2 |
Скорость загрузки страницы, сек. | |||
PHP 5.3 | 0.385 | 0.153 | 0.196 |
PHP 5.4 | 0.3 | 0.135 | 0.162 |
PHP 7.1 | 0.135 | 0.062 | 0.071 |
Как видим: чем новее версия PHP, тем меньше идет нагрузка на сервер (потребляемая память самой CMS WordPress и установленными плагинами), а так же быстрее грузится страница.
Как определить версию PHP на сервере
Самый простой способ - это найти данную информацию у себя в панели хостера в аккаунте.
Если такой информации нет, то:
- Создаете новый файл phpinfo.php
- В нем размещаете следующее
- Закачиваете этот файл к себе в корень сайта по ftp (там где лежит robots.txt)
- В браузере открываете http://ваш_сайт/phpinfo.php
В результате откроется страница, где будет выведена нужная нам информация:
Если не выводит такой информации, а показывает содержимое файла phpinfo.php, значит для сервера/сайта не установлен PHP-обработчик и вам надо обратиться в техподдержку.
Не забудьте потом удалить файл phpinfo.php в целях безопасности.
Как поменять версию PHP
Делается это в панели хостера, если у них есть такая услуга вообще. Быть может потребуется обратиться в техподдержку, чтобы они поменяли.
Если же вы хоститесь у Beget, то сделать можете сами в пару кликов: пункт Сайты -> находите свой домен и кликаете по иконке версии PHP -> выбираете версию PHP и Применить.
Изменения вступят в силу в течении минуты.
Подводные камни при смене версии PHP
Есть вариант, что как только вы смените версию PHP - у вас перестанет работать сайт или часть его функционала, плагинов. Это может случиться из-за использования в теме сайта или установленных плагинах старых функций.
Паниковать не стоит. Верните назад старую версию PHP на боевом сайте и попробуйте на тестовом с новой PHP разобраться в причине. Вначале на пустой теме, без плагинов. Убедитесь что причина не в ней.
Далее подключаем поочередно плагины и смотрим какой "косячит". Таким образом можно вычислить проблему и уже дальше самостоятельно или при помощи специалистов решить задачу.
Так же можно включить лог ошибок. Делается это в файле wp-config.php. Ближе к его концу у вас будет такая строка define('WP_DEBUG', true); (может стоять false).
Сделаем так:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Теперь у вас в папке /wp-content/ появится файл debug.log с ошибками PHP. Он со временем будет накапливать информацию и будет "расти" его объем в Mb. Поэтому можете его отключить, когда все настроите, или периодически удаляйте его, чтобы он с нуля начинал собирать.
Кроме того, некоторые хостеры так же могут предлагать включить свой файл логов ошибок, без необходимости включать такой у себя руками. Проверьте.
Подводя итог
Овчинка стоит выделки:
- Снижаем нагрузку на сервер.
- Ускоряем загрузку страницы даже без использования плагинов кеша.
- На сайте используются новые технологии.