www.fastcgi.com上的文档对此(我来说)并不清楚,所以我希望有人可以给我一个明确的答案。
我用C ++写了一个FastCGI应用程序来做一些重载数字运算。当应用程序首次加载时(当apache启动时),它会将一些MySQL数据缓存到一个向量中,这需要大约一分钟(因此使用FastCGI而不是CGI ;-))。然后它等待请求开始数字运算。
通常,用户发出请求,FastCGI应用程序运行没有问题,并返回正确的数据。但是,当几乎同时启动多个请求时,我不确定发生了什么。 FastCGI是否对这些请求进行排队,并在响应下一个请求之前等待上一次运行完成?或者FastCGI并行处理请求?这可以配置,你在应用程序或apache配置中配置它吗?什么是默认值?
我的应用程序只实现
while(FCGX_Accept( &in, &out, &err, &envp)>=0){}
并在while循环中执行数字运算。
感谢任何帮助,欢呼兄弟。
答案 0 :(得分:4)
查看我的Web服务器,无论有多少Apache实例正在运行,我每次只运行一个FastCGI进程。所以我不得不假设它正在排队。