LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

[lvs-users] questions about schedulers

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: [lvs-users] questions about schedulers
From: Sebastian Vieira <sebvieira@xxxxxxxxx>
Date: Sun, 1 Feb 2009 19:01:34 +0100
Hi,

Up until now i have always used LVS-NAT with the 'wlc' scheduler in
combination with persistence to load balance the incoming traffic to
several realservers and to make sure they stay on that rs for some
time while their (website) session is active. Now i'm going to setup
an LVS for several websites, some of which use SSL and/or session
support. While the 'wlc' scheduler is perfect, i've found that once
the traffic goes really high (tested with apache's 'ab') the director
stops forwarding packets. This is around 4-5 thousand connections. My
guess is that this is because of the IPVS table (size=4096) which
doesn't get cleared because of persistence.

So i've been looking around for another scheduler and one that seems
good is 'dh'. I've done some tests with it and i get really push the
site to its limits without packets being dropped or rejected. So far
so good. Some things that i can't seem to get my fingers on though:

One thing i know from the 'dh' scheduler is that the connection to the
realserver is based on a hash made from the CIP. Does this mean that
in theory connections from different clients can all go to the same
rs? If not, how are the client connections balanced?

I've heard/read mixed opinions on persistence. My own opinion is that
it works great, provided you trust all clients. Obviously this would
only work in a LAN, not for an LVS put in front of webservers while
being available to everybody (aka the internet). Am i wrong in this
assumption?

In the past i've compiled the kernel to up the IPVS table size from
standard 4096 to a multitude of that. Lately i've read in the HOWTO
that this value should only be altered if i know more about IPVS than
the developers. My ego isn't that big so i've left it alone ;)

Basicly my question would be better formed as:  if i deploy an LVS for
a high traffic website that requires the client to be routed to the
same realserver for as long as their session on the realserver lasts,
should i still be using the 'wlc' scheduler in combination with
persistence or is another scheduler better suited?

Also (final question) if i use another scheduler, do the
/proc/sys/net/ipv4/vs/expire_nodest_conn and expire_quiescent_template
still have the same effect?

thanks,

Sebastian

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

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