[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

What about apache-lingerd ?



Hello there.

I would like to introduce the unofficial apache-lingerd package to this
list and to invite you to speak about it.

I'll first of all describe the lingerd project for explaining what it is
designed for, then I'll explain in which cases it is useful and then
will I conclude with a short description of my "flavor" :
apache-lingerd.


1 - What is Lingerd ?

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

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. 


2 - 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. 

Note that apache-lingerd is really recommended when hosting PHP sites.

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.


3 - 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 :
- apache-common
- apache-dbg
- apache-lingerd
- apache-perl
- apache-ssl
- apache-utils
- apache

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 [2] opened for this project, I've made an
unofficial package [3] and I am willing to provide help and time for
this project to be packaged.

My package runs well, I use it for about one month 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.

If you think I'm wrong, or if you have a comment or a question about
this issue, please reply on the list. 

Let's talk ! :)

Alexis.

1 : http://www.iagora.com/about/software/lingerd/
2 : http://lists.debian.org/debian-wnpp/2003/04/msg00079.html
3 : http://www.sukria.net/index.php?p=409


-- 
Alexis Sukrieh <sukria@sukria.net>
 
    * Another Linux Debian Geek Enthusiast
    * http://www.sukria.net
    * http://www.debian.org - Just for code.



Reply to: