[e2e] query reg improving TCP performane

query 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
> interface.
> >     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
904):
     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
> be
> >        at least twice the bandwidth*RTT.  For BIC is is probably reduced
> to
> >        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
> link
>
> 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/core/rmem_max  1756366
    /proc/sys/net/core/wmem_max  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
buffer .
The send buffer should be 20% more than BDP "

Do you agree with  this statement , please give your views.




 With Thanks and Regards
 Zaman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.postel.org/pipermail/end2end-interest/attachments/20070711/053db948/attachment.html


More information about the end2end-interest mailing list