Chapter 5 – iPerf Testing
05-WaveCore-iPerf Testing
In this chapter, we will discuss iPerf testingand how to replicate Airvine’s recommended testing methodology.
iPerf testing is the recommended methodology for testing with the WaveCore nodes. By definition, iPerf is a tool for active measurements of maximum achievable bandwidth on IP networks. The main reason that we recommend iPerf testing is because using standard network test sets require continuity. They’re used to having a piece of wire throughout the whole thing where we are a wireless solution. Results don’t come back the same as you would expect with a piece of wire. Using iPerf we’re able to get around that. If you wanna break it down to a simpler version.
If you were to do a speed test with your cell phone, you’re initiating that communication from your phone. It’s going out to the server, it’s ping a server and coming back and giving you a result with your download and upload throughput. iPerf is a similar concept except for you’re loading a piece of software on two different computers and you’re going to run a test in between those two computers and you’re avoiding all the extra network delays.
In this scenario, I’m just going to try to give you pointers on how to replicate how we do our testing. So if you wanted to do any in the field or in your labs, you’d be able to replicate as well. For starters, you need to have the iPerf software, which is available for free on iPerf.fr. There’s lots of great information on here.
You can download the files no matter what kind of operating system you’re going to be utilizing Computers that I’m using today are going to be Linux based and as well as user documents. Information on every single tagline/feature that you can be able to do , it’s going to have information for that .
You’re going to wanna download it, put it on each computer that you’re going to test. My overall test scenario is shown here with the example configuration. The very first thing you would want to do is test from one computer directly over to my second computer. That’s going to give me a baseline. The one thing you want to know if you use an older computer or even some newer computers, they are, they’re only going to have a 1Gbps ethernet port unless you purchased one that has either a 2.5 or up to a 10 gig ethernet port that will have a bottleneck at some point.If you have two computers that have 1Gbps ethernet ports, you’re going to have a limitation of 1Gbps as a source.
Computers that I’m using today have a 2.5Gbps interface, my max speed will be 2.5Gbps. The reason that we wanna do the baseline, let’s just say I was using an older computer, even if it did have a 2.5 gigabits network adapter, the processor speed of the computer, it may not be able to give me a full 2.5 gigabits per second. One computer may be new, updated, and ready to go. My second computer may have some limitations where maybe I’m only able to get two gig out of it. I’m not able to get a full 2.5. Computers processing power, does matter. Testing this with a baseline is definitely important, just so you have that idea of what you’re going to be putting into the WaveCore and then what you’re going to get out of it.
Once we have this scenario going, my first computer was connected to my controller node. It has an IP address, 192.168.50.120. My second computer is at 121. I have my WaveCores set to 160 and 161.
Obviously, you can be on any kind of IP based network that you need to be. That’s just what mine is set up for today. The first thing I’m going to do here on the left hand side, I set up two command prompts. I’m doing this testing from one screen so you can see all aspects of the communication from one screen.
I’m going to do a secure shell into each computer.
once we are in, I’ll clear my screen on my subordinate node, which is going to be my PC number two, I’m connected into 121 over here. I am going to run a simple command. ” Iperf3 -s” that’s all I really need. On my computer in particular, I do have this one set up to automatically run in server mode.
If I was to run this command right now, it’s going to give a weird error message saying that it’s already running. Just to show you what the command would look like if run on a standard computer, I’m going to put in a specific port number so that way it’ll run on a different port. You’re going to see server listening on 5001, because I selected port 5001, we can always use that port, but that just is an added command syntax to add into it. If we come over to our controller node, we are tied into him as well. So we’ll just clear our screen. I do have the iPerf command listed on here, so it is over here on the screen, so it’s going to be iperf3 -c because this is going to be our client, the IP address of what you’re going to talk to. I’m talking from computer on the left side to the computer on the right side, -t, that T is time. This is a 30 second test.-O 10, that’s omit the first 10 seconds. There’s a TCP slow start where your data is ramping up. We can omit 10 seconds of data and then we’ll do our 30 second test. Then dash capital P eight, where that was doing parallel. So parallel, eight different sessions. Back over here on the left side. Depending on your computer’s processing power eight may be as many as you can do. This computer I can run 15 parallels, so it simulates 15 different users being on here.
I do have my extra syntax on here. The dash P 5001, lowercase and uppercase does matter. As you can see, the uppercase is for parallel, the lowercase is for port. All that is explained within the iPerf user documents. If I run this command right now. We’re going to see 15 iterations every second. The first 10, we’re going to see omitted over here. If I was to look at my subordinate node, I’m going to see the data running there as well. The big thing to note, this value right here, you can see where my mouse is. That’s what the sum of that entire one second, essentially run is, so right now it’s at 2.34, 2.37. When it’s all done, we’re going to get a summed value from the entire 30 seconds that we run. We’ll give it five seconds here and it will finish up. This is our total. So 2.36, 2.35 send and receive is essentially what our throughput was. Remember, I had a computer that has a 2.5 interface.
When I did my baseline around 2.43, 2.45 was roughly my average. This is actually going through the WaveCore scenario. That’s the kind of testing setup that you’d want to do if I was to look inside the WaveCore. Obviously we know this view. We’ve gone through the software. One thing I didn’t mention is the three lines, the hamburger, if you click that’ll hide that whole side menu. I can scroll down here now and I can see that I had a test that ran for a short time period and we had a 2.45 essentially was my peak throughput . If I look at my RJ-45, just minimal traffic, you can see it’s basically just my communication that I have on there and my wireless link is going to mirror, it’s going to have my 2.46, so similar matchup because my SFP is exactly where I’m sending my data through on this example.
You can always change the command a little bit. If I come back over here to my window, 30 seconds isn’t always long enough. This is just time. You can go through here and if you wanted to run it closer to an infinity, you can just add a couple nines in there, let it run. I still recommend the parallel, it’s either going to be eight or 15 depending on your computer processing power. When you do your baseline test that out, do one at eight, do one them at 15, and see what you get for results. Sometimes if you do 15, you get a slower result, meaning your computer couldn’t handle as many finding that number where eight seems to work on more computers than not 15 on the newer ones seems to work. The omit the 10 seconds.
I always recommend having that. So it runs for 10 seconds and then it starts the time amount. So my first 10 will, even though data will go through, it’s just not collecting that data for the sum at the very end. As noted, the port wouldn’t be necessary except for on my scenario, my subordinate is already running by default, so I had to tell my server to run a specific port just so you could see the results on the subordinate node.
I’ll run that one more time. Results wise, we’re going to see very similar results. The big thing is once we see our data on here, we’re going to see it for a longer time period. We’re not going to see a ramp up and then a ramp back downtime period. We’re going to see it ramp up and remain going. We’ll let this pause here for a minute. The data has gone through a little bit longer. If I move my mouse over here, besides seeing my results on the left-hand side through the iPerf command itself, I can see through the WaveCore interface roughly what I’m getting through at every single point in time. One thing that you can notice as well, I only have received data on there.
If I stop this command and if I add another syntax which all of this would be inside of the iPerf website, if I add in the syntax for bidirectional, I can run that again and this time I’m going to see both transmit and receive. They’ll be running simultaneously and once our signal ramps up here, we’re going to see both transmit and receive with the same type of results where we’re getting 2.3 in this instantaneous results. Results come through a little bit quicker on the iPerf portion where the WaveCore does have a little bit of a delay. But once, you have data running for a long time period, you’re going to see a solid view of how things are looking.
If I scroll back over here, we can see over two gig the WaveCore is reporting. This is just to give you an idea of how we do the testing, how we recommend doing testing. It’s very simple once you get it set up. It’s just a matter of needing two computers that do have network interfaces whether they’re internal or external network interfaces.
Sometimes newer computers are going to have a lot more processing power so they can support things a little bit better. Just keep that in mind, but it doesn’t mean that an old computer wouldn’t be able to do it. You have to do a baseline and note what’s the max that I can get from that device.
This is iPerf testing and how Airvine recommends throughput testing.
Thanks for watching. Please proceed to the next chapter when you’re ready to continue