?

Log in

No account? Create an account
Предыдущий пост Поделиться Следующий пост
На чём делать перловый веб-сервер?
Рыжий
shoorick
Как я только не запускал перловые скрипты на веб-серверах — и как CGI, и как mod_perl (на обоих апачах), и как FastCGI через nginx.

А какой способ принято сейчас использовать?

Мы завели отдельную железяку под перловый хостинг, чтоб выселить туда всё перловое: несколько сайтов на Mojolicious, Catalyst и Movable Type плюс древний самописный кошмар, который давно переписать на чём-нибудь современном.

Хочется сделать это хорошо и правильно. Как быть? Что читать?


  • 1
Я делаю сейчас все на FastCGI, и вроде как все хорошо...

На FastCGI тоже делал — до сих пор работает.
Более того, перешёл туда с mod_perl, когда меня утомил расход памяти.

Просто на всякий случай интересуюсь, чтоб от жизни не отстать.

Но очевидно же, всё должно быть на Plack и запускаться или через starman или через FastCGI.

Вот я с Plack дела ещё не имел, потому и неочевидно.
Почему?

Единый продуманный стандарт со способами запускаться любым способом.

Возможность запускать любым сервером через старман, включая всякие эниевент, если внутри оно не блокируется. Ну т.е. тысяч 15 коннектов в секунду там делается в итоге легко и без усилий. А 5 тыс - вообще сразу из коробки.

Edited at 2013-04-29 12:04 (UTC)

(Анонимно)
т.е. перл/старман/plack решил проблему c10k легко и без усилий?

(Анонимно)
эти бенчмарки с реальностью не имеют ничего общего.

у меня реальный проект на дансере дает 5.5k rps и при запуске через старман и при запуске через fastcgi.

То есть, в твоём случае получается, что пофиг. Так?
Ну через FastCGI я сайты на Mojolicious запускал — значит, можно просто копировать конфиг со старого сайта.

А сколько воркеров запускаете под такую нагрузку?

Предсказуемо пик получается при количестве воркеров равном количеству ядер.

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


uwsgi + nginx не?



http://bitrate.epipe.com/starman-vs-uwsgi-psgi-server-performance-comparison_104

Edited at 2013-04-29 19:45 (UTC)

Не встречал ещё такого варианта.

Интересно было бы всё-таки увидеть сравнение на реальных задачах — мне кажется, что сравнивать скорость на коротеньком хелловорлде не совсем корректно.

Спасибо, попробую.

На реальных задачах всё упирается в мускль.

В дансере с Dancer::Plugin::Database можно делать коннекты к мусклю с keepalive и переиспользовать старый коннект при последующем запросе, в итоге таких коннектов получается по числу воркеров и всё хорошо.

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

  • 1