mod perl vs mod fastcgi

Я разрабатываю веб-приложение в Perl с некоторыми C, как это необходимо для некоторых тяжелых номеров хруста. Основная проблема, с которой я до сих пор пытаюсь решить, должен ли я использовать mod-perl, mod-fastcgi или оба для запуска моих сценариев, потому что мне трудно анализировать плюсы и минусы каждого мода.

может ли кто-нибудь опубликовать резюме или дать ссылку, где я могу найти некоторую информацию сравнения и, возможно, некоторые рекомендации с примерами?

3 ответов


Они совершенно разные звери.

модуль mod_fastcgi веб (кстати, mod_fcgid рекомендуется) просто поддерживает протокол FCGI для выполнения CGIs быстрее с помощью некоторых ручек, чтобы контролировать, сколько процессов он будет работать одновременно и не намного больше.

mod_perl, с другой стороны, это платформа для разработки приложений, которая предоставляет вам большинство внутренних Apache, чтобы вы могли настроить каждый веб-сервер из своего кода, ускоряет CGIs и много больше.

Если все, что вы хотите, это быстро запустить CGIs и хотите поддержать как можно больше хостов, вы должны придерживаться поддержки этих двух способов запуска вашего кода и, вероятно, стандартного CGI.

Если вы заботитесь о максимальной эффективности за счет гибкости, вы мог бы цель для одной платформы, вероятно, от него.

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


Я бы посоветовал вам использовать такую структуру, как катализатор Это заботится о таких деталях. Для большинства приложений не имеет значения, как программа подключается к веб-серверу, если это делается эффективным способом. Выбор между mod_perl и FastCGI должен быть сделан сисадмином, который его развертывает, а не разработчиком.


вот сайт с некоторыми фактическими сравнениями производительности mod_perl, mod_fastcgi, cgi (Perl) и сервлета Java - для очень базового скрипта:https://sites.google.com/site/arjunwebworld/Home/programming/apache-jmeter

в итоге:

cgi - 1200+ requests per minute
mod_perl - 6000+ requests per minute (ModPerl::PerlRun only)
fast_cgi - 6000+ requests per minute
mod_perl - 6000+ requests per minute (ModPerl::Registry)
servlets - 2438 requests per minute.

на PerlMonks есть старый поток, сравнивающий mod_perl и fastcgi здесь:http://www.perlmonks.org/?node_id=108008