LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: 'Preference' instead 'persistence'?

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: 'Preference' instead 'persistence'?
From: Roberto Nibali <ratz@xxxxxx>
Date: Tue, 08 Oct 2002 11:38:45 +0200
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



<Prev in Thread] Current Thread [Next in Thread>