Что такое mod_perl. Его преимущества и недостатки

mod_perl 1.0

mod_perl — это дополнительный модуль для веб-сервера Apache, встраивающий полнофункциональный интерпретатор языка Perl в сервер.

В случае работы с mod_perl, интерпретатор Perl подгружается и запускается
только один раз
, при запуске процесса Apache. Выполнение программного кода происходит намного быстрее, чем при работе через mod_cgi, т.к. нет необходимости заново запускать интерпретатор Perl для каждого скрипта.

Преимущества, которые дает использование mod_perl, в сравнении с использованием
стандартного интерпретатора Perl совместно с сервером Apache и mod_cgi:

  • возможность создания обработчиков Apache на языке perl;
  • доступ ко всем стадиям обработки http-запросов;
  • увеличение скорости выполнения скриптов за счет снижения затрат времени на регулярную загрузку интерпретатора;
  • увеличение скорости выполнения скриптов и снижение нагрузки на сервер за счет использования Apache::Registry;
  • наличие дополнительных модулей, которые позволяют использовать в разработках сессии, пароли и базы данных с сохранением преимуществ mod_perl;
  • возможность встраивания инструкций perl в конфигурационный файл сервера;
  • perl-интерфейс к API Apache;
  • ментальное: повышенные требования к качеству написания скриптов и как следствие — увеличение скорости выполнения программ и повышение уровня безопасности.

Недостатки mod_perl:

  • высокие требования к объему памяти.

mod_perl 2.0

mod_perl 2.0 появился как mod_perl, предназначенный для работы
с сервером Apache 2.0. Он учитывает те изменения, которые произошли в развитии Perl и Apache с момента появления mod_perl 1.0.

Наиболее заметные изменения — это появившаяся поддержка тредов на основе ithreads, поддержка работы с Apache::Test, значительные улучшения в обеспечении быстродействия, изменения в работе с Apache API и т.п.

Полезные ссылки

Использование mod_perl
http://aspn.activestate.com/ASPN/CodeDoc/Apache-mod_perl_guide/src/intro.html