Red Hat Bugzilla – Bug 217349
Include lingerd for huge performace gains in webapps
Last modified: 2007-11-30 17:11:50 EST
Description of problem:
Version-Release number of selected component (if applicable):
All Apache in RHEL4/5
Steps to Reproduce:
1. Put dynamic pages up
2. Put apache under stress
Lots of processes end up in FIN_WAIT, blocking untill release
Fast release fo apache processes by using lingerd.
I propose to add lingerd as optional component to RHEL. Infos about lingerd:
Lingerd is a daemon (service) designed to take over the job of properly closing
network connections from an http server like Apache.
Because of some technical complications in the way TCP/IP and HTTP work, each
Apache process currently wastes a lot of time "lingering" on client connections,
after the page has been generated and sent. Lingerd takes over this job, leaving
the Apache process immediately free to handle a new connection. As a result,
Lingerd makes it possible to serve the same load using considerably fewer Apache
processes. This translates into a reduced load on the server.
Lingerd is particularily useful in Apache webservers that generate dynamic pages
(e.g in conjunction with mod_perl, mod_php or Java/Jakarta/Tomcat).
More importantely, lingerd can only do an effective job if HTTP Keep-Alives are
turned off; since keep-alives are useful for images, the recommended lingerd
setup is to have an Apache/mod_whatever/lingerd server for the dynamic pages,
and a plain Apache (or thttpd or boa) for the images.
This is not a feature for httpd it's a whole new package. I think it would be
useful submission to Extras, maybe you could take that on?