Одним из важных факторов влияющих на ранжирование и восприятие вашего сайта — является скорость загрузки (оговорюсь сразу, картинка для привлечения внимания и является результатом работы другой оптимизации).
Как повысить производительность в PHP, я уже писал в посте «Ускоряем сайт с помощью eAccelerator«.
Время идет и разработчики не сидят на месте, в частности серьезно поработали над улучшением производительности и стабильности разработчики PHP — начиная с версии 5.5 значительно увеличить скорость выполнения кода, что повлияло и на скорость работы сайтов!
PHP 5.5.23 доступна с 16 апреля 2015 года в репозитарии Webtatic. Отличительной особенностью версии стало включение в репозитарий OpCode cache на основе Zend Optimiser+ (библиотеки для кэширования микрокода PHP).
1) Перед обновление необходимо проверить существование подключенного репозитария «webtatic» более ранних версий.
rpm -qa | grep "webtatic"
yum remove webtatic5-release-5.1-4.noarch |
rpm -qa | grep "webtatic"
yum remove webtatic5-release-5.1-4.noarch
2) Если присутствует более старая версия, то её необходимо удалить, иначе рискуете поймать ошибку вида:
Error: Package: php55w-common-5.5.24-1.w5.x86_64 (webtatic-el5)
Requires: libcurl.so.3()(64bit) |
Error: Package: php55w-common-5.5.24-1.w5.x86_64 (webtatic-el5)
Requires: libcurl.so.3()(64bit)
3) Ставим webtatic:
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm |
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
4) Ставим необходимые расширения yum:
yum install yum-plugin-replace |
yum install yum-plugin-replace
5) Если у нас есть ранее установленная версия php, и вы уверены в совместимости всего вашего кода, то выполняем замену:
yum replace php-common --replace-with=php55w-common |
yum replace php-common --replace-with=php55w-common
6) Ставим OpCode cache:
yum install php55w-opcache |
yum install php55w-opcache
7) В случае нулевой установки, достаточно только:
yum install php55w php55w-opcache |
yum install php55w php55w-opcache
8) Далее, необходимо проверить работу php, в особенности модули которые отвалились:
Вывод должен быть пустым:
# php -i | more
phpinfo()
PHP Version 5.5.24 |
# php -i | more
phpinfo()
PHP Version 5.5.24
Ошибки будут отображаться как правило в начале листинга:
# php -i | more
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/eaccelerator.so' - /usr/lib64/php/modules/eaccelerator.so: undefined symbol: php_register_info_logo in Unknown on line 0
phpinfo()
PHP Version 5.5.24 |
# php -i | more
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/eaccelerator.so' - /usr/lib64/php/modules/eaccelerator.so: undefined symbol: php_register_info_logo in Unknown on line 0
phpinfo()
PHP Version 5.5.24
Например, чуть выше видно что «eaccelerator.so» нам необходимо отключить.
Визуально сайт стал грузиться на 20% шустрей, по мониторингу, в том числе стороннему заметить диких провалов в сторону улучшения производительности не удалось.
9) Внешние ресурсы, которые могут оценить скорость работы Вашего сайта:
http://gtmetrix.com/
https://developers.google.com/speed/pagespeed/insights/
В ходе написания поста использовались материалы: https://webtatic.com/packages/php55/