Каковы преимущества более быстрых языков сценариев на стороне сервера? - PullRequest
2 голосов
/ 02 октября 2009

Типичная производительность скриптов Python примерно в 5 раз быстрее , чем в PHP. Каковы преимущества использования более быстрых языков сценариев на стороне сервера? Будут ли когда-либо ощущаться посетители сайта? Может ли производительность PHP быть компенсирована более быстрыми серверными процессорами?

Ответы [ 4 ]

13 голосов
/ 02 октября 2009

По словам Энди Б. Кинга, в Оптимизация сайта :

Для Google увеличение времени загрузки страницы с 0,4 секунды до 0,9 секунды снизило трафик и доходы от рекламы на 20%. Для Amazon каждые 100 мс увеличение времени загрузки снижало продажи на 1%.

http://www.svennerberg.com/2008/12/page-load-times-vs-conversion-rates/

Но, несмотря на то, что Python в ~ 4 раза быстрее, в общем и целом, именно архитектура программного обеспечения имеет самое большое значение. Если ваши запросы и доступ к диску неоптимизированы, у вас огромное узкое место - даже если вы просто включаете около 20 различных файлов (время поиска 5 мс равно 100 мс). Я уверен, что даже Python может быть замедлен из-за неэффективности и запросов к базе данных, так же сильно, как и PHP.

Тем не менее, недружественные интерфейсы в долгосрочной перспективе обойдутся вам дороже, чем снижение скорости. Просто сделайте регистрационную форму без объяснений и пятнадцать обязательных полей со строгой проверкой, и вы отпугнете тонны людей. (По моему собственному мнению.)

10 голосов
/ 02 октября 2009

Как насчет , когда вы платите за процессорное время ?

Я только что сэкономил кучу денег, переключившись на Python!

4 голосов
/ 02 октября 2009

Для типичных веб-приложений разница в скорости обычно не ощущается в самом запросе (сетевая задержка сокращает время вычислений для типичного сценария, который выполняется внутри HTTP-запроса).

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

Конечно, использование большего количества процессоров уменьшит проблему, но, как говорит jrockway, поддержка двух серверов значительно более чем в два раза сложнее, чем поддержка одного.

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

1 голос
/ 02 октября 2009

Увеличение скорости выполнения обработчиков веб-запросов обычно приводит к обработке большего количества запросов в секунду на одном и том же оборудовании.Это ценно в ряде случаев;поддерживать один сервер гораздо проще, чем поддерживать два.

Кстати, почему именно Python, а не Haskell?В некоторых тестах Haskell в 100 раз быстрее PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...