LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Question about the TCP splicing module (TCPSP)

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Question about the TCP splicing module (TCPSP)
From: Bhuvan Urgaonkar <bhuvan@xxxxxxxxxxxxxxxxx>
Date: Sat, 4 Oct 2003 17:26:02 -0400 (EDT)
Hello,

I have a question about using the TCP splicing module (TCPSP) that is 
available at the lvs web site. I am using the Layer-7 switch ktcpvs as a 
load balancer in front of a replicated web server. I'd like to also 
have the TCP splicing feature to avoid the overhead of data copying 
between the socket buffers that ktcpvs does. [Due to this copying, ktcpvs 
becomes the bottleneck when the request rate to the web server is high.] 

I read a few papers about TCP splicing and got the impression that it can 
be used to avoid this copying overhead. My question is with regard to the 
example use of TCP splicing that comes with the TCPSP module. In this 
example, a connection from a client is accepted. Then a new connection is 
opened with a server. After this the tcp splicing call is made. Now my 
understanding of TCP splicing was that this is all that needs to be done 
and the TCPSP module would take care of the subsequent transfer of data 
between the two connections. However, in the example, I see that the data 
transfer has to be done explicitly (using the poll mechanism for finding 
when more data has arrived on either connection) after the connections 
have been "spliced". Why should this have to be done? 

I'd really appreciate any replies to my question. Also, any suggestions on 
using the TCP splicing module with ktcpvs would be very valuable.

Best regards. 


--
Bhuvan Urgaonkar

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