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

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

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



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

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

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



Возможно, у кого-то есть опыт работы в аналогичной ситуации. Буду признателен за любую помощь.
  • Вопрос задан
  • 6627 просмотров
Решения вопроса 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.
Все что надо есть, язык относительно простой.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽