The usual IT babble
Posts tagged barfoo.org
My neverending lighttpd troubles
Jul 16th
Well, after a day or so my lighttpd troubles reappeared. But this time, the lighttpd process would simply put out this:
(mod_fastcgi.c.2913) backend is overloaded; we'll disable it for 2 seconds and send the request to another backend instead: reconnects: 0 load: 131 (mod_fastcgi.c.2668) fcgi-server re-enabled: 0 /var/run/lighttpd/lighttpd-fastcgi-php-17242.socket (mod_fastcgi.c.2913) backend is overloaded; we'll disable it for 2 seconds and send the request to another backend instead: reconnects: 0 load: 131 (mod_fastcgi.c.2668) fcgi-server re-enabled: 0 /var/run/lighttpd/lighttpd-fastcgi-php-17242.socket
And as the message says, PHP (or rather mod_fastcgi?) would simply stop to process requests. In the end, I tuned some of the lighttpd/mod_fastcgi parameters.
"max-procs" => 2
"idle-timeout" => 20,
"socket" => "/tmp/php.socket-" + var.PID,
"bin-path" => "/usr/bin/php-cgi",
"bin-environment" => ( "PHP_FCGI_CHILDREN" => "6",
"PHP_FCGI_MAX_REQUESTS" => "7000" )Up till now (I made the change on July 14th), these changes seem to have fixed the issue, guess I’m still hoping (with the saying “Hope dies last” in mind) it’s gonna fix my problems once and for all.
Lighttpd issues
Jul 11th
At first, it seemed that my lighttpd issues were resolved by updating PHP/remerging lighttpd. But apparently not. After putting in a crontab entry, that restarts lighttpd every 15 minutes (which completely sucks), the issue was minimized in it’s impact but not really solved.
*/15 * * * * root /etc/init.d/lighttpd restart &>/dev/null
Thanks to Michél (I guess, again) — who helped me looking at the strace logs, and of course Christian (aka hoffie — one of my old Gentoo buddies), the issue seems finally resolved. It turns out it was neither a PHP nor lighttpd issue. It was a simple matter of (stale) symlinks in /etc/ssl/certs if you can imagine that. Apparently a stale symlink forced PHP into a loop or something, from which it couldn’t recover on it’s own.
So the thank you is probably to the one, who introduced those lines to the ca-certificates ebuild (guess, that would be vapier, the old code monkey):
if [[ $badcerts -eq 1 ]]; then ewarn "You MUST remove the above broken symlinks" ewarn "Otherwise any SSL validation that use the directory may fail!" ewarn "To batch-remove them, run:" ewarn "find -L ${ROOT}etc/ssl/certs/ -type l -exec rm {} +" fi
After letting the find run through /etc/ssl/certs and restarting lighttpd in the process, everything is back to working order! Finally!