SlideShare a Scribd company logo
1 of 22
Вторая жизнь CGI-скриптов Наим Шафиев
Классическое CGI это зло! И оно всем знакомо
use CGI; $q = new CGI; ...
При каждом запросе дергаеться интепретатор и подгружаються все модули => 60-70 запросов в сек.
Технологии разгона ,[object Object],[object Object],[object Object]
mod_perlite по принципу работы аналогичен mod_php
LoadModule perlite_module  /usr/lib/apache2/modules/mod_perlite.so AddType application/x-httpd-perlite .pl
mod_perlite по принципу работы аналогичен mod_php
mod_perlite по принципу работы аналогичен mod_php
Потому что также просто  как и php. Ну и убыстряет перл  в десятки раз
http://modperlite.org/ Репозитарий  http://github.com/sodabrew/mod_perlite/
Пинайте  [email_address] Что бы он не окончательно не забил на  это детище
ModPerl::PerlRun ,[object Object],[object Object],[object Object]
PSGI Perl Web Server Gateway Interface аналог WSGI
my $app = sub {   return [200, ['Content-Type' => 'text/plain'], ["hello, world"]]; }
Plack набор компонентов для PSGI
cpanm --interactive Task::Plack or cpanp -i Task::Plack or 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/
http://plackperl.org/ Обязательно потестите  Starman
#plackup app.psgi  HTTP::Server::PSGI: Accepting connections at http://0:5000/
Контакты [email_address] home site http://elementa.su

More Related Content

What's hot

Scala performance под капотом
Scala performance под капотомScala performance под капотом
Scala performance под капотомRoman Grebennikov
 
MxxRu::externals: Repositoryless Dependency Manager
MxxRu::externals: Repositoryless Dependency ManagerMxxRu::externals: Repositoryless Dependency Manager
MxxRu::externals: Repositoryless Dependency Managercorehard_by
 
JPHP - О проекте на простом языке
JPHP - О проекте на простом языкеJPHP - О проекте на простом языке
JPHP - О проекте на простом языкеDmitry Zaytsev
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantOlga Lavrentieva
 
Как за час сделать недельную работу
Как за час сделать недельную работуКак за час сделать недельную работу
Как за час сделать недельную работуcorehard_by
 
dont badmouth mojo
dont badmouth mojodont badmouth mojo
dont badmouth mojoAnton Ukolov
 
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23MoscowJS
 
Когда в C# не хватает C++ . Часть 2.
Когда в C# не хватает C++. Часть 2.Когда в C# не хватает C++. Часть 2.
Когда в C# не хватает C++ . Часть 2.Mikhail Shcherbakov
 
Когда в C# не хватает C++
Когда в C# не хватает C++Когда в C# не хватает C++
Когда в C# не хватает C++Mikhail Shcherbakov
 
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
 Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ... Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...Yandex
 
Когда в C# не хватает C++ . Часть 3.
Когда в C# не хватает C++. Часть 3. Когда в C# не хватает C++. Часть 3.
Когда в C# не хватает C++ . Часть 3. Mikhail Shcherbakov
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funAlexandr Khotemskoy
 
The Great Migration by Baruch Sadogursky
The Great Migration by Baruch SadogurskyThe Great Migration by Baruch Sadogursky
The Great Migration by Baruch SadogurskyJavaDayUA
 
Эффективный C++
Эффективный C++Эффективный C++
Эффективный C++Andrey Karpov
 
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекSWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекPython Meetup
 
Vagrant: плагины и гастрономический фестиваль
Vagrant: плагины и гастрономический фестивальVagrant: плагины и гастрономический фестиваль
Vagrant: плагины и гастрономический фестивальNikita Borzykh
 
WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...
WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...
WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...WebCamp
 
Прикладное хардварное программирование. Автоматизируем заказ питьевой воды в ...
Прикладное хардварное программирование. Автоматизируем заказ питьевой воды в ...Прикладное хардварное программирование. Автоматизируем заказ питьевой воды в ...
Прикладное хардварное программирование. Автоматизируем заказ питьевой воды в ...Mad Devs
 
Построение компилятора на базе LLVM — Павел Сычев
 Построение компилятора на базе LLVM — Павел Сычев Построение компилятора на базе LLVM — Павел Сычев
Построение компилятора на базе LLVM — Павел СычевYandex
 

What's hot (20)

Scala performance под капотом
Scala performance под капотомScala performance под капотом
Scala performance под капотом
 
MxxRu::externals: Repositoryless Dependency Manager
MxxRu::externals: Repositoryless Dependency ManagerMxxRu::externals: Repositoryless Dependency Manager
MxxRu::externals: Repositoryless Dependency Manager
 
JPHP - О проекте на простом языке
JPHP - О проекте на простом языкеJPHP - О проекте на простом языке
JPHP - О проекте на простом языке
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c Vagrant
 
Как за час сделать недельную работу
Как за час сделать недельную работуКак за час сделать недельную работу
Как за час сделать недельную работу
 
dont badmouth mojo
dont badmouth mojodont badmouth mojo
dont badmouth mojo
 
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
 
Когда в C# не хватает C++ . Часть 2.
Когда в C# не хватает C++. Часть 2.Когда в C# не хватает C++. Часть 2.
Когда в C# не хватает C++ . Часть 2.
 
Когда в C# не хватает C++
Когда в C# не хватает C++Когда в C# не хватает C++
Когда в C# не хватает C++
 
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
 Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ... Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
 
Когда в C# не хватает C++ . Часть 3.
Когда в C# не хватает C++. Часть 3. Когда в C# не хватает C++. Часть 3.
Когда в C# не хватает C++ . Часть 3.
 
Use Grunt Luke
Use Grunt LukeUse Grunt Luke
Use Grunt Luke
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
 
The Great Migration by Baruch Sadogursky
The Great Migration by Baruch SadogurskyThe Great Migration by Baruch Sadogursky
The Great Migration by Baruch Sadogursky
 
Эффективный C++
Эффективный C++Эффективный C++
Эффективный C++
 
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекSWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
 
Vagrant: плагины и гастрономический фестиваль
Vagrant: плагины и гастрономический фестивальVagrant: плагины и гастрономический фестиваль
Vagrant: плагины и гастрономический фестиваль
 
WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...
WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...
WebCamp2016:Front-End.Максим Климишин.Теоретические и практические концепции ...
 
Прикладное хардварное программирование. Автоматизируем заказ питьевой воды в ...
Прикладное хардварное программирование. Автоматизируем заказ питьевой воды в ...Прикладное хардварное программирование. Автоматизируем заказ питьевой воды в ...
Прикладное хардварное программирование. Автоматизируем заказ питьевой воды в ...
 
Построение компилятора на базе LLVM — Павел Сычев
 Построение компилятора на базе LLVM — Павел Сычев Построение компилятора на базе LLVM — Павел Сычев
Построение компилятора на базе LLVM — Павел Сычев
 

Viewers also liked

Jamestown warnick
Jamestown warnickJamestown warnick
Jamestown warnickskater1997
 
What is history
What is historyWhat is history
What is historyskater1997
 
Trbajo avanzado 2
Trbajo  avanzado 2Trbajo  avanzado 2
Trbajo avanzado 2fernandexp
 
Analisis de un objeto tecnologico
Analisis de un objeto tecnologicoAnalisis de un objeto tecnologico
Analisis de un objeto tecnologicoalinstante
 
All together now new jhai - 5.18.10-notes versionb
All together now   new jhai - 5.18.10-notes versionbAll together now   new jhai - 5.18.10-notes versionb
All together now new jhai - 5.18.10-notes versionbguestc3c8e4
 

Viewers also liked (9)

Jamestown warnick
Jamestown warnickJamestown warnick
Jamestown warnick
 
What is history
What is historyWhat is history
What is history
 
Trbajo avanzado 2
Trbajo  avanzado 2Trbajo  avanzado 2
Trbajo avanzado 2
 
Analisis de un objeto tecnologico
Analisis de un objeto tecnologicoAnalisis de un objeto tecnologico
Analisis de un objeto tecnologico
 
In the school
In the schoolIn the school
In the school
 
All together now new jhai - 5.18.10-notes versionb
All together now   new jhai - 5.18.10-notes versionbAll together now   new jhai - 5.18.10-notes versionb
All together now new jhai - 5.18.10-notes versionb
 
Ipl teaser
Ipl teaserIpl teaser
Ipl teaser
 
In the school
In the schoolIn the school
In the school
 
Capital punishment
Capital punishmentCapital punishment
Capital punishment
 

Similar to The second

Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Ontico
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоFuenteovejuna
 
Дмитрий Стогов
Дмитрий СтоговДмитрий Стогов
Дмитрий СтоговCodeFest
 
Как опубликовать свою тему в директорию WordPress
Как опубликовать свою тему в директорию WordPressКак опубликовать свою тему в директорию WordPress
Как опубликовать свою тему в директорию WordPressDmitry Mayorov
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
 
Drupal и возможности его применения
Drupal и возможности его примененияDrupal и возможности его применения
Drupal и возможности его примененияMedia Gorod
 
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Ontico
 
Saint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demoSaint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demomegakott
 
Highload2009 Rybak Badoo Os
Highload2009 Rybak Badoo OsHighload2009 Rybak Badoo Os
Highload2009 Rybak Badoo OsHighLoad2009
 
2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays HighloadYehor Herasymchuk
 
Как ВКонтакте использует Go
Как ВКонтакте использует GoКак ВКонтакте использует Go
Как ВКонтакте использует GoArtem Kovardin
 
PureMVC в картинках - часть 1
PureMVC в картинках - часть 1PureMVC в картинках - часть 1
PureMVC в картинках - часть 1Rostyslav Siryk
 
Роман Еникеев - PHP или откуда взялся слон
Роман Еникеев - PHP или откуда взялся слонРоман Еникеев - PHP или откуда взялся слон
Роман Еникеев - PHP или откуда взялся слонDataArt
 

Similar to The second (20)

PHP: SAPI
PHP: SAPIPHP: SAPI
PHP: SAPI
 
php frameworks
php frameworksphp frameworks
php frameworks
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)
 
JPHP
JPHPJPHP
JPHP
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей Романенко
 
Дмитрий Стогов
Дмитрий СтоговДмитрий Стогов
Дмитрий Стогов
 
Как опубликовать свою тему в директорию WordPress
Как опубликовать свою тему в директорию WordPressКак опубликовать свою тему в директорию WordPress
Как опубликовать свою тему в директорию WordPress
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
 
Enter: legacy code
Enter: legacy codeEnter: legacy code
Enter: legacy code
 
Drupal и возможности его применения
Drupal и возможности его примененияDrupal и возможности его применения
Drupal и возможности его применения
 
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
 
DDOS mitigation software solutions
DDOS mitigation software solutionsDDOS mitigation software solutions
DDOS mitigation software solutions
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 
Отладка в Python: 2016 edition
Отладка в Python: 2016 editionОтладка в Python: 2016 edition
Отладка в Python: 2016 edition
 
Saint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demoSaint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demo
 
Highload2009 Rybak Badoo Os
Highload2009 Rybak Badoo OsHighload2009 Rybak Badoo Os
Highload2009 Rybak Badoo Os
 
2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload2020.10.13 HA Redis is simple. FWDays Highload
2020.10.13 HA Redis is simple. FWDays Highload
 
Как ВКонтакте использует Go
Как ВКонтакте использует GoКак ВКонтакте использует Go
Как ВКонтакте использует Go
 
PureMVC в картинках - часть 1
PureMVC в картинках - часть 1PureMVC в картинках - часть 1
PureMVC в картинках - часть 1
 
Роман Еникеев - PHP или откуда взялся слон
Роман Еникеев - PHP или откуда взялся слонРоман Еникеев - PHP или откуда взялся слон
Роман Еникеев - PHP или откуда взялся слон
 

The second