views:

111

answers:

1

From iperf man: iperf is a tool for performing network throughput measurements. It can test either TCP or UDP throughput. To perform an iperf test the user must establish both a server (to discard traffic) and a client (to gen- erate traffic).

Basically you run iperf server at one end and iperf client at other end. My question is : suppose there is machine A and machine B and you run iperf server at Machine A and client at Machine B you get X number

iperf server at Machine B and iperf client at Machine A, you get Y number.

X and Y denotes the throughput. My question is X denotes which machine (A/B) throughput?

If in case you say it is not machine specific and only denotes throughput between links, Why I should observe different throughput when I swap the client and server(Actually I have observed)?

Thnx in Advance.

A: 

When you swap the machines, you're swapping the operations which are slightly different. In case of TCP, sending is directly affected by the buffers length at the TCP/IP stack (since iperf is an application dumping down this data to the stack) so what it will measures is how fast it was able to dump the data to the TCP/IP stack, the smaller the buffers, is the slower the operation gets. Rx is different, most likely the app CPU will be consuming these packets as they arrive, so the buffers would be empty most of the time.

OneDeveloper
So, it that mean sending is measured at client side and Receiving is measured at Server side?
kumar
i'd say, at the machine under test.
OneDeveloper