2
我有一个Web服务器,唯一的任务是运行图像处理。
Web服务器上的图像处理加载相同的XML设置文件(最大2MB)。
要保存XML文件加载时间为每个请求我使用如下结构:使用FastCGI的高负载Web服务器的最佳实践
- web服务器是Apache的(2.2.16)用图象处理应用程序(C++)MPM prefork的和FastCGI(fcgi_mod)。
调用图像处理应用程序加载的XML文件,并产生N个线程,并且每个线程运行:
thread_func()
{
FCGX_InitRequest
而(真)
{
FCGX_Accept_r
请求(图像)处理和FCGX_FPrintF/FCGX_PutStr
FCGX_Finish_r
}
}
一个这种模式的弱点是,虽然FCGX_Accept_r和FCGX_Finish_r调用之间在每个Apache进程最多一个线程会做其工作。那么它是否值得线程只有每个进程(单线程),但增加MaxClients?
预先感谢您:)
一个多线程的线程的数量是没有问题的。我可以为每个Apache Web服务器进程创建多个线程。问题在于代码执行在FCGX_Accept_r和FCGX_Finish_r调用之间时是否值得。 – Valentine 2011-01-20 15:38:27