Hi there.
I am a junior at the Indian Institute of Technology, Bombay and am working
on this project where I am using LVS.
The problem I am facing is this: how do I create a test environment in the
lab where I would be able to simulate the real-world environment
carefully. The setup I have been trying to test with is as follows: I have
a LVS-DR setup with VIP and RIP's on the same network as the client. I
have 3 web servers running Apache and configured to open a min of 20
httpd, a max of 50 and 30 on startup. Also MaxClient = 500. These
conditions I found increase processor + memory utilisation to almost 100%
on a single machine.
My machines are connected via a 10 MBPS Ethernet. With my LVS up and
running, my performance drops (yes!) to about 75% of the value for a
single machine. My guess is that the network is the bottlenect and that
somehow the traffic in the network is gettting more bursty which is
causing increased delays for a fraction of packets.
The software I am using for testing is Apache Bench -- at a concurrency
level of 100-500 and around 5000-50000 connections. Also, the maximum
connection time reported by Apache Bench increases almost 3 fold when i
run the lvs as opposed to a single web server. This makes me think that my
suspicions about a fraction of requests taking too much time and pushing
up the averages is true.
My stats are as follows (figures are approx)
to a single web server --> approx. 800 K/s throughput
around 320 requests/sec
to a lvs cluster of 3 machines ---> approx 600 K/s
around 250 req/s
Processing time increases by approx 70%. Connection time increases by
almost 130%.
Also, funny thing is that the kind of load I am generating is easily
saturating the one web server, but hardly stresses the cluster which
operates at around 80% processor idle. This again seems to suggest a
bottleneck in the network(correct me if i am wrong). The machines I am
using are all Linux Kernel 2.2.12-20 machines with apache 1.3.
P-III/550MHZ + 128 MB RAM + Realtek 8029 (PCI) cards (pci-ne2k.c)
COuld you please
1. suggest a better traffic generator than Apache Bench.. which reports
too few diagnostics to be of much use.
2. suggest the kind of network configuration that would be best put to
test the LVS-DR
3. give info as to the max kind of connections/sec or requests/sec that
LVS can handle. (order of magnitude would be fine ... assuming I have
access to reasonably fast processors .. say dual/quad processor boards,
unlimited RAM blah blah. WOuld it be able to support 10000-50000
connections/sec....
4. where, if there is one, would the bottleneck be and is there any way i
can get around it, other than going ahead and developing a hardware
implementation.
5. add any further useful info.
This is the first time I am posting and I apologize if some of the above
has been covered previously in this newsgroup. I went through some of the
archives, but it is 7 in the morning now and I thought, what the hell
anyway.
sorry again if i caused any of you trouble.
thanks.
Vivek
|