Hello,
Martijn Klingens wrote:
As we all know persistent connections for LVS are frowned upon unless
absolutely necessary. Since plain http-only webservers hardly qualify as
necessary one is not encouraged to make them persistent.
Agreed.
However, most modern web sites use sessions for all kinds of reasons, and
sessions are usually stored on a single machine. It's possible for both
Apache and IIS to store the session state on a shared storage device or in a
database, but this is rather slow. Especially for IIS, because IIS normally
stores session state in RAM for fastest access.
Agreed, except with the speed issue. A session state cannot be the bottleneck or
you have commited a serious design crime to your whole application.
Now I'm wondering if it's possible for LVS to 'prefer' the realserver to which
it connected a client before if that realserver is not completely overloaded
LVS doesn't connect ???
or removed from the cluster, but otherwise (and only then) reassign the
client to another realserver.
WLC.
This way the overhead of fetching session state from slow storage on the
realservers is kept to the minimum required, and you still get the full
failover capability from ldirectord.
I don't understand, sorry. Can you please explain a little bit further as to why
you think you can minimise the overhead of fetching the session state? Also I
don't think you need session state if you don't have other DB queries to do for
your website and those are that most of the time account for the worst load
imbalance.
If it's only for failover this can also be achieved using the sysctl flags
that Joseph now finally documented in the HOWTO (thanks!), if it's also for
Where did he document new sysctrl flags for failover or do I misunderstand you
again?
equalizing overloaded realservers I am much less sure the current LVS can do
this.
The WLC scheduler does kind of an equalizing functionality. Please read [1] and
tell me if this doesn't satisfy you. If we have a serious overload caused by
session state fetching or replication on a server we will see this kind of time
shifted in the amount of active connections per RS. The WLC scheduler takes care
of this with a very simple but effective (I have MRTG graphs and numbers proving
this) formula.
Any ideas?
[1] http://www.linux-vs.org/docs/scheduling.html
HTH and best regards,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc
|