Now I dive into one of the options to what extend guest shell can be used.
Let’s try iPerf3 for some speed and load testing.
For the starting point, I assume you have the following:
- Configured Guest shell
- Enabled Guest shell
- Provided Internet access from Guest shell
- Enabled communication between the guest shells
Please check my previous post about configuring and using the guest shell.
:: Install iPerf3
We install Iperf3 on both devices. Installation is similar, so I only show the install from TestMonkey.
TestMonkey#guestshell
[guestshell@guestshell ~]$
[guestshell@guestshell ~]$
[guestshell@guestshell ~]$
[guestshell@guestshell ~]$
[guestshell@guestshell ~]$
[guestshell@guestshell ~]$ sudo yum install iperf3
CentOS-8 - AppStream 3.1 MB/s | 8.9 MB 00:02
CentOS-8 - Base 3.6 MB/s | 7.4 MB 00:02
CentOS-8 - Extras 20 kB/s | 10 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 3.1 MB/s | 10 MB 00:03
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
iperf3 x86_64 3.5-6.el8 AppStream 100 k
Installing dependencies:
lksctp-tools x86_64 1.0.18-3.el8 BaseOS 100 k
Transaction Summary
================================================================================
Install 2 Packages
Total download size: 200 k
Installed size: 481 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): lksctp-tools-1.0.18-3.el8.x86_64.rpm 594 kB/s | 100 kB 00:00
(2/2): iperf3-3.5-6.el8.x86_64.rpm 568 kB/s | 100 kB 00:00
--------------------------------------------------------------------------------
Total 319 kB/s | 200 kB 00:00
warning: /var/cache/dnf/AppStream-a520ed22b0a8a736/packages/iperf3-3.5-6.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS-8 - AppStream 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0x8483C65D:
Userid : "CentOS (CentOS Official Signing Key) <security@centos.org>"
Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : lksctp-tools-1.0.18-3.el8.x86_64 1/2
Running scriptlet: lksctp-tools-1.0.18-3.el8.x86_64 1/2
Installing : iperf3-3.5-6.el8.x86_64 2/2
Running scriptlet: iperf3-3.5-6.el8.x86_64 2/2
Verifying : iperf3-3.5-6.el8.x86_64 1/2
Verifying : lksctp-tools-1.0.18-3.el8.x86_64 2/2
Installed:
iperf3-3.5-6.el8.x86_64 lksctp-tools-1.0.18-3.el8.x86_64
Complete!
[guestshell@guestshell ~]$ iperf3 -v
iperf 3.5 (cJSON 1.5.2)
Linux guestshell 4.19.157 #1 SMP Wed Feb 10 10:15:44 UTC 2021 x86_64
Optional features available: CPU affinity setting, IPv6 flow label, SCTP, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing, authentication
[guestshell@guestshell ~]$
:: Run iPerf3
Before we continue, please note that you need to enable communications between both Guest shells. So 192.168.30.10 needs to communicate to 192.168.30.12 and vice versa.
Installing some static host routes will do the trick.
- BunnyRabbit acts as a server
- TestMonkey is the client
On BunnyRabbit:
[guestshell@guestshell ~]$ iperf3 -s -p 8000
-----------------------------------------------------------
Server listening on 8000
-----------------------------------------------------------
Note: services will be bind on guestip-address: 192.168.30.12
On TestMonkey:
[guestshell@guestshell ~]$ iperf3 -c 192.168.30.12 -p 8000
Connecting to host 192.168.30.12, port 8000
[ 5] local 192.168.30.10 port 50100 connected to 192.168.30.12 port 8000
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 390 KBytes 3.20 Mbits/sec 0 39.6 KBytes
[ 5] 1.00-2.00 sec 90.5 KBytes 741 Kbits/sec 0 45.2 KBytes
[ 5] 2.00-3.00 sec 100 KBytes 822 Kbits/sec 0 52.3 KBytes
[ 5] 3.00-4.00 sec 110 KBytes 903 Kbits/sec 0 59.4 KBytes
[ 5] 4.00-5.00 sec 447 KBytes 3.66 Mbits/sec 0 82.0 KBytes
[ 5] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 0 117 KBytes
[ 5] 6.00-7.00 sec 509 KBytes 4.17 Mbits/sec 0 165 KBytes
[ 5] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 0 225 KBytes
[ 5] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 0 283 KBytes
[ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 0 341 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.61 MBytes 1.35 Mbits/sec 0 sender
[ 5] 0.00-12.97 sec 1.59 MBytes 1.03 Mbits/sec receiver
A nice and useful feature to test speed tests from device to device.
:: Resources