# iPerf3 for beginners

**URL:** <https://forum.gl-inet.com/t/iperf3-for-beginners/34984>\
**Category:** Router\
**Created:** [November 7, 2023, 3:00pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984 "2023-11-07T15:00:02Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![danielrevans4](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/d/dfb087/32.png) [@danielrevans4](https://forum.gl-inet.com/u/danielrevans4)\
**Post date:** [November 7, 2023, 3:00pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/1 "2023-11-07T15:00:02Z")

</div>

Hi GLiNet folks. I recently set up my first WireGuard server/client system on a Brume/SlateAX and have had fun testing it out. However I’ve noticed some speed issues that I want to investigate. In forums I’ve read that the iPerf3 function is great to test this, however I don’t know how it works.

Are there any beginning guides on how to use iPerf3 to test network speeds on GLiNet server/client WG system? The furthest I’ve gotten is to install it via the plugins menu on the SlateAX. Thanks for any help in getting this working. Cheers.

 ![image](https://forum-static.gl-inet.com/original/2X/3/30381a15ac026d5be03c8bc5f37fac49b2a4f399.png)

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [November 7, 2023, 3:51pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/2 "2023-11-07T15:51:23Z")

</div>

Hey 👋

the use of `iperf3` is very simple and does not require much study 😉 I will now go into the use via _SSH_ - presumably the plug-in only takes care of the installation.

## On the router

1. connect to your router via SSH (e.g. `ssh root@192.168.177.1`)
2. update the software database: `opkg update`
3. install _iperf3_: `opkg install iperf3`
4. start _iperf3_ in server mode: `iperf3 -s`

## On any client, e.g. Windows:

1. Download _iperf3_: [iPerf - Download iPerf3 and original iPerf pre-compiled binaries](https://iperf.fr/iperf-download.php#windows)
2. Connect _iperf3_ to the server via command line: `.\iperf3.exe -c 192.168.177.1`  
The IP naturally corresponds to the IP of the router.
3. Read the results.

Both programs can be interchanged - i.e. you can start the server mode (`-s`) on the client and the client mode (`-c [IP of the client]`) on the router. And vice versa.

`iperf3` without any command will guide you.

## Result

 ![image](https://forum-static.gl-inet.com/original/2X/b/b9bd8801147dce7a01c06c45cb8287ac9f13f905.jpeg)

* * *

## Hint

You can use the "reverse" switch `-R` on the client to test from router --\> client without need to change the server/client options. So `.\iperf3.exe -c 192.168.177.1 -R` will send the traffic from router to client.

---

<div class="post-metadata">

**Author:** ![danielrevans4](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/d/dfb087/32.png) [@danielrevans4](https://forum.gl-inet.com/u/danielrevans4)\
**Post date:** [November 7, 2023, 4:38pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/3 "2023-11-07T16:38:16Z")

</div>

Thank you! So here’s what I did to test my wg server/client connection.

1. ssh into Brume 2 wg server (located remotely in my apartment) at ####.glddns.com
2. install iperf3
3. start iperf3 server
4. ssh into SlateAX wg client (currently with me at a friend’s house) at 192.168.8.1
5. install iperf3
6. run iperf3 client to Brume 2 server

Results:

 ![image](https://forum-static.gl-inet.com/original/2X/c/c3b3ab06461f97211ed9733494ce58f3bc253be1.png)

---

<div class="post-metadata">

**Author:** ![doczenith1](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/doczenith1/32/4152_2.png) [@doczenith1](https://forum.gl-inet.com/u/doczenith1)\
**Post date:** [November 7, 2023, 9:30pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/4 "2023-11-07T21:30:50Z")

</div>

By running iPerf on the routers you may not get accurate throughput speeds as the router’s cpu may affect the results. If I were doing the testing I’d have two capable computers on either end of the iPerf connection. In your case one computer attached to the Brume AX and the other computer attached to the SlateAX. Of course both computers would be connected with ethernet.

---

<div class="post-metadata">

**Author:** ![danielrevans4](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/d/dfb087/32.png) [@danielrevans4](https://forum.gl-inet.com/u/danielrevans4)\
**Post date:** [November 8, 2023, 8:40pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/5 "2023-11-08T20:40:42Z")

</div>

Interesting ideas. I actually did test the client on both the SlateAX and my PC that was connected to the SlateAX via wifi (also tried ethernet, same results).

I was also monitoring the Slate and Brume’s CPU on the status page, but I barely noticed a rise in CPU activity when running the test (which was surprising). Even if I ran concurrent tests with -P.

I was able to get a better throughput with -P 5. On the download got up to 50Mbps whereas single connection was around 35Mbps.

Interesting stuff!

However when trying the same tests with UDP it wouldn’t work and just kept sending 0kb over and over. Haven’t figured that one out yet

---

<div class="post-metadata">

**Author:** ![doczenith1](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/doczenith1/32/4152_2.png) [@doczenith1](https://forum.gl-inet.com/u/doczenith1)\
**Post date:** [November 8, 2023, 11:47pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/6 "2023-11-08T23:47:46Z")

</div>

I am unable to get UDP to work with the -P option. However, when I use:

`iperf3 -c 192.168.1.4 -u`

I get 1.05 Mbits/sec per the iPerf documentation for “-b” (Set target bandwidth to n bits/sec (default 1 Mbit/sec for UDP, unlimited for TCP).

Using  
`iperf3 -c 192.168.1.4 -u -b 10G`

I only manage 3.21 Gbits/sec over my 10 Gbit connection. I can hit the full 10 Gbps using TCP.

When testing over wifi I’ve found that the `-w 4M` option gets me better results.

I also just realized that when running TCP I only hit 4 Gbps with  
`iperf3 -c 192.168.1.4`  
When I add either `-P 4` or `-w 4M` I get the full 10 Gbps.

These two webpages are useful.

> **[iPerf - iPerf3 and iPerf2 user documentation](https://iperf.fr/iperf-doc.php)**
>
> iPerf3 documentation - measuring TCP, UDP and SCTP bandwidth performance

[http://software.es.net/iperf/invoking.html#iperf3-manual-page](http://software.es.net/iperf/invoking.html#iperf3-manual-page)

---

<div class="post-metadata">

**Author:** ![luvencl](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/l/13edae/32.png) [@luvencl](https://forum.gl-inet.com/u/luvencl)\
**Post date:** [December 31, 2023, 3:43pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/7 "2023-12-31T15:43:34Z")

</div>

Thanks for the info… Any idea how to set it to run all unattendend? ie after reboot, I wish for it to be like a service so I always have access to it.

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [December 31, 2023, 3:53pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/8 "2023-12-31T15:53:11Z")

</div>

Add to the crontab

```sh
@reboot
iperf3 -s -D

```

should do the trick.

---

<div class="post-metadata">

**Author:** ![luvencl](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/l/13edae/32.png) [@luvencl](https://forum.gl-inet.com/u/luvencl)\
**Post date:** [December 31, 2023, 4:34pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/9 "2023-12-31T16:34:48Z")

</div>

Thank you so much for the response. I also just found out you can simply add it to start up in Luci

---

<div class="post-metadata">

**Author:** ![natsufairy90](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/n/e9c0ed/32.png) [@natsufairy90](https://forum.gl-inet.com/u/natsufairy90)\
**Post date:** [January 15, 2025, 1:04pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/10 "2025-01-15T13:04:10Z")

</div>

Hello admon, all is fine, but after i check it, i need a command line for ending server mode in my router? Or with a reboot it's fine? i have rebooted my router.

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [January 15, 2025, 2:24pm UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/11 "2025-01-15T14:24:17Z")

</div>

CTRL + C will end the program, but reboot is fine as well.

---

<div class="post-metadata">

**Author:** ![bruce](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/bruce/32/35649_2.png) [@bruce](https://forum.gl-inet.com/u/bruce)\
**Post date:** [October 29, 2025, 11:42am UTC](https://forum.gl-inet.com/t/iperf3-for-beginners/34984/12 "2025-10-29T11:42:34Z")

</div>


