| 1 | == Measuring Network Performance == |
| 2 | This wiki page contains the tutorial of measuring network performance. |
| 3 | |
| 4 | Authors: |
| 5 | |
| 6 | Artur Minakhmetov, Telecom Paris : artur.minakhmetov[at]telecom-paris.fr\\ |
| 7 | Michael Sherman, Rutgers University : msherman[at]winlab.rutgers.edu |
| 8 | |
| 9 | |
| 10 | Last Updated: 26 June 2019 |
| 11 | |
| 12 | ---- |
| 13 | = Description = |
| 14 | Cosmos test-bed provides a set of different network interfaces with different speed and rates. In this tutorial we will show how to measure the network performance. |
| 15 | |
| 16 | ---- |
| 17 | |
| 18 | = Context = |
| 19 | |
| 20 | This tutorial is based on topology and settings described in the optical network tutorial: [https://wiki.cosmos-lab.org/wiki/tutorials/optical-network-example]. |
| 21 | |
| 22 | This example includes a server ''srv4-lg1'' with connected to it ''tengigabitethernet 1/34'' and joined with ''twentyFiveGigE 1/1/4'' on ''vlan 124''. Binding ''tengigabitethernet 1/32'' with ''twentyFiveGigE 1/1/4'' is performed the same way as in the optical network tutorial. |
| 23 | |
| 24 | The server ''srv4-lg1'' has an IP address assigned to it 192.168.1.4 on ''eno1'' interface. |
| 25 | |
| 26 | For simplicity, the Calient Switch S320 connects ''tengigabitethernet 1/34'' with ''tengigabitethernet 1/32/1'' through direct optical connection: ''5.7.4<-->5.7.6'' |
| 27 | |
| 28 | ---- |
| 29 | |
| 30 | = Measurement = |
| 31 | |
| 32 | Measurements are preformed through a command line tool ''iperf''. Examples and descriptions of its operation could be found here: [https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/] |
| 33 | |
| 34 | * Set ''srv1-lg1'' as a server: |
| 35 | |
| 36 | {{{ |
| 37 | native@srv1-lg1:~$ iperf -s |
| 38 | ------------------------------------------------------------ |
| 39 | Server listening on TCP port 5001 |
| 40 | TCP window size: 85.3 KByte (default) |
| 41 | }}} |
| 42 | |
| 43 | * Set ''srv4-lg1'' as a client with sending traffic to ''srv1-lg1'': |
| 44 | |
| 45 | |
| 46 | {{{ |
| 47 | native@srv4-lg1:~$ iperf -c 192.168.1.1 |
| 48 | ------------------------------------------------------------ |
| 49 | Client connecting to 192.168.1.1, TCP port 5001 |
| 50 | TCP window size: 85.0 KByte (default) |
| 51 | ------------------------------------------------------------ |
| 52 | [ 3] local 192.168.1.4 port 35486 connected with 192.168.1.1 port 5001 |
| 53 | [ ID] Interval Transfer Bandwidth |
| 54 | [ 3] 0.0-10.0 sec 11.0 GBytes 9.42 Gbits/sec |
| 55 | }}} |
| 56 | |
| 57 | * This measurement shows that the it's possible to have **9.42 Gbits/sec** of bandwidth. |
| 58 | |
| 59 | * Previous measurement creates a ''TCP'' connection. In order to test ''UDP'' traffic, a bitrate of ''UDP'' traffic has to be specified through and option ''-b''. UDP traffic is specified through an option ''-u''. Results of ''UDP'' traffic test are below : |
| 60 | |
| 61 | Server side: |
| 62 | {{{ |
| 63 | native@srv1-lg1:~$ iperf -s -u |
| 64 | ------------------------------------------------------------ |
| 65 | Server listening on UDP port 5001 |
| 66 | Receiving 1470 byte datagrams |
| 67 | UDP buffer size: 208 KByte (default) |
| 68 | ------------------------------------------------------------ |
| 69 | }}} |
| 70 | |
| 71 | Client side: |
| 72 | {{{ |
| 73 | native@srv4-lg1:~$ iperf -c 192.168.1.1 -u -b 9gbps |
| 74 | ------------------------------------------------------------ |
| 75 | Client connecting to 192.168.1.1, UDP port 5001 |
| 76 | Sending 1470 byte datagrams, IPG target: 1.31 us (kalman adjust) |
| 77 | UDP buffer size: 208 KByte (default) |
| 78 | ------------------------------------------------------------ |
| 79 | [ 3] local 192.168.1.4 port 33737 connected with 192.168.1.1 port 5001 |
| 80 | [ ID] Interval Transfer Bandwidth |
| 81 | [ 3] 0.0-10.0 sec 9.77 GBytes 8.39 Gbits/sec |
| 82 | [ 3] Sent 7134255 datagrams |
| 83 | [ 3] Server Report: |
| 84 | [ 3] 0.0-10.0 sec 9.30 GBytes 7.99 Gbits/sec 0.000 ms 342498/7134255 (0%) |
| 85 | }}} |
| 86 | |
| 87 | * UDP traffic measurements show possible bandwidth of **7.99 Gbits/sec**. This result could be ameliorated through specific settings potentially. |
| 88 | |
| 89 | ---- |
| 90 | |
| 91 | = Conclusion = |
| 92 | |
| 93 | In this tutorial we showed how it's possible to measure network performance and verify 10Gbit possibilities of optical transceivers achieving **9.42 Gbits/sec** for ''TCP'' traffic and **7.99 Gbits/sec** for ''UDP'' traffic. |