Задать вопрос
Slavenin999
@Slavenin999
программист php/erlang/elixir/js

Socket-сервер php или python?

Доброго времени суток Хабр!



Стою в точке выбора на чём писать сокет-сервер, на выбор питон и php. Нагрузка на сервер планируется очень большой так как он будет служить для обработки личных сообщений.

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

Пхп знаю хорошо, сокет-серверы на нём писал, но вот большого нагрузочного тестирования не проводил. Питон знаю чуть-чуть, но не думаю, что там намного сложнее, чем на пхп. Вот думаю, что выбрать? Сможет ли сервер на пхп обрабатывать тысячи запросов в секунду и при длительном использовании не отъедать ресурсы у сервака, так как пхп изначально был спроектирован для короткого времени работы из-за чего возможна беда с памятью.



Возможно, у кого-то есть опыт работы в аналогичной ситуации. Буду признателен за любую помощь.
  • Вопрос задан
  • 6632 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@Vampiro
Выбирайте то, что лучше знаете. Если пишете не для повышения квалификации. Потом, на досуге, можете сделать вариант на питоне (для самообразования) и сравните. Может и статья родится на Хабр! А для продакшана лучше идти там, где большинство граблей уже прощупано.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@rPman
Ни с сокетами, ни с семафорами, ни с шаред мемори из php у меня не было никаких проблем, память не утекала, обрабатывалось быстро… но дальше все зависит от того что вы будете делать и использовать.

А дальше — выбор языка, чисто холиварный разговор. У питона перед php больший выбор готовых модулей (и гораздо аккуратнее их организация), нет проблем с целыми числами (32bit vs 64bit) и кому то сам язык больше нравится, но потребление памяти у питона значительно выше чем в php, да и синтетические тесты по работе с примитивами у php показывают выше скорость.

p.s. А если у вас мало внешних вызовов и много внутренних расчетов, может сразу посмотреть на c++? :)
Ответ написан
Grigorieff
@Grigorieff
Для Python есть замечательная штука Twisted
Ответ написан
Комментировать
farafontov
@farafontov
смотрите как уже подсказали nodejs socket.io redis
Ответ написан
Комментировать
kapitansky
@kapitansky
> так как пхп изначально был спроектирован для короткого времени работы из-за чего возможна беда с памятью.
Оба языка — скриптовые.

Потребление ресурсов у PHP будет ниже, чем у Python.

Скорость работы приблизительно одинаковая.

На Python, скорее всего реализовать будет проще.

А вообще, по-хорошему, такие вещи не делаются ни на PHP, ни на Python. Я бы, на вашем месте, смотрел бы в сторону Java — на ней будет проще, чем на С, а скорость будет примерно такая же, а может и выше (из-за «гениальности» JVM).
Ответ написан
Комментировать
strib
@strib
В качестве альтернативы.
Есть специальная платформа для таких штук — Erlang/OTP.
Все что надо есть, язык относительно простой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы