Hi Chris,
Sorry for the delay.
On Wed, 26 Jan 2005, Chris Caputo wrote:
On Thu, 27 Jan 2005, Wensong Zhang wrote:
You probably don't need to worry too much about imbalance at the startup,
any slight imbalance among servers will direct a new connection to the
least loaded server. It's impossible that all the connections are assigned
to a server, and the load (traffic/weight) of all the servers are equal.
Hi. Through experimentation I have tested and observed that rr is
definitely needed on startup (or when resuming from idle) when dealing
with my example use for this scheduler (incoming newsfeeds) because of
their nature:
- when a virtual server starts up, the first news server to connect may
open up 10 to 20 connections to the virtual address at the same time
(ie., in less than the 2 second estimator interval). Without rr, all
of those connections will be directed at the same real server,
defeating the purpose of the scheduler, and resulting in an imbalance
that may take days (due to the below bullet) to rectify.
- incoming newsfeed TCP streams can have a very long lifetime (days
is not uncommon), and thus it is important to try to balance them out
from the start because it may take a long time before scheduling of
new connections can help balance them.
Please let me know if this doesn't have you convinced. :-)
I see your points. As our byte or packet rate is only measured every two
seconds, it's quite possible that some servers may have the same rate,
especially at startup time. It's good to use round-robin when they have
the same rate.
By the way, here are the patches with the byterate/packetrate separated
into different files. Also at:
http://www.caputo.com/foss/ipvsadm-1.24-wlibp.patch
http://www.caputo.com/foss/lvs_wlibp-2.6.10.patch
Thank you,
Chris
Thanks for your patch. will apply to ipvs code.
Wensong
|