On Wed, 19 Dec 2007, Jean-Paul BALOCHE [STG] wrote:
> On each http server, I've got 10 virtual hosts each one on
> a specific port. ldirector is configured to check every
> virtual host of every servers. It do it sequentialy, so if
> several virtual hosts are done, I have to wait for the
> timeout to arrive. So it take a long time to check all
> servers. Is it possible to parallelise checks ?
presumably you should be able to monitor a large LVS (eg
1024 realservers), however doing them serially isn't going
to work. A similar problem exists for failover
http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.failover.html#1024_failover
but the solution there isn't useful in your case.
ldirectord would have to be modified to query and listen in
parallel. This is the way I've done it before (pseudo code,
possibly not semantically correct)
no_errors=0
fork{
if parent{
wait till child exits
}
if child{
#hmm. important bit here.
#I had to set an alarm
#so that I knew when the forall had completed
#the method was in one of the perl books
forall realservers{
(query_realserver; store_status) &
}
}
}
if [ no_errors != 0 ]
switch out realservers with errors;
fi
Joe
--
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!
|