shoorick: (Рыжий)
[personal profile] shoorick
Как я только не запускал перловые скрипты на веб-серверах — и как CGI, и как mod_perl (на обоих апачах), и как FastCGI через nginx.

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

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

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

Date: 2013-04-29 09:49 am (UTC)
From: [identity profile] tarkhil.livejournal.com
Я делаю сейчас все на FastCGI, и вроде как все хорошо...

FastCGI

Date: 2013-04-29 10:59 am (UTC)
From: [identity profile] shoorick.livejournal.com
На FastCGI тоже делал — до сих пор работает.
Более того, перешёл туда с mod_perl, когда меня утомил расход памяти.

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

Date: 2013-04-29 11:36 am (UTC)
From: [identity profile] knutov.livejournal.com
Но очевидно же, всё должно быть на Plack и запускаться или через starman или через FastCGI.

Date: 2013-04-29 12:02 pm (UTC)
From: [identity profile] shoorick.livejournal.com
Вот я с Plack дела ещё не имел, потому и неочевидно.
Почему?

Date: 2013-04-29 12:04 pm (UTC)
From: [identity profile] knutov.livejournal.com
Единый продуманный стандарт со способами запускаться любым способом.

Возможность запускать любым сервером через старман, включая всякие эниевент, если внутри оно не блокируется. Ну т.е. тысяч 15 коннектов в секунду там делается в итоге легко и без усилий. А 5 тыс - вообще сразу из коробки.
Edited Date: 2013-04-29 12:04 pm (UTC)

Date: 2013-04-29 01:01 pm (UTC)
From: (Anonymous)
т.е. перл/старман/plack решил проблему c10k легко и без усилий?

Date: 2013-04-29 02:25 pm (UTC)
From: (Anonymous)
эти бенчмарки с реальностью не имеют ничего общего.

Date: 2013-04-29 04:28 pm (UTC)
From: [identity profile] perlito.livejournal.com
пореальней чем ты

Date: 2013-04-29 04:41 pm (UTC)
From: [identity profile] knutov.livejournal.com
у меня реальный проект на дансере дает 5.5k rps и при запуске через старман и при запуске через fastcgi.

Date: 2013-04-29 06:08 pm (UTC)
From: [identity profile] shoorick.livejournal.com
То есть, в твоём случае получается, что пофиг. Так?
Ну через FastCGI я сайты на Mojolicious запускал — значит, можно просто копировать конфиг со старого сайта.

Date: 2013-04-30 08:12 am (UTC)
From: [identity profile] infist-xxi.livejournal.com
А сколько воркеров запускаете под такую нагрузку?

Date: 2013-04-30 08:21 am (UTC)
From: [identity profile] knutov.livejournal.com
Предсказуемо пик получается при количестве воркеров равном количеству ядер.

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

Date: 2013-04-29 07:43 pm (UTC)
From: [identity profile] eladar.myopenid.com (from livejournal.com)
uwsgi + nginx не?

Image

http://bitrate.epipe.com/starman-vs-uwsgi-psgi-server-performance-comparison_104
Edited Date: 2013-04-29 07:45 pm (UTC)

Date: 2013-04-30 06:27 am (UTC)
From: [identity profile] shoorick.livejournal.com
Не встречал ещё такого варианта.

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

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

Date: 2013-04-30 08:24 am (UTC)
From: [identity profile] knutov.livejournal.com
На реальных задачах всё упирается в мускль.

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

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

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 21st, 2026 02:50 pm
Powered by Dreamwidth Studios