将FastCGI用于高负载Web服务器的最佳实践

时间:2011-01-20 08:10:10

标签: fastcgi

我有一个Web服务器,唯一的任务是运行图像处理 Web服务器上的图像处理加载相同的XML设置文件(最多2MB) 要为我使用的每个请求保存XML文件加载时间,请遵循以下架构:

  1. Web服务器是带有MPM prefork的Apache(2.2.16)和带有图像处理应用程序(C ++)的FastCGI(fcgi_mod)。
  2. 调用图像处理应用程序加载XML文件并生成N个线程并运行每个线程:

    thread_func()
    {
        FCGX_InitRequest
        而(真)
        {
            FCGX_Accept_r
            请求(图像)处理和FCGX_FPrintF / FCGX_PutStr
            FCGX_Finish_r
        }
    }

  3. 此模型的一个缺点是每个Apache进程中最多一个线程将在FCGX_Accept_r和FCGX_Finish_r调用之间执行其工作。那么每个进程(单线程)只有 1 线程 ,但增加MaxClients值得吗?

    提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

您可以使用fastcgi模块,每个进程允许多个线程