Почему стоит выбрать FastCGI вместо CGI со скомпилированными языками или демонами - PullRequest
0 голосов
/ 13 октября 2018

Я читал о CGI и FastCGI и удивлялся, почему был создан последний.Причина, по которой я часто читаю, состоит в том, что это избавляет от накладных расходов на создание нового процесса для каждого запроса, но я не могу себе представить, что это такая огромная проблема с производительностью.

  1. Я вижу,что CGI может быть медленным при использовании интерпретируемых скриптов (таких как Perl) для каждого запроса, потому что интерпретатору требуется время для запуска и загрузки библиотек.Чем FastCGI лучше, чем CGI при использовании скомпилированного языка, такого как C или Rust?

  2. Не могу ли я просто воссоздать то, что делает FastCGI, запустив демон, с которым связывается маленький (итаким образом хорошо работает) CGI-сценарии оболочки?

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Честно говоря, вы можете скомпилировать прототип в C и попробовать его.Забавно, когда на одном дыхании люди говорят «предварительная оптимизация - корень всего зла», а уже на следующий день «не используйте CGI, потому что fork / exec работает плохо».Скомпилированные языки имеют много преимуществ по сравнению с интерпретируемой не только скоростью (раннее обнаружение ошибок для типов), но и на моем дешевом ноутбуке для разработки под Linux для Linux я могу запускать / выполнять exe мой CGI-скрипт 3000+ раз в секунду.

Unix-подобная простота CGI - стандартный ввод и вывод - очень привлекательна по сравнению с монолитными «фреймворками» в PHP и др., С 275 уровнями косвенности.И если CGI действительно не работает должным образом в вашем случае Suse, разница между CGI и FastCGI может быть всего лишь небольшим интерфейсом, так что просто справьтесь с этим, когда это произойдет.

0 голосов
/ 15 октября 2018

Это почти ЧАВО.Вы должны были немного погуглить, прежде чем начинать новый вопрос.В любом случае .. посмотрите на ссылку ниже.

Различия и использование между WSGI, CGI, FastCGI и mod_python по отношению к Python?

Также посмотрите на страницы mod_cgi и mod_fcgi документации Apache.Для

  1. Нет CGI не является медленным из-за использования языков сценариев, особенно не Perl.CGI медленный из-за того, как он работает.Что касается улучшения, вы должны прочитать больше о FastCGI.

  2. Вы все еще не понимаете, что делает FastCGI, так что нет.

...