[j-nsp] policing TCP traffic

Jason Parsons jparsons-juniper@saffron.org
Fri, 30 Aug 2002 12:38:31 -0400


While testing TCP performance through a policer in the lab, we noticed 
some strange results.  It appears that with 15M and 20M policers, we 
get significantly less throughput (as a percentage of the policer 
setting) than with other settings.

I'm not sure this can be explained by the TCP window closing, as it 
seems to happen only at 15M and 20M.

We are using the netperf tool to generate traffic:
     netperf -H 192.168.8.11 -l 200 -- -i 192.168.11.11

The policer is configured as follows, under 5.4R1 on an M10:

     fe-0/0/3 {
         unit 0 {
             family inet {
                 filter {
                     input test-filter;
                 }
                 address 192.168.11.2/24;
             }
         }
     }

     family inet {
         filter test-filter {
             policer p1 {
                 if-exceeding {
                     bandwidth-limit 15m;
                     burst-size-limit 100m;
                 }
                 then discard;
             }

Here is a summary of our results at different settings.  Yes, I know 
that the burst-size is set high, but that doesn't seem to make a 
difference in this test.

==> summary_5m_tcp_output.txt <==
Avg. bw per round =   4.8100 Avg. delay per round =  10.0780 ms
==> summary_10m_tcp_output.txt <==
Avg. bw per round =   9.6600 Avg. delay per round =   5.3340 ms
==> summary_15m_tcp_output.txt <==
Avg. bw per round =  11.2200 Avg. delay per round =   3.5190 ms
                                        ^^^^^^^
==> summary_20m_tcp_output.txt <==
Avg. bw per round =  11.5500 Avg. delay per round =   3.4150 ms
                                        ^^^^^^^
==> summary_25m_tcp_output.txt <==
Avg. bw per round =  24.0700 Avg. delay per round =   6.5240 ms
==> summary_30m_tcp_output.txt <==
Avg. bw per round =  28.9100 Avg. delay per round =   9.3030 ms
==> summary_35m_tcp_output.txt <==
Avg. bw per round =  33.7400 Avg. delay per round =   7.8210 ms
==> summary_40m_tcp_output.txt <==
Avg. bw per round =  38.5700 Avg. delay per round =   8.9690 ms
==> summary_45m_tcp_output.txt <==
Avg. bw per round =  43.3100 Avg. delay per round =   8.5940 ms
==> summary_50m_tcp_output.txt <==
Avg. bw per round =  47.7100 Avg. delay per round =   4.5710 ms
==> summary_55m_tcp_output.txt <==
Avg. bw per round =  52.1700 Avg. delay per round =   8.3280 ms
==> summary_60m_tcp_output.txt <==
Avg. bw per round =  57.2800 Avg. delay per round =   6.2030 ms
==> summary_65m_tcp_output.txt <==
Avg. bw per round =  62.0700 Avg. delay per round =   4.9650 ms
==> summary_70m_tcp_output.txt <==
Avg. bw per round =  67.4900 Avg. delay per round =   4.6020 ms
==> summary_75m_tcp_output.txt <==
Avg. bw per round =  72.3200 Avg. delay per round =   5.4870 ms
==> summary_80m_tcp_output.txt <==
Avg. bw per round =  77.2300 Avg. delay per round =   3.7220 ms
==> summary_85m_tcp_output.txt <==
Avg. bw per round =  82.0500 Avg. delay per round =   6.1610 ms
==> summary_90m_tcp_output.txt <==
Avg. bw per round =  86.8900 Avg. delay per round =  15.3260 ms
==> summary_95m_tcp_output.txt <==
Avg. bw per round =  91.7300 Avg. delay per round =  14.5570 ms
==> summary_100m_tcp_output.txt <==
Avg. bw per round =  94.0500 Avg. delay per round =  14.7480 ms

Any pointers would be appreciated.

Thanks.
  - Jason Parsons