mod_fcgid: read data timeout in 40 seconds

Если в логах сайта возникает ошибка mod_fcgid: read data timeout in 40 seconds, то это значит что апач через mod_fcgid передал некие данные php-скрипту на обработку, подождал 40 секунд и не получив ответа в этот срок возвратил ошибку (для посетителя она выглядит как 504).

Способы решения проблемы:

Способ первый — уменьшить время работы проблемного скрипта.

Часто проблемы такого рода возникают со скриптами обрабатывающими большое количество данных. В этом случае разбиение задачи на более мелкие части решает вопрос.

Ещё такая же ошибка может наблюдаться и в ситуации когда в процессе выполнения скрипта происходит обращение к какому-то внешнему ресурсу (например, к удалённому серверу), который на данный момент недоступен или просто «тормозит» не успевая дать ответ вовремя или не давая его вовсе. В этом случае нужно или восстановить доступность/быструю работу удалённого сервиса, или перейти к второму способу.

Способ второй — увеличить время ожидания mod_fcgid. Для этого откройте файл

в Debian/Ubuntu /etc/apache2/mods-available/fcgid.conf
И отредактируйте (если нету, то добавьте) строку:

IPCCommTimeout 300

где вместо 300 — нужно подставить подходящее время ожидания. Слишком большое ставить не нужно.

Затем перезапустить апач

service apace2 restart

источник: http://www.sysmasters.net/kb/mod_fcgid-read-data-timeout-in-40-seconds/