Want to subscribe to topics you're interested in?
Become a Member

Sysadmin benchmarks problem to check the Network Speed Tests

Discussion in 'System Administration' started by adamus007p, Apr 17, 2020.

  1. adamus007p

    adamus007p Member

    252
    15
    18
    Feb 8, 2019
    Ratings:
    +26
    Local Time:
    8:33 AM
    Hello,

    I want to make a benchmark - Network Speed Tests:
    curl -s https://raw.githubusercontent.com/masonr/yet-another-bench-script/master/yabs.sh | bash

    Code (Text):
    iperf3 Network Speed Tests (IPv4):
    ---------------------------------
    Provider                  | Location (Link)           | Send Speed      | Recv Speed
                              |                           |                 |
    Bouygues Telecom          | Paris, FR (10G)           | busy            | busy
    Online.net                | Paris, FR (10G)           | busy            | busy
    WorldStream               | The Netherlands (10G)     | busy            | busy
    wilhelm.tel               | Hamburg, DE (10G)         | busy            | busy
    Biznet                    | Bogor, Indonesia (1G)     | busy            | busy
    Hostkey                   | Moscow, RU (1G)           | busy            | busy
    Velocity Online           | Tallahassee, FL, US (10G) | busy            | busy
    Airstream Communications  | Eau Claire, WI, US (10G)  | busy            | busy
    Hurricane Electric        | Fremont, CA, US (10G)     | busy            | busy
    
    



    how to unlock it, to make a Network Speed Tests? :)


    2. can you provide me a good script to bench network globally?
    check the connectivity

    Thank you in advance :)
     
  2. adamus007p

    adamus007p Member

    252
    15
    18
    Feb 8, 2019
    Ratings:
    +26
    Local Time:
    8:33 AM
    just use?

    csf -x
    csf -e
     
  3. eva2000

    eva2000 Administrator Staff Member

    45,676
    10,371
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +16,094
    Local Time:
    5:33 PM
    Nginx 1.19.x
    MariaDB 5.5/10.x
    iperf uses TCP port 5001 https://www.linode.com/docs/networking/diagnostics/install-iperf-to-diagnose-network-speed-in-linux/

    So you need to open up and whitelist that port in CSF Firewall's TCP_IN and TCP_OUT comma separated list of ports in /etc/csf/csf.conf config file as per outline on official Centmin Mod site at CSF Firewall - CentminMod.com LEMP Nginx web stack for CentOS

    You can run these commands to backup CSF Firewall config and add port 5001 to your whitelist for TCP_IN and TCP_OUT
    Code (Text):
    csf --profile backup cmm-b4-iperf-whitelist
    egrep '^TCP_|^TCP6_|^UDP_|^UDP6_' /etc/csf/csf.conf
    sed -i "s/TCP_IN = \"/TCP_IN = \"5001,/g" /etc/csf/csf.conf
    sed -i "s/TCP6_IN = \"/TCP6_IN = \"5001,/g" /etc/csf/csf.conf
    sed -i "s/TCP_OUT = \"/TCP_OUT = \"5001,/g" /etc/csf/csf.conf
    sed -i "s/TCP6_OUT = \"/TCP6_OUT = \"5001,/g" /etc/csf/csf.conf
    egrep '^TCP_|^TCP6_|^UDP_|^UDP6_' /etc/csf/csf.conf
    

    once you edit /etc/csf/csf.conf, you need to restart CSF Firewall
    Code (Text):
    csf -ra
    
     
  4. adamus007p

    adamus007p Member

    252
    15
    18
    Feb 8, 2019
    Ratings:
    +26
    Local Time:
    8:33 AM
    Last edited: Apr 17, 2020
  5. adamus007p

    adamus007p Member

    252
    15
    18
    Feb 8, 2019
    Ratings:
    +26
    Local Time:
    8:33 AM
  6. eva2000

    eva2000 Administrator Staff Member

    45,676
    10,371
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +16,094
    Local Time:
    5:33 PM
    Nginx 1.19.x
    MariaDB 5.5/10.x
    You can't as you need for other end to have iperf. You can use just speedtest-cli tool sivel/speedtest-cli

    download it to /usr/local/binx/speedtest-cli
    Code (Text):
    wget -4 -O /usr/local/bin/speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
    chmod +x /usr/local/bin/speedtest-cli
    

    help info
    Code (Text):
    speedtest-cli -h
    usage: speedtest-cli [-h] [--no-download] [--no-upload] [--single] [--bytes]
                         [--share] [--simple] [--csv]
                         [--csv-delimiter CSV_DELIMITER] [--csv-header] [--json]
                         [--list] [--server SERVER] [--exclude EXCLUDE]
                         [--mini MINI] [--source SOURCE] [--timeout TIMEOUT]
                         [--secure] [--no-pre-allocate] [--version]
    Command line interface for testing internet bandwidth using speedtest.net.
    --------------------------------------------------------------------------
    https://github.com/sivel/speedtest-cli
    optional arguments:
      -h, --help            show this help message and exit
      --no-download         Do not perform download test
      --no-upload           Do not perform upload test
      --single              Only use a single connection instead of multiple. This
                            simulates a typical file transfer.
      --bytes               Display values in bytes instead of bits. Does not
                            affect the image generated by --share, nor output from
                            --json or --csv
      --share               Generate and provide a URL to the speedtest.net share
                            results image, not displayed with --csv
      --simple              Suppress verbose output, only show basic information
      --csv                 Suppress verbose output, only show basic information
                            in CSV format. Speeds listed in bit/s and not affected
                            by --bytes
      --csv-delimiter CSV_DELIMITER
                            Single character delimiter to use in CSV output.
                            Default ","
      --csv-header          Print CSV headers
      --json                Suppress verbose output, only show basic information
                            in JSON format. Speeds listed in bit/s and not
                            affected by --bytes
      --list                Display a list of speedtest.net servers sorted by
                            distance
      --server SERVER       Specify a server ID to test against. Can be supplied
                            multiple times
      --exclude EXCLUDE     Exclude a server from selection. Can be supplied
                            multiple times
      --mini MINI           URL of the Speedtest Mini server
      --source SOURCE       Source IP address to bind to
      --timeout TIMEOUT     HTTP timeout in seconds. Default 10
      --secure              Use HTTPS instead of HTTP when communicating with
                            speedtest.net operated servers
      --no-pre-allocate     Do not pre allocate upload data. Pre allocation is
                            enabled by default to improve upload performance. To
                            support systems with insufficient memory, use this
                            option to avoid a MemoryError
      --version             Show the version number and exit
    

    To test different locations use --list to find the server ID and location you want to test and use --server SERVERID to test that location. Ensuring --secure flag is used which seems to require port 8080 TCP outbound open so CSF Firewall needs to open 8080 TCP_OUT and TCP6_OUT
    Code (Text):
    csf --profile backup cmm-b4-speedtest-cli
    egrep '^TCP_|^TCP6_|^UDP_|^UDP6_' /etc/csf/csf.conf
    sed -i "s/TCP_OUT = \"/TCP_OUT = \"8080,/g" /etc/csf/csf.conf
    sed -i "s/TCP6_OUT = \"/TCP6_OUT = \"8080,/g" /etc/csf/csf.conf
    egrep '^TCP_|^TCP6_|^UDP_|^UDP6_' /etc/csf/csf.conf
    csf -ra
    

    Or for testing location closest to your server use below
    Code (Text):
    speedtest-cli --share --secure                                
    Retrieving speedtest.net configuration...
    Testing from OVH SAS (xxx.xxx.xxx.xxx)...
    Retrieving speedtest.net server list...
    Selecting best server based on ping...
    Hosted by TelKel (Laval, QC) [6.62 km]: 9.605 ms
    Testing download speed................................................................................
    Download: 583.80 Mbit/s
    Testing upload speed................................................................................................
    Upload: 240.95 Mbit/s
    Share results: http://www.speedtest.net/result/9296127556.png
    
     
  7. adamus007p

    adamus007p Member

    252
    15
    18
    Feb 8, 2019
    Ratings:
    +26
    Local Time:
    8:33 AM
    Is there is way to check for example 50 different servers?
     
  8. eva2000

    eva2000 Administrator Staff Member

    45,676
    10,371
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +16,094
    Local Time:
    5:33 PM
    Nginx 1.19.x
    MariaDB 5.5/10.x
    use --list and --server id flags to run 50 different speedtest-cli tests from different locations outputted by --list
    Code (Text):
      --list                Display a list of speedtest.net servers sorted by
                           distance
      --server SERVER       Specify a server ID to test against. Can be supplied
                           multiple times
    

    return first 10 results from --list
    Code (Text):
    speedtest-cli --list | head -n10
    Retrieving speedtest.net configuration...
    17567) Bell Canada (Laval, QC, Canada) [6.62 km]
     6835) TelKel (Laval, QC, Canada) [6.62 km]
      911) Fibrenoire Internet (Montreal, QC, Canada) [9.56 km]
    16754) Bell Mobility (Montreal, QC, Canada) [9.56 km]
     4393) TELUS (Montreal, QC, Canada) [9.56 km]
    24707) TELUS Mobility (Montreal, QC, Canada) [9.56 km]
    12100) Openface Internet (Montreal, QC, Canada) [9.56 km]
     8825) Rogers (Montreal, QC, Canada) [9.56 km]
     6689) HOTServers LLC (Montreal, QC, Canada) [9.56 km]
    
     
  9. adamus007p

    adamus007p Member

    252
    15
    18
    Feb 8, 2019
    Ratings:
    +26
    Local Time:
    8:33 AM
    one by one? I can paste a full list?

    Is there any way to sort like from different location not from the same or choose it manually?
     
  10. eva2000

    eva2000 Administrator Staff Member

    45,676
    10,371
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +16,094
    Local Time:
    5:33 PM
    Nginx 1.19.x
    MariaDB 5.5/10.x
    think only one by one

    as to locations i believe list of ordered by closest geographically to your server to furthest away so would need to dig into that and find geographic location's server ids you want to test