the second
DESCRIPTION
CGITRANSCRIPT
Вторая жизнь CGI-скриптов
Наим Шафиев
Классическое CGIэто зло!
И оно всем знакомо
use CGI;$q = new CGI;
...
При каждом запроседергаеться интепретатор
и подгружаються все модули=> 60-70 запросов в сек.
Технологии разгона
• mod_perlite• ModPerl::PerlRun• CGI::Emulate::PSGI
mod_perliteпо принципу работыаналогичен mod_php
LoadModule perlite_module /usr/lib/apache2/modules/mod_
perlite.soAddType application/x-httpd-
perlite .pl
mod_perliteпо принципу работыаналогичен mod_php
mod_perliteпо принципу работыаналогичен mod_php
Потому что также просто как и php.
Ну и убыстряет перл в десятки раз
ModPerl::PerlRun
• Не подходит для шаред хостинга (ограничения доступа)
• Немного тяжеловат(по потреблению памяти)
• Потихоньку загибается
PSGIPerl Web Server Gateway Interface
аналог WSGI
my $app = sub { return [200, ['Content-Type' => 'text/plain'], ["hello, world\n"]];}
Plackнабор компонентов для PSGI
cpanm --interactive Task::Plackor
cpanp -i Task::Plackor
cpan -i Task::Plack
CGI::Emulate::PSGI
my $app=CGI::Emulate::PSGI->handler(sub { use CGI;
…
});
plackup app.psgi HTTP::Server::PSGI: Accepting
connections at http://0:5000/
#plackup app.psgi HTTP::Server::PSGI: Accepting
connections at http://0:5000/