Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


How do you run an iperf test and what does it actually test?
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

How do you run an iperf test and what does it actually test?

How do you run an iperf test and what does it actually test?

I see it in the yabs.sh tests showing speeds with different providers.

Is it just to show how fast your network is at connecting and receiving from other providers?

Comments

  • MadMad Member

    It's an highly customizable tool used to test the bandwidth speed; it can be between your own servers or any other ISP.

    Thanked by 1k9banger
  • yoursunnyyoursunny Member, IPv6 Advocate

    iperf3 measures network throughput from one host to another host.
    https://software.es.net/iperf/invoking.html#iperf3-manual-page

    iperf2 measures network throughput and latency from one host to another host.
    https://iperf2.sourceforge.io/iperf-manpage.html

    YABS uses iperf3 against several publicly hosted servers.

    Thanked by 2k9banger let_rocks
  • iperf3 uses a different port as iperf. So if you have a firewall and need to open the port, it matters which version of iperf you are running . 5001 vs 5201. The -P and -R switches are very useful also

    Thanked by 1k9banger
  • zmeuzmeu Member
    edited November 4

    You may have 1 Mbps with your local ISP but reaching 100 Gbps with Hetzner. This is not something standard, it all depends with whom they do peers/network capacity/etc. :-)

  • So how do you configure both of them to test against a particular locations or set of locations?

    I have a slow server I need to test against some common providers, both latency and raw speed.

    I take it that latency is the time reported by the ping command or it is related to it?

  • @k9banger said:
    So how do you configure both of them to test against a particular locations or set of locations?

    I have a slow server I need to test against some common providers, both latency and raw speed.

    I take it that latency is the time reported by the ping command or it is related to it?

    iperf uses client-server architecture.
    All you need is a VPS act as a iperf server then enter the command (e.g iperf3 -s -p 5200 --bidir)
    on the other side in another VPS, run the command (e.g iperf3 -c -p 5200)

    Quick browsing, I found a repository that provide list of public iperf server along with the command.
    check this out

    Thanked by 1yoursunny
  • @k9banger said: o how do you configure both of them to test against a particular locations or set of locations?

    Why not just do

    wget -qO- nws.sh | bash -s -- -r eu
    

    instead of iperf

  • @egoror said: Why not just do

    wget -qO- nws.sh | bash -s --b -r eu

    because some people dont run live downloaded scripts without previewing them. Especially ones that hide behind a browser match and dont show the script when accessed as https://nws.sh/ YMMV

  • @jperkins said: because some people dont run live downloaded scripts without previewing them. Especially ones that hide behind a browser match and dont show the script when accessed as https://nws.sh/ YMMV

    You can preview it by running

    wget -qO- nws.sh
    
  • @egoror said:

    @jperkins said: because some people dont run live downloaded scripts without previewing them. Especially ones that hide behind a browser match and dont show the script when accessed as https://nws.sh/ YMMV

    You can preview it by running

    wget -qO- nws.sh
    

    bad practice. please be a troll somewhere else, not in a help thread

  • @ScreenReader said: bad practice

    Be more specific

  • @yoursunny said:
    iperf3 measures network throughput from one host to another host.
    https://software.es.net/iperf/invoking.html#iperf3-manual-page

    iperf2 measures network throughput and latency from one host to another host.
    https://iperf2.sourceforge.io/iperf-manpage.html

    YABS uses iperf3 against several publicly hosted servers.

    Do you know of some iperf2 scripts which can be used to check problems between two providers?

    I think it is what I need to check my Hosthatch issues, even though the nws.sh script shows it is rather slow on the upload side.

  • @k9banger said: Do you know of some iperf2 scripts which can be used to check problems between two providers?

    You mean between two hosts you own?

  • @egoror said:

    @k9banger said: Do you know of some iperf2 scripts which can be used to check problems between two providers?

    You mean between two hosts you own?

    Yes

  • Host 1
    apt install iperf3
    say No when a big popup will appear
    iperf3 -s
    make sure port on screen is open on your firewall

    Host 2
    apt install iperf3
    say No when a big popup will appear
    host2 to host1
    iperf3 -c <ip of host 1>
    then
    host1 to host2
    iperf3 -c <ip of host 1> -R

    Thanked by 2k9banger yoursunny
  • I like it. My only tip would be to also run it with -P 8 to use multiple streams. Seems a lot of my VPS throttle a single stream. They may advertise 1gb but you won't get it on a single stream

    Thanked by 1k9banger
  • iperf is a tool that tests network performance between two points

    It measures maximum bandwidth, packet loss, and network latency

    One system acts as a server, another as a client

    On the server side

    iperf3 -s

    On the client side

    iperf3 -c server_ip

  • @jperkins said:
    I like it. My only tip would be to also run it with -P 8 to use multiple streams. Seems a lot of my VPS throttle a single stream. They may advertise 1gb but you won't get it on a single stream

    That's not the VPS, that's the tcp protocol. By design, it is NOT supposed to use 100% of the pipe. In addition, there is a bandwidth delay product, so only so much data gets sent at a time until the other side says it got it. Generally, you need at least three streams to max out the link. You can use UDP to find the absolute maximum throughput as that doesn't require acknowledging the sent packets causing delay.

    That's why there's other newer congestion control algorithms like Google's BBR (ooh, v3 now!) to behave differently on high speed networks vs the networks of 20 years ago.

    Thanked by 1yoursunny
Sign In or Register to comment.