[FASTCGI] Fastcgi C++ error on Apache and windows, corrections

Igor sprog at online.ru
Mon Aug 25 15:03:18 EDT 2008


Hello All,

It seems that I've been wrong about worker.c, worker.c is not a default mpm on
windows but rather mpm_winnt. Instead of giving advises on tuning
worker.c parameters for win32 I should have advised mpm_winnt's parameters
which are a bit limited.

Actually mpm_winnt's ThreadsPerChild is the only parameter which can make
difference.

The mpm config for win32 should look like

  <IfModule mpm_winnt.c>
     ThreadsPerChild      600
     MaxRequestsPerChild  0
  </IfModule>


> Check our your test environment's worker.c setup.
>  <IfModule worker.c>
>  </IfModule>
>
>  The issue you described is related to either FastCGI load balancer or your Apache2 thread manager.
>  I would go to worker.c first. By default the worker.c (on windows that is the only supported model) is set up to work
>  on a very powerless machine therefore the ServerLimit as well as MaxClients and MaxRequestsPerChild is configured to consume
>  less memory and CPU (about 3-5% of available modern servers). I wouldn't go into details describing how that affects your Fast CGI servers,
>  just remember - when you start performance test (max server load test) your Apache configuration should allow it to consume almost all server
>  resources. By default you're utilizing only 5% of your server, all the threads are consumed and you got incomplete header error while your
>  server load is only 5%. Change parameters in worker.c according to the resources available. Likely that config will be checked by a teenager first by sending
>  the server a numerous requests and seeing how it affects the server's ability to respond. Actually any server could be DOSed, but that is the whole another story.
   
> Note that this code only displays the Incomplete headers error during load testing, whats worse is that when the environment for load testing is slightly different (meaning using less virtual machines per host) we dont see this error anymore.

>  That might happen because the less hosts you have the more threads are available. It's all in the worker.c. I recommend you to study how Apache2 is
>  utilizing available resources before running performance tests. Of course Apache has a built in load restrictions otherwise you would end up with a DOSed host that
>  you cannot access even via console.



-- 
Best regards,
 Igor                          mailto:sprog at online.ru



More information about the FastCGI-developers mailing list