How to Test Network performance and Bandwidth
Introduction –
Network latency and Bandwidth are the two metrics most likely to be of interest when you benchmark a network. Even though most service and product advertising focuses on bandwidth, at times the latency can be a more important metric.
** What is Bandwidth?
Bandwidth (BW) in computer networking refers to the data rate supported by a network connection or interface. BW is measured in terms of bits per second (bps).
** What is Network latency?
Latency is a measure of time delay experienced in a system. Network latency is simply defined as the time delay observed as data transmits from one point to another. There are a number of factors that contribute to network latency. These include transmission(medium of connectivity), Distance, Routers and computer hardware delays.
List of Projects used to test Network performance and Bandwidth –
1) bmon – Bandwidth monitor and rate estimator, it is console based,live BW
2) bwbar – Bandwidth usage in Text and Graphical format
3) bwm-ng – Bandwidth Monitor NG (Next Generation, live BW, console based
4) dstat – Dstat is a replacement for vmstat, iostat and ifstat.
5) iftop – Bandwidth usage on an interface, console based
6) iperf – Perform Network throughput tests bet two host
7) ifstat – Report InterFace STATistics
8) cbm – Color Bandwidth Meter ,console based
9) etherape – Graphical network traffic browser
10) iptraf – Interactive Colorful IP LAN Monitor, console and GUI based
11) netmrg – It is daemon based, mySQL support, Gathers data from devices.
12) nuttcp – Network performance measurement tool
13) nepim – network performance
NOTE ~ For some of them rpm or deb packages are not available!
Step 1] How to install on Redhat/RHCE,CentOS based system and Dibian based system –
root@me:~# yum install netperf iperf nuttcp nepim lmbench
** Ubuntu –
root@me:~# apt-get install bmon bwbar bwm-ng dstat cbm etherape iftop iperf ifstat iptraf netmrg
Step 2] How to use – bmon, bwm-ng, dstat, ifstat –
root@me:~# bmon
interface: lo at me.arun.host
# Interface RX Rate RX # TX Rate TX #
────────────────────────────────────────
me.arun.host (source: local)
0 lo 0.00B 0 0.00B 0
1 eth0 0.00B 0 0.00B 0
2 eth2 0.00B 0 0.00B 0
3 vboxnet0 0.00B 0 0.00B 0
4 pan0 0.00B 0 0.00B 0
5 ppp0 69.39KiB 61 7.49KiB 44
root@me:~# bwm-ng
bwm-ng v0.6 (probing every 0.500s), press ‘h’ for help
input: /proc/net/dev type: rate
\ iface Rx Tx Total
==============================================================================
lo: 0.00 KB/s 0.00 KB/s 0.00 KB/s
eth0: 0.00 KB/s 0.00 KB/s 0.00 KB/s
eth2: 0.00 KB/s 0.00 KB/s 0.00 KB/s
ppp0: 64.39 KB/s 7.92 KB/s 72.31 KB/s
——————————————————————————
total: 64.39 KB/s 7.92 KB/s 72.31 KB/s
root@me:~# dstat
—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system–
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
7 4 85 4 0 0| 281k 110k| 0 0 | 0 0 | 865 3013
8 4 88 0 0 0| 0 0 |7027B 1261B| 0 0 | 956 4505
8 5 86 0 0 0| 0 0 | 14k 1867B| 0 0 |1144 3332
9 5 86 0 1 0| 0 0 | 79k 2496B| 0 0 |1360 3366
18 8 74 0 0 0| 0 0 | 52k 6511B| 0 0 |1299 3618
8 6 85 0 1 0| 0 0 | 35k 5339B| 0 0 |1094 4231
6 4 90 0 0 0| 0 0 | 0 3164B| 0 0 | 953 2750 ^C
root@me:~#
root@me:~# ifstat
eth0 eth2 ppp0
KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out
0.00 0.00 0.00 0.00 95.73 4.31
0.00 0.00 0.00 0.00 67.93 8.17
0.00 0.00 0.00 0.00 106.77 13.70
** start “iperf” server on one host(A) and client on another host(B)- to measure Network throughput between two hosts.
* Host -A
root@me:~# iperf -s
————————————————————
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
————————————————————
[ 4] local 192.168.0.1 port 5001 connected with 192.168.0.2 port 56171
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 9.11 GBytes 7.82 Gbits/sec
* Host -B
test@hostB:~$ iperf -c 192.168.0.1
————————————————————
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 49.5 KByte (default)
————————————————————
[ 3] local 192.168.0.2 port 56171 connected with 192.168.0.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 9.11 GBytes 7.82 Gbits/sec
test@hostB:~$
root@me:~# iftop
root@me:~# cbm
Thank you,
Arun Bagul