2008-12-29 244 views
3

www.fastcgi.com上的文檔並不清楚(我),所以我希望有人能給我一個明確的答案。FastCGI請求處理

我已經用C++編寫了一個FastCGI應用程序來完成一些重型數字運算。當應用程序第一次加載時(當apache啓動時),它將MySQL數據緩存到向量中,這需要大約一分鐘(因此使用FastCGI而不是CGI ;-))。然後它等待一個請求開始數字計算。

通常,用戶發出請求,FastCGI應用程序運行沒有問題,並返回正確的數據。但是,當我幾乎同時發起幾個請求時,我不確定發生了什麼。 FastCGI是否對這些請求進行排隊,並在響應下一個請求之前等待先前的運行完成?或者FastCGI並行處理請求?這可以配置,並且你配置它在你的應用程序或在Apache配置?什麼是默認值?

我的應用程序只實現

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

,並執行while循環運算次數。

欣賞任何幫助,歡呼兄弟。

回答

4

看着我的web服務器,無論有多少個Apache實例在運行,我只有一個FastCGI進程在任何時候運行。所以我必須假設它正在排隊。