Skip to content

Commit 58e7687

Browse files
Updates
1 parent 22043b1 commit 58e7687

File tree

3 files changed

+28
-17
lines changed

3 files changed

+28
-17
lines changed

content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/_index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
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
33

44
whminutes_to_complete: 30
55

66
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.
77

88
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.
1111
- Identify and apply basic runtime parameters to tune performance.
1212

1313
prerequisites:
@@ -22,13 +22,13 @@ subjects: Performance and Architecture
2222
armips:
2323
- Neoverse
2424
tools_software_languages:
25-
- iperf3
25+
- iPerf3
2626
operatingsystems:
2727
- Linux
2828

2929
further_reading:
3030
- resource:
31-
title: iperf3 user manual
31+
title: iPerf3 user manual
3232
link: https://iperf.fr/iperf-doc.php
3333
type: documentation
3434

content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/setup.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Prepare for network performance testing
2+
title: Set up Arm-Based Linux systems for network performance testing with iPerf3
33
weight: 2
44

55
### FIXED, DO NOT MODIFY
@@ -8,7 +8,7 @@ layout: learningpathall
88

99
## Configure two Arm-based Linux computers
1010

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.
1212

1313
This tutorial also walks you through a local-to-cloud test to compare performance between:
1414

@@ -17,7 +17,7 @@ This tutorial also walks you through a local-to-cloud test to compare performanc
1717

1818
The setup instructions below use AWS EC2 instances connected within a Virtual Private Cloud (VPC).
1919

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:
2121

2222
* One acts as a server
2323
* One acts as a client
@@ -26,7 +26,7 @@ The instructions below use two `t4g.xlarge` instances running Ubuntu 24.04 LTS.
2626

2727
## Install software dependencies
2828

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.
3030

3131
Install `iperf3` on both the client and server systems:
3232

@@ -36,10 +36,10 @@ sudo apt install iperf3 -y
3636
```
3737

3838
{{% 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".
4040
{{% /notice %}}
4141

42-
## Update Security Rules
42+
## Update security rules
4343

4444
If you're working in a cloud environment like AWS, you must update the default security rules to enable specific inbound and outbound protocols.
4545

@@ -53,8 +53,9 @@ From the AWS console:
5353

5454
![example_traffic#center](./example_traffic_rules.png "Example traffic")
5555

56-
{{% notice Note %}}
56+
{{% notice Warning %}}
5757
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+
5859
You can restrict the range further by:
5960

6061
* Opening only TCP port 5201
@@ -92,6 +93,14 @@ Add the client's IP address and assign it the name `CLIENT`:
9293
10.248.213.105 CLIENT
9394
```
9495

96+
| Instance Name | Role | Description |
97+
|---------------|--------|------------------------------------|
98+
| SERVER | Server | Runs `iperf3` in listen mode |
99+
| CLIENT | Client | Initiates performance tests |
100+
101+
102+
103+
95104
## Confirm server is reachable
96105

97106
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
100109
ping SERVER -c 3 && ping 127.0.0.1 -c 3
101110
```
102111

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.
104115

105116
```output
106117
PING SERVER (10.248.213.104) 56(84) bytes of data.

content/learning-paths/servers-and-cloud-computing/microbenchmark-network-iperf3/tuning.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@ layout: learningpathall
1010

1111
You can look at ways to mitigate performance degradation due to events such as packet loss.
1212

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.
1414

1515
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.
1616

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.
1818

1919
On your local computer run:
2020

2121
```bash
2222
iperf3 -c <server-public-IP> -V
2323
```
2424

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.
2626

2727
```output
2828
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test, tos 0
@@ -59,7 +59,7 @@ sudo sysctl net.core.rmem_max=134217728 # default = 212992
5959
sudo sysctl net.core.wmem_max=134217728 # default = 212992
6060
```
6161

62-
Restart the `iperf3` server.
62+
Restart the iPerf3 server:
6363

6464
```bash
6565
iperf3 -s

0 commit comments

Comments
 (0)