【发布时间】:2011-01-20 08:10:10
【问题描述】:
我有一个网络服务器,唯一的任务就是运行图像处理。
Web 服务器上的图像处理加载相同的 XML 设置文件(最大 2MB)。
为了节省每个请求的 XML 文件加载时间,我使用以下架构:
- Web 服务器是带有 MPM prefork 的 Apache (2.2.16) 和带有图像处理应用程序 (C++) 的 FastCGI (fcgi_mod)。
-
调用的图像处理应用程序加载 XML 文件并产生 N 个线程,每个线程运行:
thread_func()
{
FCGX_InitRequest
而(真)
{
FCGX_Accept_r
请求(图像)处理和 FCGX_FPrintF/FCGX_PutStr
FCGX_Finish_r
}
}
该模型的一个弱点是,每个 Apache 进程中最多有一个线程在 FCGX_Accept_r 和 FCGX_Finish_r 调用之间执行其工作。那么每个进程(单线程)1 个线程仅,但增加 MaxClients 是否值得?
提前谢谢你:)
【问题讨论】:
标签: fastcgi