Я знаю, что PHP по-прежнему является самым популярным языком веб-программирования в мире. Этот вопрос просто хотел бы затронуть некоторые из моих проблем в отношении PHP.
PHP, естественно, связан с проблемой C10K . Поскольку PHP (обычно выполняемый в Apache) не может управляться событиями или асинхронно, каждый HTTP-запрос будет занимать хотя бы один поток или процесс. Это делает его устойчивым к большей масштабируемости.
В настоящее время многие веб-сайты (например, Facebook и Yahoo!) с высокой производительностью и масштабируемостью все еще зависят от PHP на своих серверах. Полагаю, это связано с наследственной причиной. Возможно ли, что PHP будет заменен языком, более подходящим для C10K?
Возможно ли, что PHP будет заменен языком, более подходящим для C10K?
Я бы сказал, очень маловероятно.
Ничего, Facebook или Yahoo, подавляющее большинство веб-сайтов даже близко не приближаются к этой стадии популярности. Большинство веб-программистов работают над проектами малого и среднего размера, где действительно высокая производительность просто не нужна, а дополнительная производительность может быть с большей выгодой достигнута за счет броска большего количества аппаратного обеспечения в проблему, чем путем использования большего количества программистов для повышения эффективности.
Кодирование специализированных высокопроизводительных серверов сокетов сложнее и медленнее, чем взломать PHP-скрипт, поэтому PHP (*) всегда будет выигрывать. И давайте посмотрим правде в глаза, скорее всего, вы столкнетесь с другими проблемами масштабирования (вероятная производительность базы данных) задолго до того, как начнет укушать неэффективность однопоточного или процесса на параллельное соединение.
C10K? Для подавляющего большинства приложений вам это не понадобится.
(*: или другие подобные среды сценариев. В связи с продолжающимися проблемами PHP6 и PHP5 с Unicode и другими давними проблемами на уровне языка, другие языки и структуры должны приобретать популярность за счет PHP. Но не те, которые жертвуют легкостью создания для высокой масштабируемости.)
PHP использует архитектуру Shared Nothing, которая очень хорошо масштабируется.
Будет ли PHP умирать? Я недостаточно осведомлен, чтобы ответить на это смелым Нет . У каждой технологии есть время, и я убежден, что в будущем будет что-то лучшее, более компактное, быстрее, чем больше подходит для Интернета, чем PHP. Но скоро ли PHP умрет? Нет, я так не думаю. Необходимость в масштабируемости – это то, что большинство из нас желает , но правда в том, что для большинства веб-приложений просто нет необходимости.
Связанное чтение, которое содержит дополнительную информацию о масштабируемости PHP
Увидев интерес к высокоуровневой PHP-платформе, такой как Zend PHP, Symfony, Cake, Solar и некоторые другие, я думаю, что PHP является rebirthing.
Его новая объектно-ориентированная модель позволяет профессиональным разработчикам вернуться к известным парадигмам и привлечь гораздо больше людей, которые не хотят приходить на PHP из-за озера объектно-ориентированной поддержки.
Кстати, я вижу растущее требование нанять профессионального PHP-разработчика с солидными навыками и использованием PHP Framework (Symfony и Zend Framework наиболее востребованы здесь во Франции).
PHP не так медленен, как мы можем думать, хорошее кэширование, оптимизированный запрос db стоит того сделать. В настоящее время также дешевле купить буфер памяти, чем оптимизировать код для ускорения его сборки или C.