[netperf-talk] Simulate throughput on receive with small packet sizes

Rick Jones rick.jones2 at hp.com
Fri Apr 27 09:52:26 PDT 2012


On 04/27/2012 03:04 AM, Stephen Vaughan wrote:
> Hi,
>
> I'm trying to simulate throughput on receive, with small packet sizes,
> specifically I'm after packet sizes between 65-127 byte's. Any tips how
> to go about this? I've tried unsuccessfully to do this.

So, you want the receiver to simulate a narrow link or somesuch?  What 
have you tried thusfar?

There is an inherent problem in trying to simulate a link above the 
socket layer at the receiver - namely that receive windows fill, and 
that induces behaviour that would not otherwise be seen.  This came-up 
during the development of SPECweb96 - it was desired that the client 
receiving the data from the web server do so at only a slow rate to 
simulate a slow link between the server and client.  However, this just 
allowed the TCP windows to fill, and induced TCP persist behaviour on 
the server.

While this would be accurate for a slow client application, this would 
not be accurate for a slow link between the server and the client.

I'm not sure if the omni code in netperf (src/nettest_omni.c) will do 
pacing of receives, but if it does, there can be that issue with it.

The "best" place to do such simulation is below TCP (below the transport 
layer) and perhaps even below IP (below the network layer).  Under Linux 
you would want to look into the "tc" command and the likes of HTB, netem 
et al.  Under BSD that would be "dummynet."  There is a port of dummynet 
to HP-UX 11.X as well though it may have suffered a great deal of 
bit-rot.  I am not sure what Windows, Solaris or AIX offer in that area.

happy benchmarking,

rick jones


More information about the netperf-talk mailing list