PHP ускоряет использование процессора - PullRequest
3 голосов
/ 21 мая 2011

Я тестировал свой сайт с помощью Jmeter, чтобы посмотреть, как сотни потоков повлияют на производительность сайта, и протестировал его с помощью apache, mod_php и nginx с помощью fastcgi.Я заметил, что бутылочный бек всегда был процессором в apache и nginx.когда я смотрел на использование spu в настройке nginx, я видел, что процессы php cgi берут все процессоры.

Что я могу сделать, чтобы уменьшить использование процессора php?

1 Ответ

6 голосов
/ 21 мая 2011

Причина, по которой PHP потребляет больше ресурсов, чем ваши веб-серверы, заключается в том, что PHP выполняет гораздо больше работы и делает это на понятном языке (Apache и Nginx скомпилированы в инструкции процессора).

Первым шагом является внедрение кэша кода операции (я рекомендую APC, поскольку он легко устанавливается и поддерживается специалистами PHP). Это кеширует «скомпилированную» версию ваших скриптов, которая удалит большую часть выполнения скрипта.

Единственный другой способ уменьшить загрузку процессора - сделать ваш код более эффективным. Попытайтесь определить узкие места (большие массивы и другие структуры данных могут быть первыми, чтобы проверить) и найдите способы заставить эти части кода работать лучше.

...