Review your favorite Linux distribution.
Go Back > Forums > Linux Forums > Linux - Networking
User Name
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.


  Search this Thread
Old 03-03-2011, 03:34 PM   #1
LQ Newbie
Registered: Mar 2009
Posts: 10

Rep: Reputation: 0
TCP Tuning issue


I have a question about tuning TCP parameters for a WAN link in order to facilitate high throughput, basically keeping the pipe full. I am only changing parameters on the receiver side which is running Red Hat 5.3. Kernel - 2.6.18-53.el5.

With the default values for everything - net.ipv4.tcp_wmem, net.ipv4.tcp_rmem, net.ipv4.tcp_mem, etc .the behavior that I see is that the sender sends 2 packets with size 1448 bytes and then seems to wait for an ACK from the receiver before it sends another 2 packets of the same size.

I then change the above mentioned variables to the foll:
#Increase TCP maximum buffer size
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
#Increase Linux autotuning TCP buffer limits
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_mem = 2097152 2097152 16777216

With the above the behavior is exactly the same as the first case. With the bigger buffers, shouldn't I see more data in flight? What am I missing here and how can I increase my data in flight? Just for the heck of it, I also tried:

net.ipv4.tcp_rmem = 2097152 2097152 16777216
net.ipv4.tcp_wmem = 2097152 2097152 16777216

with everything else the same as case 2 but no change. Windows scaling is enabled.

I would appreciate any help with this.

Old 03-08-2011, 06:44 PM   #2
Registered: May 2001
Posts: 29,361
Blog Entries: 55

Rep: Reputation: 3547Reputation: 3547Reputation: 3547Reputation: 3547Reputation: 3547Reputation: 3547Reputation: 3547Reputation: 3547Reputation: 3547Reputation: 3547Reputation: 3547
0) Linux (kernel) auto-tunes {r,w}mem on boot according to available RAM, 1) receiver-side modification of the stack can AFAIK only indirectly influence sender behaviour by way of return traffic and 2) tuning the stack doesn't take into account bottlenecks like those of the sender-side (I/O, CPU, sysctl, tc, firewall), router (packet limiting?) and Internet "weather". It would make sense to first determine sender maximum throughput, the realistic (as opposed to advertised) throughput of your pipe, how routing affects throughput and from that glean realistic upper and lower traffic volume bounds.


pipe, tcp, tuning, wan

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
TCP tuning on RHEL 5 custangro Linux - Enterprise 1 06-03-2010 07:50 PM
TCP tuning for a server with very short HTTP connections jampy Linux - Networking 1 12-24-2009 10:15 AM
TCP tuning in Linux for non-blocking socket connection over long-path WAN mmmike123 Linux - Networking 0 04-23-2009 02:32 PM
MTU/MSS issue in TCP connection kapsikum Linux - Networking 1 06-10-2008 09:34 AM
TCP/IP issue ratul_11 Linux - Networking 1 10-24-2007 09:05 AM > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 04:33 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration