using multiple iperf instances for performance testing

Hello all!

I have the need to performance-test a MPLS switch, I was thinking of using iperf to accomplish the task.

I had in mind using a linux box with a Gigabit interface connected to a L2 switch on a 802.1Q trunk. In the interface I would create 20 VLANs with 20 different IP subnets.

With that set, I was thinking of running 20 different iperf client instances to send 20 different, constant IP packet streams. The L2 switch would open the VLAN tags and send each different VLANs upstream to the MPLS switch through different ports.

Each VLAN would arrive in different VRF-connected interfaces, accomplishing what I am required to do so. The MPLS switch would then deliver it to a second switch, where I would have another linux box running another 20-iperf instances

I need help mainly with setting the 20 different iperf instances (both client-side and server-side).

Regards,

Persio

Since no one has answered this in 2 days, I'm going to go ahead and give more general advice. I know nothing about iperf, 802.1Q, MPLS, VRF etc...

What are you actually having trouble with? What is happening that you don't expect to happen? Are you asking for help solving a particular problem or are you asking for strategic advice for the best way to performance test a MPLS switch (whatever that is...)?

Good luck
-Pileofrogs

P.S. Okay, I looked up iperf & MPLS and I think you're asking "how do I make 20 instances of iperf work at the same time?" Since you're attaching to these 20 different virtual interfaces, you'd just need to tell the server end which ip to bind to. EG iptraf -s -B 192.168.0.1 & iptraf -s -B 192.168.1.1, etc....

Hi ppucci,

Multiple iperf instances would work for what you want. I'm assuming that you're using VLAN sub-interfaces (e.g. eth0.1234) since you mentioned 802.1q trunking to your interface.

On the recieve (server) side you can run a single iperf instances that will bind to all interfaces (this is the normal 'iperf -s' behavior), or exec multiple iperf servers, each using -B to bind to a specific interface (for finer-grained logging and control) as pileofrogs mentioned.

To state the obvious: your 20 iperf streams will each be ~50Mbit; This may be fine for switch testing, but mentioning in case your trying to e.g. saturate a multiple port Gigabit switch fabric.