LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

ktcpvs

To: <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: ktcpvs
From: Wensong Zhang <wensong@xxxxxxxxxxxx>
Date: Tue, 8 May 2001 22:45:48 +0800 (CST)
Hi,

I want to release ktcpvs version 0.0.1. It is available at
http://linux-vs.org/software/ktcpvs/ktcpvs-0.0.1.tar.gz.

KTCPVS stands for Kernel TCP Virtual Server. It implements
application-level load balancing inside the Linux kernel, so called
Layer-7 switching. Since the overhead of layer-7 switching in user-space
is very high, it is good to implement it inside the kernel in order to
avoid the overhead of context switching and memory copying between
user-space and kernel-space. Although the scalability of KTCPVS is lower
than that of IPVS (IP Virtual Server), it is flexible, because the content
of request is known before the request is redirected to one server.


I have to warn you that this is very very draft code, which I wrote last
May in order to prove the concept. However, I had touched this code for
near one year, but I don't want it to see that it becomes garbage, so I
release this very very draft code, in order to push myself get time to
work on it. :)) There are a lot of work to do, such as interface redesign,
the correct way to handle requests in the kernel, locking, logging,
comparing the server architecture (which one is good, apache-like
architecture or event-driven architecture).  If you are interested in the
development, you are very welcome, hopefully we will make it a useful one
in the near future.

Here are some simple commands to test this ktcpvs:

su -
cd ~wensong/ktcpvs
make install
insmod tcp_vs_wlc.o
userspace/tcpvsadm -A -i http -s wlc
userspace/tcpvsadm -a -i http -r <real_server>:80
echo 1 > /proc/sys/net/ktcpvs/http/start
lynx http://localhost:8080/

To stop it,
echo 1 > /proc/sys/net/ktcpvs/http/stop
echo 1 > /proc/sys/net/ktcpvs/unload
rmmod tcp_vs_wlc
rmmod ktcpvs


your comments are very welcome!

Thanks,

Wensong



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