Solved

REALLY need to understand iperf

Posted on 2014-11-19
15
364 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
  • 8
  • 7
15 Comments
 
LVL 82

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 82

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
 

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 82

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 82

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
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
LVL 82

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 82

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 82

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 82

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

Free camera licenses with purchase of My Cloud NAS

Milestone Arcus software is compatible with thousands of industry-leading cameras for added flexibility. Upon installation on your My Cloud NAS, you will receive two (2) camera licenses already enabled in the software. And for a limited time, get additional camera licenses FREE.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Cat6A Cabeling 3 39
Windows 10 Direct Access and Home Folders 3 50
Cisco Layer 2 Switches 6 52
svg file 10 36
Lets look at the default installation and configuration of FreeProxy 4.10 REQUIREMENTS 1. FreeProxy 4.10 Application - Can be downloaded here (http://www.handcraftedsoftware.org/index.php?page=download) 2. Ensure that you disable the windows fi…
#Citrix #Citrix Netscaler #HTTP Compression #Load Balance
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…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

705 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now