Записи с тэгом ‘mod_fcgid’

Ускоряем web-сценарии на Perl, или ещё раз про Perl vs PHP

Wednesday, February 17th, 2010

“Концепция единообразия жизни позволяет наслаждаться каждым моментом, не отвлекаясь на сопоставление и сравнение.”
— х/ф “Эквилибриум”

Two_fast_two_furious_ver5Идея этой статьи родилась совершенно случайно после пары бесед с адептами PHP, утверждавшими, что Perl для Web-программирования не подходит по причине своей тормознутости, сложности и отсутствию многих полезных фич. Про второй и третий фактор говорить не будем по причине их субъективности. А вот с “тормознутостью” можно поработать. Действительно, из коробки сценарии на PHP должны работать быстрее сценариев на Perl из-за принципиального отличия их базовых парадигм: интерпретатор PHP загружен как модуль в Apache и не требует постоянной загрузки в память на каждый новый HTTP-запрос, в то время как интерпретатор Perl как раз и запускается отдельным процессом, выполняет сценарий и выгружается из памяти. Однако же спор на этом заканчивать рано, потому как для Perl существуют такие замечательные вещи, как mod_perl и FastCGI, которые могут добавить очков в корзину этому языку. При этом mod_perl по аналогии с mod_php загружается в память при старте Apache и не тратит драгоценных мгновений на запуск и выгрузку из памяти (жертвуя, правда, ресурсами сервера при этом), а FastCGI позволяет запустить интерпретатор с зацикленным сценарием один раз и обращаться к нему при поступлении новых запросов (здесь стоит отметить необходимость внесения некоторых изменений в сам скрипт).
Так вот. Попробуем разобраться, как всё это заставить работать и насколько всё это улучшает производительность по сравнению с работой сценариев в стандартном режиме с модулем mod_cgi.

(more…)

Метки: , , ,
Категория: Apache, Perl, Web-dev | Нет комментариев »