[netperf-talk] Packet size

Rick Jones rick.jones2 at hp.com
Mon Mar 30 11:45:26 PDT 2009


Clive Barker wrote:
> Rick, thanks again! the information provided is extremely helpful!
> 
> I would generate some 150 instances using either TCP/UDP stream and 
> specifying the packet size. I will not be mixing packet sizes on the 
> instances..
> 
> I guess the next qtn is adjusting the rate at which packet is sent. Is 
> this something that is utilized with the burst option? What i was hoping 
> to do was to send packets at a specified rate to the router and see the 
> effect it has on accepting new connections.

That would be the "intervals" functionality - ./configure --enable-intervals, 
which will give you global -b <burst size> and -w <burst interval> options.

Be aware that on some platforms, if it takes longer than <burst interval> to send 
a burst of <burst size> the test will terminate prematurely.

The effective values of  <burst interval> will depend on the effective 
granularity of setitimer() on the running platform.

While I would not suggest it for 150 concurrent netperfs there is also a 
--enable-spin configure option that will replace the interval timer with a 
sit-and-spin interface.  Much finer granulatiry, at the cost of a massive 
increase in CPU utilization on the sending system - each instance of netperf 
using spinning will attempt to fully consume a single core on the system.

there are some other tidbits scattered in:

http://www.netperf.org/svn/netperf2/trunk/doc/netperf.html

happy benchmarking,

rick jones

> 
> --- On *Thu, 3/26/09, Rick Jones /<rick.jones2 at hp.com>/* wrote:
> 
>     From: Rick Jones <rick.jones2 at hp.com>
>     Subject: Re: [netperf-talk] Packet size
>     To: echelon360 at yahoo.com
>     Cc: netperf-talk at netperf.org
>     Date: Thursday, March 26, 2009, 9:47 AM
> 
> Clive Barker wrote:
>> Hello,
>> 
>> is there an option for me to send traffic and include a packet size, i
> need to generate several instances of netperf and have 3 separate runs starting
> from 512bytes, 256bytes then 128bytes.
>> 
>> is this possible?
> 
> Is this TCP or UDP?  For UDP, since each send is a UDP datagram, you have
> direct control over the UDP datagram size with the test-specific -m option:
> 
> netperf -H <remote> -t UDP_STREAM -- -m 128
> 
> will have a stream of UDP datagrams with 128 byte user payloads, added to that
> will be 8 bytes of UDP header, 20 bytes (typically) of IPv4 header (or N bytes
> of IPv6 header) and then M bytes of data-link header (14 for Ethernet).
> 
> If this is TCP, you have _indirect_ control over the quantity of data in each
> TCP segment with a combination of the -m and -D (TCP_NODELAY):
> 
> netperf -H <remote> -t TCP_STREAM -- -m 128
>  -D
> 
> will *ask* TCP to not bundle-up successive sends into larger TCP segments.  So,
> barring packet losses and retransmissions that will be 128 bytes of user payload
> per segment, with 32 bytes (I'm including TCP timestamp option, 20 without
> it) of TCP header, and then IP and data-link headers as with UDP.
> 
> Keep in mind that while 128, 256 and 512 bytes are usually smaller than a link
> MTU, they don't _have_ to be, and so you could have either IP fragmentation
> in the UDP case or TCP segmentation.
> 
> Now, if you mean you wanted a *mix* of packet sizes in the same
> stream/flow/connection, that is something else, and is presently addressed in
> netperf4, the egg-laying-woolly-milk-pig :) netperf.
> 
> rick jones
> 
> 



More information about the netperf-talk mailing list