mod_perl против mod_fastcgi - PullRequest
       12

mod_perl против mod_fastcgi

15 голосов
/ 20 декабря 2008

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

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

Ответы [ 3 ]

23 голосов
/ 20 декабря 2008

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

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

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

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

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

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

7 голосов
/ 20 декабря 2008

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

5 голосов
/ 20 мая 2013

Вот сайт с некоторыми фактическими сравнениями производительности 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

...