Solved

REALLY need to understand iperf

Posted on 2014-11-19
15
433 Views
Last Modified: 2014-11-22
Not sure how to award this question. Hoping not too many people will reply and that one or two can explain this. I have logging devices which need to use iperf to test to their home base server.

I need a good layman understanding of Iperf testing. I don't want a highly technical breakdown of Iperf, but something which is easily understood by practically anyone.

I ask this because searching the net, there seems to be lots of confusion about different results from client and server side. There are also mentions of being able to do a two way test but I have yet to find a way of doing that. Would a two way test give me the results of both the client and the server? Would that give me a better understanding of uploads and downloads speeds?

I'm at a loss... help!
0
Comment
Question by:projects
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 7
15 Comments
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40454178
Install iperf on two machines and follow the directions here: http://openmaniak.com/iperf.php  This is exactly what I did on your other question.  It took less than 15 minutes including installing it on two machines.  On Windows, I downloaded it from https://iperf.fr/ .  On Ubuntu, I got it thru the Synaptic Package manager.

Make sure you have the same version of iperf on both machines.  Something I read said that iperf2 and iperf3 didn't act well together.
0
 

Author Comment

by:projects
ID: 40454228
But that's not the question or the problem. I already have it installed, running it, using it, testing it. It's understanding it's results in a laymans way that is the hard part, that I need help with along with understanding what's going on between the client and the server. I've read enough for days now, that's why I'm asking here ;)
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40454288
This page http://openmaniak.com/iperf.php shows commands and results.  iperf doesn't seem to be real complicated.  Is there something on that page that doesn't make sense to you?
0
Supports up to 4K resolution!

The VS192 2-Port 4K DisplayPort Splitter is perfect for anyone who needs to send one source of DisplayPort high definition video to two or four DisplayPort displays. The VS192 can split and also expand DisplayPort audio/video signal on two or four DisplayPort monitors.

 

Author Comment

by:projects
ID: 40454996
Yes, there are tons of examples and documents but, if you look in the forums, people asking questions, that's where things get interesting and is related to my question.
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40455726
Your question at this point is too vague for me to help you.  Unless you have questions about specific items there is no way to help you.  Programming and computer operations is about details.
0
 

Author Comment

by:projects
ID: 40456357
There are specific items in the question. One of those is asking/saying that people seem to debate what the real bandwidth/throughput is of the results, the client side or the server side.

Anyhow, maybe I'll just ask to delete this question if you think it's too ambiguous.
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40456379
There is no 'real' debate.  The bandwidth/throughput is often different in the different directions.  I have seen that on my own systems with a program called LANtest.  If I run iperf with my Windows machine as the 'server', it will probably show lower bandwidth because my Windows has anti-virus that scans everything as it comes in (which takes time) and my Linux box does not have anti-virus to slow it down.  I think that the only time that you should expect identical results is with identical systems on a LAN with nothing else running.  Only then are the paths and processes the same.

See that since you have mentioned a specific item or subject, I can respond to that.  When you ask to describe a technical item in laymen's terms, that is first too broad a subject and second of questionable use since laymen don't use technical programs like iperf.
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40456384
Note that out on the public internet, there is no guarantee or reason to expect that packets will take the same route or path in both directions.  There isn't even a requirement for that to happen.
0
 

Author Comment

by:projects
ID: 40456433
I know all of these things and understand the large amount of possible influences but still, the main thing people seem to disagree on is what the test results actually conclude and which side is the real result.

When testing on a broadband connection for example, most are asynchronous so download and upload speeds are regulated separately by the providers hardware. There doesn't seem to be any one answer.

When you use those free bandwidth test sites, if there are many other devices also testing at the same time, one would think that the results would be skewed. The amount of bandwidth you'd need would be amazing.

I am basically trying to figure out how to run a regular bandwidth/throughput test between my own clients and my own server to get some averages of the performance. I know that the more clients that connect at the same time, the slower the overall results will be for each client. That might be ok because I am just looking for some 'average', to get a sense of how things are doing.

Not sure how anyone would accomplish this and in searching, I've come across a ton of Iperf threads where people are debating the value of such tests along with the meaning of the tests, etc etc etc
0
 
LVL 83

Accepted Solution

by:
Dave Baldwin earned 500 total points
ID: 40456515
For the reasons stated above, both sides are the 'real' result.  The iperf tests are simply a measurement of what happened at the time it was run, nothing more.  If you keep track, you can calculate averages.  Which are only good for your situation.  The value of the statistics is that you can see if they change to detect possible problems.

You are actually showing a fairly good understanding.  You need to have a basic understanding of what to expect from you network before you look at iperf and you seem to have that.  If you find the results not believable then you should find a different test program or method.

As far as 'meaning', it's what you make of it.  There is no grand overall meaning.  Do your measurements with iperf make sense with the other things you know?  Can you find other tests that either agree or disagree with what iperf tells you?
0
 

Author Comment

by:projects
ID: 40458762
>As far as 'meaning', it's what you make of it.  There is no grand overall meaning.  

That's why I posted and have also been asking in other places and so far, you are correct, that seems to be exactly the case.

>Do your measurements with iperf make sense with the other things you know?  Can you
>find other tests that either agree or disagree with what iperf tells you?

I do a ping results test every 5 minutes as well, 24/7, just to get some sort of perspective on it.

For months, I've been doing a basic test using curl, downloading a 10mb file every 30 minutes to get averages. So far, it seems to give me fairly accurate results in terms of slowdowns on or around outages and other problems for example.

The ping tests seem to correlate even though the tests are widely apart. That alone had me wondering because you would think running at a 'moment in time' would not give much back.

The reason I started looking at Iperf is because I noticed something interesting. When using curl, one one highly tested connection, I was seeing around 2Mb/s on average. When I tested that same connection using Iperf, that average was always 4-5Mb/s. What I need however, is something that won't saturate the link so much otherwise, I then need to do some additional calculations such as 20 clients connecting to test at the same time means x amount of shared bandwidth, meaning x amount of slowdown for all, meaning x amount of.. so on and so on.

It's hard to explain because I'm not that well versed in this but basically, I don't much care to get an actual bandwidth result but to get a throughput result, some idea of when things have or are slowing down.
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40458810
iperf appears to be a 'raw' bandwidth test.  Everything else like 'curl' that accesses a web server and/or files is going to be slower because it is involving the server and the file system.

In my opinion, 'ping' is an almost useless test.  'ping' can run when all the other services have crashed and when the server is actually busy, 'ping' will be ignored because it is such a low priority.  The Only thing that 'ping' tells is that the most basic network services are running.  Nothing more.
0
 

Author Comment

by:projects
ID: 40459570
Good point about curl. I didn't spend much time thinking about it because I started looking for something more specific to bandwidth/throughput testing.

True about ping but ping tests are cheap, low intensity and sometimes useful when looking at overall pictures. In my case, I also use it as a secondary test when a service can't be reached, then I test ping to see if the hardware is actually acting up.

Seems that in the networking world, we are in need of some new technology to help test various metrics without maxing things out or being highly dependent on servers/networks being busy and not getting the right results.

There is a lot of bandwidth and application management hardware out there. I've used PacketShaper, Allot and many other brands but all of those things are in-line, controllers, managers, balancers, etc and handling what ever you want to control. Still, something along those lines might be better than using a server.

Anyhow, maybe I'll post another dumb question asking almost the same thing in another way :)
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40459892
In order to get good and understandable results, you need to examine the methods used and get a good understanding of what actually happens.  From NIC to NIC I can get 100Mbps or 1Gbps.  With any program that has to read and write to the NIC, the speed will be lower.  For a program that has to read and write files it will be even lower because reading and writing files takes time too.  At the next level where you have other traffic on the network, it slows down again because you are sharing the network with others.

I don't think we 'need' new technology.  We can already test everything that happens over a network connection.  We really need to:
1. understand the processes that we are testing and
2. understand why we get the results we're seeing.

And maybe...
3. understand that the answer depends on the circumstances.  When testing something like a network, especially over the internet where we are sharing the path with the rest of the world, you won't necessarily get the same results each time.
0
 

Author Comment

by:projects
ID: 40459905
Yes, I think we are saying the same things, variables variables variables. However, I still think we need new ways of being able to test certain things. Saturating to get results doesn't seem to be the way to get some answers.
0

Featured Post

Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When it comes to security, there are always trade-offs between security and convenience/ease of administration. This article examines some of the main pros and cons of using key authentication vs password authentication for hosting an SFTP server.
This article is a collection of issues that people face from time to time and possible solutions to those issues. I hope you enjoy reading it.
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
Suggested Courses
Course of the Month10 days, 5 hours left to enroll

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question