When a VirtualServer is created or the PHP version for that server is changed (and possibly in other circumstances), an entry for IPCCommTimeout is added to the relevant Apache VirtualHost entry in /etc/httpd/conf/httpd.conf.
The default setting added to the VirtualHost in httpd.conf is:
This value is set programmatically in the following script: /usr/libexec/webmin/virtual-server/php-lib.pl
# For fcgid mode, set IPCCommTimeout to either the configured value
# or the PHP max execution time + 1, so that scripts run via fastCGI
# aren't disconnected
(comment above at lines 352-354)
When using mod_fcgid, this default setting for IPCCommTimeout results in many read data timeout errors of the following kind:
[Mon Apr 04 20:01:26.919877 2016] [fcgid:warn] [pid 23943] [client xxx.xxx.xxx.xxx:33985] mod_fcgid: read data timeout in 31 seconds
It's suggested in a previous report for this issue that IPCCommTimeout refers to clock time (i.e. real-world seconds) while PHP's max_execution_time is in CPU time. (Therefore the above error would be quite expected for longer-running PHP processes if the server is under load.) This is consistent with what I'm seeing, as if I increase IPCCommTimeout to something much bigger (e.g. 1200 rather than 31) the errors immediately disappear.
Suggested fix, as per previous report, is to set default IPCCommTimeout to some suitable multiple of php_execution_time (e.g. 40x is what I'm using successfully).