Sometimes our shared hosting server is replying with error500 even thought the load doesn't seem too high. Customers are complaining. On this page
"By default, PHP FastCGI processes exit after handling 500 requests, and they may exit after this module has already connected to the application and sent the next request. When that occurs, an error will be logged and 500 Internal Server Error will be returned to the client. This PHP behavior can be disabled by setting PHP_FCGI_MAX_REQUESTS to 0, but that can be a problem if the PHP application leaks resources. Alternatively, PHP_FCGI_MAX_REQUESTS can be set to a much higher value than the default to reduce the frequency of this problem. FcgidMaxRequestsPerProcess can be set to a value less than or equal to PHP_FCGI_MAX_REQUESTS to resolve the problem."
Can you confirm that:
does PHP_FCGI_MAX_REQUESTS default to 500 on a normal Virtualmin installation?
should we have MaxRequestsPerProcess 500 on /etc/httpd/conf.d/fcgid.conf in order to have fcigd doing the process management and avoiding the PHP_FCGI_MAX_REQUEST limit?