2008-12-29 4 views
3

www.fastcgi.com의 문서는 (나에게) 명확하지 않으므로 다른 사람이 나에게 확실한 답을 줄 수 있기를 바랍니다.FastCGI 요청 처리

저는 C++에서 FastCGI 응용 프로그램을 작성하여 많은 업무를 처리했습니다. 애플리케이션이 처음로드 될 때 (아파치가 시작될 때), MySQL 데이터를 약간의 캐싱을 벡터에 수행하는데, 이는 약 1 분이 걸린다 (그러므로 CGI 대신 FastCGI를 사용한다 ;-)). 그런 다음 번호를 확인하기 위해 대기합니다.

일반적으로 사용자가 요청을하고 FastCGI 앱은 문제가 없으며 올바른 데이터를 반환합니다. 그러나 같은 시간에 여러 요청이 시작될 때 어떤 일이 발생하는지 확신 할 수 없습니다. FastCGI는 이러한 요청을 대기열에 넣고 다음 요청에 응답하기 전에 이전 실행이 끝날 때까지 기다릴 것입니까? 아니면 FastCGI가 요청을 병렬로 처리합니까? 이것을 구성 할 수 있습니까? 응용 프로그램 또는 apache configs에서 구성 할 수 있습니까? 기본값은 무엇입니까?

내 응용 프로그램은

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

를 구현하고 while 루프 내부 재정 수를 수행한다.

감사합니다.

답변

4

내 웹 서버를 보면 몇 개의 Apache 인스턴스가 실행 중인지에 관계없이 한 번에 각 FastCGI 프로세스 중 하나만 실행됩니다. 그래서 나는 그것들이 그들을 기다리고 있다고 가정해야합니다.