You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/_index.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
-
title: Microbenchmark and tune network performance with iperf3 and Linux traffic control
2
+
title: Microbenchmark and tune network performance with iPerf3 and Linux traffic control
3
3
4
4
whminutes_to_complete: 30
5
5
6
6
who_is_this_for: This is an introductory topic for performance engineers, Linux system administrators, or application developers who want to microbenchmark, simulate, or tune the networking performance of distributed systems.
7
7
8
8
learning_objectives:
9
-
- Understand how to use iperf3 for network microbenchmarking.
10
-
- Use Linux traffic control (tc) to simulate different network conditions.
9
+
- Understand how to use iPerf3 for network microbenchmarking.
10
+
- Use Linux Traffic Control (TC) to simulate different network conditions.
11
11
- Identify and apply basic runtime parameters to tune performance.
12
12
13
13
prerequisites:
@@ -22,13 +22,13 @@ subjects: Performance and Architecture
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/setup.md
+19-8Lines changed: 19 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Prepare for network performance testing
2
+
title: Set up Arm-Based Linux systems for network performance testing with iPerf3
3
3
weight: 2
4
4
5
5
### FIXED, DO NOT MODIFY
@@ -8,7 +8,7 @@ layout: learningpathall
8
8
9
9
## Configure two Arm-based Linux computers
10
10
11
-
To perform network performance testing, you'll need access to two Arm-based Linux systems. You can use AWS EC2 instances with Graviton processors, or Linux virtual machines from any other cloud service provider.
11
+
To benchmark bandwidth and latency between Arm-based systems, you'll need to configure two Linux machines running on Arm. You can use AWS EC2 instances with Graviton processors, or Linux virtual machines from any other cloud service provider.
12
12
13
13
This tutorial also walks you through a local-to-cloud test to compare performance between:
14
14
@@ -17,7 +17,7 @@ This tutorial also walks you through a local-to-cloud test to compare performanc
17
17
18
18
The setup instructions below use AWS EC2 instances connected within a Virtual Private Cloud (VPC).
19
19
20
-
To get started, create two Arm-based Linux instances, each instance will serve one role:
20
+
To get started, create two Arm-based Linux instances, with each instance serving one role:
21
21
22
22
* One acts as a server
23
23
* One acts as a client
@@ -26,7 +26,7 @@ The instructions below use two `t4g.xlarge` instances running Ubuntu 24.04 LTS.
26
26
27
27
## Install software dependencies
28
28
29
-
Use the commands below to install `iperf3`, a powerful open-source CLI tool for measuring maximum achievable network bandwidth.
29
+
Use the commands below to install iPerf3, which is a powerful open-source CLI tool for measuring maximum achievable network bandwidth.
30
30
31
31
Install `iperf3` on both the client and server systems:
32
32
@@ -36,10 +36,10 @@ sudo apt install iperf3 -y
36
36
```
37
37
38
38
{{% notice Note %}}
39
-
If you're prompted to run `iperf3` as a daemon, you can safely answer "no".
39
+
If you're prompted to run `iperf3` as a daemon, answer "no".
40
40
{{% /notice %}}
41
41
42
-
## Update Security Rules
42
+
## Update security rules
43
43
44
44
If you're working in a cloud environment like AWS, you must update the default security rules to enable specific inbound and outbound protocols.
For secure internal communication, set the source to your instance’s security group. This avoids exposing traffic to the internet while allowing traffic between your systems.
58
+
58
59
You can restrict the range further by:
59
60
60
61
* Opening only TCP port 5201
@@ -92,6 +93,14 @@ Add the client's IP address and assign it the name `CLIENT`:
| SERVER | Server | Runs `iperf3` in listen mode |
99
+
| CLIENT | Client | Initiates performance tests |
100
+
101
+
102
+
103
+
95
104
## Confirm server is reachable
96
105
97
106
Finally, confirm the client can reach the server with the ping command below. As a reference you can also ping the localhost.
@@ -100,7 +109,9 @@ Finally, confirm the client can reach the server with the ping command below. As
100
109
ping SERVER -c 3 && ping 127.0.0.1 -c 3
101
110
```
102
111
103
-
The output below shows that both SERVER and localhost (127.0.0.1) are reachable. Naturally, the local host response time is ~10x faster than the server. Your results will vary depending on geographic location of the systems and other networking factors.
112
+
The output below shows that both SERVER and localhost (127.0.0.1) are reachable.
113
+
114
+
Localhost response times are typically ~10× faster than remote systems. Actual values will vary based on system location and network conditions.
104
115
105
116
```output
106
117
PING SERVER (10.248.213.104) 56(84) bytes of data.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/tuning.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,19 +10,19 @@ layout: learningpathall
10
10
11
11
You can look at ways to mitigate performance degradation due to events such as packet loss.
12
12
13
-
In this example, you will connect to the server node a local machine to demonstrate a longer response time. Check the `iperf3`[installation guide](https://iperf.fr/iperf-download.php) to install `iperf3` on other operating systems.
13
+
In this example, you will connect to the server node a local machine to demonstrate a longer response time. Check the iPerf3[installation guide](https://iperf.fr/iperf-download.php) to install iPerf3 on other operating systems.
14
14
15
15
Make sure to set the server security group to accept the TCP connection from your local computer IP address. You will also need to use the public IP for the cloud instance.
16
16
17
-
Running `iperf3` on the local machine and connecting to the cloud server shows a longer round trip time, in this example more than 40ms.
17
+
Running iPerf3 on the local machine and connecting to the cloud server shows a longer round trip time, in this example more than 40ms.
18
18
19
19
On your local computer run:
20
20
21
21
```bash
22
22
iperf3 -c <server-public-IP> -V
23
23
```
24
24
25
-
Running a standard TCP client connection with `iperf3` shows an average bitrate of 157 Mbps compared to over 2 Gbps when the client and server are both in AWS.
25
+
Running a standard TCP client connection with iPerf3 shows an average bitrate of 157 Mbps compared to over 2 Gbps when the client and server are both in AWS.
26
26
27
27
```output
28
28
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test, tos 0
0 commit comments