Ускорение PHP и пути оптимизации скорости выполнения скриптов


Ускорение PHP — это средства и подходы используемые для оптимизации работы кода, в том числе внешние решения, позволяющие добавить, например, кэширование и увеличить скорость работы.



Ускорение PHP


Основные способы увеличения производительности (применимо при разработке или оптимизации законченных проектов):

  • Минимизация использования регулярных выражений, которые выполняются долго. Вместо regexp можно использовать функции для обработки строк:  join, explode и др.
  • Отказ от объектно-ориентированного программирования там, где это возможно
  • Использование абсолютных путей в коде: include /var/site/css/style.css; вместо относительных include ../style.css; С абсолютными путями код будет выполняться быстрее
  • Одинарные кавычки для строк — известно, что переменные в строках распознаются только при использовании двойных кавычек. От этого overhead-а можно избавиться, получив увеличение производительности
  • Современные версии PHP. Код, написанный на 7.0+ работает на 20-30% быстрее, чем код на PHP 5.4 и 5.6, ещё больший рост производительности даёт переход на PHP8
  • Хранение сессий в Memcached — хранение в файлах не подходит для нагруженных проектов. Чаще всего применяется Memcached. С PHP хранилище может работать за счет расширений memcache и memcached
  • Подходящие значения параметров PHP memory_limit, max_execution_time и post_max_size в файле php.ini
  • Акселераторы PHP вроде opCache и APCu
  • FastCGI или PHP-FPM в качестве менеджера процессов, с FPM и Nginx получается самая высокая производительность
  • Постоянное профилирование кода и анализ узких мест с последующей переработкой


Если код проекта стал выполняться медленно резко и раньше работал нормально выяснить причины часто помогает утилита strace. Отслеживая с ее помощью процессы можно узнать, что медленно выполняется какой-то запрос в базе данных или что код ожидает ответа от стороннего ресурса, который стал недоступен.

Сказать спасибо
Categories: