Speed up ZM with Lingerd
Posted: Thu Dec 10, 2009 6:52 am
http://www.iagora.com/about/software/lingerd/
I have a solution and its really easy don't be scared of the compiler
First make a build directory
Move into the build directory
Get the tarball
Unpack tarball
Move into extracted archive
compile
copy compiled file to /usr/bin
add permisions for execution
Now in order for this demand to start it must run before apache starts. So you can make a rc.d or init.d file for lingerd but then theres a change you could make it start before httpd.
my solution is just add it to apaches rc.d or init.d file (note this will differ per distro.)
On arch linux
Heres what my rc.d looks like. The changes are between
##EDIT START
##EDIT END
Also remember to edit
httpd.conf and turn off keep alive other wise all that work would be for nothing.
Now you can take back all that mem httpd was wasting.
I dont know how manny of you have had issuse with zm/apache being slow and just dropping frequently form flipping though events.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.
I have a solution and its really easy don't be scared of the compiler
First make a build directory
Code: Select all
mkdir build
Code: Select all
cd build
Code: Select all
wget http://images.iagora.com/media/software/lingerd/lingerd-0.94.tar.gz
Code: Select all
tar zxf lingerd-0.94.tar.gz
Code: Select all
cd lingerd-0.94
Code: Select all
make
Code: Select all
cp lingerd /usr/bin/lingerd
Code: Select all
chmod a+x /usr/bin/lingerd
my solution is just add it to apaches rc.d or init.d file (note this will differ per distro.)
On arch linux
Code: Select all
nano /etc/rc.d/httpd
##EDIT START
##EDIT END
Code: Select all
case "$1" in
start)
stat_busy "Starting Apache Web Server"
##EDIT Start
/usr/bin/lingerd
##EDIT END
if $APACHECTL start &>/dev/null ; then
add_daemon $daemon_name
stat_done
else
stat_fail
exit 1
fi
;;
stop)
stat_busy "Stopping Apache Web Server"
##EDIT START
pkill lingerd
##EDIT END
if $APACHECTL stop &>/dev/null ; then
rm_daemon $daemon_name
stat_done
else
stat_fail
exit 1
fi
;;
httpd.conf and turn off keep alive other wise all that work would be for nothing.
Now you can take back all that mem httpd was wasting.