ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nginx + CGI



On Wed, Jan 14, 2009 at 02:08:04PM +0300, Большой Хо wrote:

> > Это не сложная задача. Эта задача требует времени. Есть два решения:
> >
> > 1) В лоб: воркер, который получил запрос для CGI, делает fork/exec.
> 
> По этому поводу есть вопросы-пожелания-предложения:
> * объем кода воркера должен ли быть малым? Стоит ли создать как
> внешнюю программу по отношению к самому nginx, чтобы операция fork
> обходилась как можно дешевле (как сделано для suexec);

Нет, воркеры - это те самые рабочие процессы, которые обслуживают остальные
соединения. И да, если пришёл запрос для CGI, то этот воркер с тысячами
соединений будет делать fork/exec, а ядро в процессе exec будет делать
для сокетов FD_CLOEXEC. Поэтому это решение называется "в лоб".

А внешний процесс - это как раз второй вариант.

> * имееет ли смысл делать preforked процессы и как это лучше делать (в
> зависимости от нагрузки на систему, количество процессоров, скорости
> поступления новых запросов)?
> * fastcgi насколько оптимален как протокол для работы такого рода?
> Рассматривалось ли решение по созданию специализированного протокола
> под nginx бакэнды и удаленные воркеры?

Нет. Потому что в этом нет никакого смысла: CGI от этого быстрее не станет.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.