Оптимизация PHP-скриптов: практические советы

coding

В этой статье речь пойдет о том, как оптимизировать какой-нибудь PHP-скрипт, чтобы он выполнялся как можно быстрее, затрачивая как можно меньше процессорного времени. Также я опишу некоторые простые техники оптимизации PHP-кода, которые я лично использовал, и которые принесли ощутимый результат. Я коснусь только вопроса оптимизации непосредственно PHP-кода и языка (без всяких оптимизаций запросов к БД, дополнительных расширений, кэширующих опкоды и т.д.). У меня такая задача появилась после написания одной из первых версий движка для проведения психологических тестов (расположен здесь). Скрипт был размещен на облачном хостинге, где веб-мастер платит деньги соразмерно величине израсходованных ресурсов, поэтому в моих интересах было оптимизировать скрипт таким образом, чтобы максимально снизить нагрузку.

Сразу скажу, что заниматься преждевременной оптимизацией не нужно. Стоит задуматься о переработке кода только в следующих случаях:
[+] ваш скрипт подолгу выполняется (например, делает какие-то занимающие длительное время операции в цикле);
[+] ваш скрипт очень часто выполняется (это был мой случай - иногда в день тест проходили порядка десяти тысяч человек - а это около миллиона обращений к скрипту в сутки);
[+] от используемых скриптом ресурсов зависит то, сколько денег вы платите. Если скрипт выполняется на обычном виртуальном хостинге и не превышает лимит нагрузки на процессор, то, скорее всего, можно и не париться;
[+] вы собираетесь массово распространять скрипт, и его будет использовать в конечном итоге множество людей, которым критично, сколько ресурсов скрипт потребляет.

Читать далее «Оптимизация PHP-скриптов: практические советы»

Оптимизация в Perl

Очевидные вещи

Ищите лучшие алгоритмы

Допустим, код выполняется с максимальной эффективность с Вашей точки зрения. Но, может быть, кто-то подошел к данной проблеме с совершенно другой стороны и нашел алгоритм, работающий в сотни раз быстрее. Вы уверены, что используете лучший алгоритм? Воспользуйтесь поисковиком, возможно, вам удастся найти лучшее решение.

mod_perl

Использование mod_perl может ускорить выполнение скрипта в 10 раз. Если Ваш скрипт по каким-либо причинам не работает под ним, то существует fastcgi. Или, возможно, Вам подойдет модуль PPerl, позволяющий превратить скрипт в практически полноценный “демон”.
Читать далее «Оптимизация в Perl»