Last update done on 2004-12-15, last release is 1.3.33-2.


As lingerd hasn't yet been packaged for debian and as I wanted to use it,
I've made an apache-lingerd package. Maybe it could be useful for others...

What's apache-lingerd ?

Instead of rewriting a description, I'll use the official one :

Lingerd is a daemon 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.

Why using lingerd ?

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.
With this in mind, it is adviced to have an apache-lingerd server for dynamic pages and a normal apache server for serving static files like images.

How is it packaged in Debian ?

As Fabio Massimo Di Nitto adviced me, I've made a new flavor of the current Debian apache source tree instead of starting a new package from scratch.

So building apache with my source tree will produce, in addition to the normal flavours :

apache-common-lingerd provides the default files for apache-lingerd and replaces the /usr/sbin/apache-modconf script for adding the apache-lingerd support to it.

If user choose to run apache-lingerd, a lingerd process will be first run to hanlde lingers and then, apache-lingerd processes will.

Note that the default apache-lingerd httpd.conf file will disabled KeepAlive to allow lingerd to work properly.

There is a 500 days old RFP opened for this project, I've made an unofficial package and I am willing to provide help and time for this project to be packaged.

On the boxes I've tested so far, the package seems to run well, I use it for a couple of months now and it does the job properly.

I do think that Debian lacks this package, that's why I've packaged it thanks to the help Fabio gave me.

How to grab the apache-lingerd package ?

If you want to give a try to the apache-lingerd package, you can use my personal repository. I provide the binary for i386 and sparc architectures. The source will depend on the arch you want:

Arch sources.list
i386deb ./i386/
sparcdeb ./sparc/

Then you'll be able to install apche-lingerd :

# apt-get update
# apt-get install apache-lingerd

Feedback is always welcome !

Feel free to send some feedback to the debian-apache mailing list if you want to speak about the apache-lingerd package.