Изменения

Перейти к: навигация, поиск

Платформы для запуска Perl веб-приложений

30 байтов добавлено, 11:34, 18 декабря 2009
м
mod_perl
# Серьёзное увеличение размеров детёнышей процесса Apache.
# Проблемы с перезагрузкой модулей в процессе обслуживания без перезапуска сервера. ''Оговорка: это проблема Perl’а в целом, не только mod_perl’а. Но под mod_perl она проявляется сильнее: иногда при перезагрузке модулей ему прямо-таки «сносит крышу», он забывает про все константы и валит Internal Server Error на все запросы. Ну и второе — авторы mod_perl могли бы и предусмотреть быстрый «сброс» интерпретаторов по сигналу.''
# В «многопользовательской» среде, точнее, в среде с множеством различных веб-приложений, мод_перл создаёт проблемы по причине отсутствия изоляции загруженного кода модулей между приложениями. Решение для этого — PerlOptions +Parent(начиная с mod_perl2), но оно подходит только для случая с небольшим количеством приложений, так как в противном случае детёныши Apache вырастают до неприличных размеров по причине работы в них нескольких пулов Perl-интерпретаторов вместо одного.
# Время от времени в mod_perl всплывают совершенно неуловимые глюки, особенно в необычных режимах вроде [http://perldoc.perl.org/perlsec.html taint], и при использовании с некоторыми модулями или движками Apache. ''«Потому что Perl и mod_perl — это как бэ немного разные языки»'' (c). Например:
#* При использовании [http://mpm-itk.sesse.net/ mpm_itk], 2-го мод_перла и PerlOptions +Parent (дающей отдельный пул интерпретаторов виртхосту) глобальные переменные в пакетах (как my, так и our) перестают сохранять свои значения между запросами.

Навигация