Насколько хороша производительность PHP?

Это результат недавней публикации, которая показала, что производительность PHP неудовлетворительна:

«PHP. ВСЕГДА, БОРТЛЕНЕК. Мои серверные фермы, позвольте мне показать вам их!

с последующим:

«Производительность PHP ужасна». Я основываюсь на своем опыте работы с OpenX (в Linux) и WordPress (на win64) ».

Можем ли мы получить некоторые объективные данные сообщества о том, хороша ли производительность PHP или плохо …

  1. По сравнению с другими языками / временем автономной работы
  2. С точки зрения языка, существуют ли какие-либо конкретные библиотеки или операции, которые лучше или хуже других?
  3. С точки зрения сборки есть ли какие-либо версии или платформы, которые лучше или хуже других?

Ответ на вопрос «Насколько хороша производительность PHP?» «Хорошо».

Под этим я подразумеваю, что большинство проблем с производительностью с веб-сайтами связаны с другими проблемами, такими как плохой дизайн базы данных, мало кэширование, кэширование CSS / Javascript / изображений и т. Д.

PHP используется некоторыми из крупнейших сайтов в Интернете, поэтому он прошел этот тест. Джефф Этвуд утверждает, что PHP сосет, но это не имеет значения . Есть вещи, чтобы правильно критиковать PHP (например, несогласованный порядок параметров, несогласованное назначение функций, магические кавычки и т. Д.), Но я думаю, что он преувеличивает негатив.

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

Производительность PHP прекрасна. Разумеется, если вы разрабатываете 3D-игры.

  1. Различия как незначительные, так и пламенные приманки. Потому что, действительно, это рубизм «кто волнуется, если он быстро, если он масштабируется?» все это неправильно? См. № 2 для примера того, что замедляет работу.

  2. Все, что требует времени. (Иронично, я знаю.) Но на самом деле это всегда зависит от того, как вы делаете то, что вы делаете, что занимает время. Например, я могу написать два запроса с почти идентичным результатом, но до 2,5-кратного увеличения скорости с лучшим синтаксисом / выбором. По большому счету, худшее времяпрепровождение в скрипте PHP – это доступ к файлам … благодаря аппаратным средствам. Таким образом, количество файлов, которые вы включаете / требуете, замедляет сценарий больше, чем его содержимое, особенно при фрагментации.

    Благодаря этой простой системе я манипулировал своей собственной инфраструктурой MVC почти в 10 раз быстрее, чем приложение с открытым кодом CodeIgniter; это проще и более минималистично, да, но должно показать, что в том числе 1 файл, по сравнению с 1 за класс, может сделать огромные различия в скорости.

  3. До тех пор, пока его AMP хорошо, серверы Linux, или курс, будут быстрее. Я был доволен как моей системой WAMP, так и LAMP, несмотря на сильно отличающиеся аппаратные и программные различия. (Но система LAMP, в общем, самая быстрая, хотя и меньше в оборудовании).

Производительность PHP не так уж плоха – по сравнению с C, она теряет, но по сравнению с другими языками сценариев примерно одинакова.

Посмотрите эту перестрелку для интерактивного теста производительности, чтобы дать вам представление о некоторых показателях производительности.

Конечно, есть это слайд-шоу, в котором говорится, что PHP редко является узким местом .

В настоящее время существует проект с разработчиками PHP для создания лучших инструментов Benchmark для PHP.

Руководитель проекта недавно поговорил о Google Techtalks под названием « Компиляция и оптимизация языков сценариев» , и это очень интересный разговор.

Также на днях я сделал проверку размера приложения PHP.

  • PHPBB 1.3mb
  • Joomla 6mb
  • WordPress 11.3mb

Это данные загружаются в память.

Использование правильных алгоритмов и структур данных гораздо более важно для производительности, чем использование определенного языка программирования (при условии, что можно выразить их на выбранном языке).

Таким образом, PHP может быть даже быстрее, чем C ++, если PHP-программист знает, что он делает.

Производительность значительно улучшена за счет использования кеша op-code, такого как альтернативный кэш PHP, который является бесплатным и обеспечивает значительное увеличение производительности, по существу, «компилируя» ваши скрипты в операционные коды, которые могут использоваться Zend Engine напрямую без накладных расходов (чрезмерное использование (IMO)) разбора кода по каждому запросу. Здесь вы можете увидеть контрольный показатель и сообщение из моего блога об использовании кеша APC для ускорения Zend_Loader

Yahoo! использует PHP. http://public.yahoo.com/bfrance/radwin/talks/yahoo-phpcon2002.htm

Я не согласен с тем, что PHP всегда является узким местом. PHP такой же масштабируемый и эффективный, как Java или ASP. В конце дороги это сводится к вашей базе данных, узкое место всегда будет начинаться там.

PHP может быть не так быстро, как скомпилированные серверные языки, но он все еще довольно быстрый и выполняет эту работу.

Аспект «скорости» php имеет больше общего с пользовательским интерфейсом, чем с самой производительностью.

Приложения AJAX, основанные на PHP, не классифицируются как «медленные» или «невосприимчивые»: пользователю так много нужно делать, пока выполняется один запрос! Кроме того, «равномерная медленность» со всеми операциями для пользователя намного менее болезненна, чем показ неустойчивой скорости работы.

Один из предыдущих комментариев обобщил его довольно метко: язык не опасен! приложение doez.

приветствия, jrh

Вы можете найти эти слайды беседы, данные Rasmus несколько актуальными и интересными: talks.php.net/show/drupal08/