FastCGI обработка на заявки

Документите на www.fastcgi.com не са ясни по този въпрос (за мен), така че се надявам някой да може да ми даде окончателен отговор.

Написах приложение FastCGI на C++, за да направя тежко разбиване на числа. Когато приложението се зареди за първи път (когато Apache стартира), то извършва известно кеширане на MySQL данни във вектор, което отнема около минута (следователно използва FastCGI вместо CGI ;-)). След това изчаква заявка, за да започне обработката на номера.

Обикновено потребителят прави заявката, приложението FastCGI работи без проблем и връща правилните данни. Не съм сигурен обаче какво се случва, когато има няколко заявки, инициирани приблизително по едно и също време. FastCGI поставя ли тези заявки в опашка и изчаква ли предишното изпълнение да приключи, преди да отговори на следващата заявка? Или FastCGI обработва заявките паралелно? Може ли това да се конфигурира и дали го конфигурирате във вашето приложение или в конфигурациите на apache? Какво е по подразбиране?

Приложението ми изпълнява само

while(FCGX_Accept( &in, &out, &err, &envp)>=0){}

и извършва обработката на числа вътре в цикъла while.

Оценявам всяка помощ, наздраве, братя.


person el_champo    schedule 29.12.2008    source източник


Отговори (1)


Гледайки моя уеб сървър, имам само един от всеки FastCGI процес, работещ във всеки един момент, без значение колко копия на Apache се изпълняват. Така че трябва да приема, че ги нарежда на опашка.

person Paul Tomblin    schedule 29.12.2008