[e2e] query reg improving TCP performane
query.cdac at gmail.com
Wed Jul 11 04:23:55 PDT 2007
On 7/10/07, Lachlan Andrew <lachlan.andrew at gmail.com> wrote:
> Greetings Lachlan ,
> > I was able to identify the size of the buffer in the Router's
> > It was found to be 2040
> > bytes and the buffer management scheme used is FIFO .
> That's a very small buffer -- it can only hold one packet! Are you
> sure that was the size?
I am not quite sure as I don't have much experience in routers.
This is the output of "show buffers " command in Cisco C3750 switch.
Interface buffer pools:
Supervisor MIC Fallback pool buffers, 2040 bytes (total 904, permanent
897 in free list (0 min, 904 max allowed)
44790529 hits, 0 misses
supervisor_cpuq_0_pool buffers, 2040 bytes (total 1200, permanent 1200):
700 in free list (0 min, 1200 max allowed)
104718271 hits, 0 misses
supervisor_cpuq_2_pool buffers, 2040 bytes (total 64, permanent 64):
0 in free list (0 min, 64 max allowed)
64 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
supervisor_cpuq_1_pool buffers, 2040 bytes (total 128, permanent 128):
1 in free list (0 min, 128 max allowed)
25512718 hits, 199587 fallbacks
supervisor_cpuq_4_pool buffers, 2040 bytes (total 128, permanent 128):
1 in free list (0 min, 128 max allowed)
3032553 hits, 35456 fallbacks
supervisor_cpuq_15_pool buffers, 2040 bytes (total 4, permanent 4):
0 in free list (0 min, 4 max allowed)
801508724 hits, 801508720 misses
From that I interpreted that the buffer size is 2040 bytes. Correct me if
I am wrong.
> > The general rule-of-thumb for Reno is that the send buffer should
> > at least twice the bandwidth*RTT. For BIC is is probably reduced
> > about 120% of the BDP
> > ""
> > The tunings are as follows.
> > Send buffer = BDP + 120 % of BDP
> > = 921600 + 184320
> > = 1105920 bytes
> This is 220% of the BDP (100% + 120%). I originally meant just 120%.
> Still, using 200% should be better.
I think it is only 120 % only of BDP and not 220%. .
= 921600 + 921600/100 * 20
= 921600 + 184320
= 1105920 bytes.
> > Receive buffer = BDP + Router's buffer size
> > = 921600 + 2040
> > = 923640 bytes
> I would have guessed that this is what is causing the biggest
> reduction in your throughput. I'm pretty confident that the router's
> buffer size will be bigger than 2040 bytes.
If you know the appropriate command , please let me know. It is
Cisco C3750 catalyst switch. Also , tell me the command to increase the
buffer size if you are aware of it.
> But if I tune the window size to twice the size of BDP , I got a
> > average throughput of
> > around 88 Mbits/sec which I feel very much O.K for a 100 MBits/sec
> The "window" is controlled by TCP -- you can't tune it. Did you tune
> one of the buffer sizes?
I did the following tunings at both ends . BDP was 921600 . So twice of
BDP is 1756366
/proc/sys/net/ipv4/tcp_rmem 4096 87380 1756366
/proc/sys/net/ipv4/tcp_wmem 4096 87380 1756366
> In that case , the end to end send and receive buffer size should be
> > atleast
> > equal to twice the size of BDP to obtain maximum throughput.
> That sounds like a good rule of thumb. It is certainly the widely
> accepted rule for Reno.
All my findings are based on BIC . Now , since in the case of our
network , the size of the buffer in the intermediate router is probably
not equal to the size of BDP, so in that case I feel that the end to end
send and receive buffer size should be atleast equal to twice the size of
BDP to obtain maximum throughput. . This applies both for RENO and BIC.
But if the size of the buffer in the intermediate buffer is equal to the
size of BDP , Then the settings can be whatever you said for BIC.
"The receive buffer should be at least equal to the BDP plus the router
The send buffer should be 20% more than BDP "
Do you agree with this statement , please give your views.
With Thanks and Regards
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the end2end-interest