January 10th, 2009 Category: LinuxAnother easy to use tool for measuring the network bandwidth is Iperf. On Debian it can be installed using:
apt-get install iperf
Optionally the source or the Windows binary is available from sourceforge.net/projects/iperf
Building and installing from source is done using a few commands:
tar xvfz iperf-2.0.4.tar.gz
cd iperf-2.0.4
./configure
make
make install
Once installed iperf the server is started on machine 1:
machine1:~# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
Next the client is started on machine 2:
machine2:~# iperf -c machine1.mydomain.de
------------------------------------------------------------
Client connecting to machine1.mydomain.de, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local xx.xx.xx.xx port 45325 connected with yy.yy.yy.yyport 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 96.6 MBytes 80.9 Mbits/sec
Tested on two servers connected with 100 MBit/s located at two different providers in Germany we get a result of 80.9 MBits/sec.
This result is slightly higher compared to the result from our measurement done with NETIO in the article Network Throughput Measurement. So we start the test again with addtional parameters:
machine2:~# iperf -c machine1.mydomain.de -w 512k -l 512k
------------------------------------------------------------
Client connecting to machine1.mydomain.de, TCP port 5001
TCP window size: 256 KByte (WARNING: requested 512 KByte)
------------------------------------------------------------
[ 3] local xx.xx.xx.xx port 40987 connected with yy.yy.yy.yyport 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 72.0 MBytes 60.3 Mbits/sec
Now using modified read/write buffer size and TCP windows size we get almost the same result as in our test with netio.
Definitely a tool which can be recommended to check your network throughput!
Written on January 10, 2009 | Posted in
Linux January 10th, 2009 Category: Linux ServerA real nice and easy to use tool for measuring the network throughput on Linux/Unix as well as Windows is NETIO. You only need to download the binaries from the NETIO homepage, store on your server or clients and execute them.
The example below shows a sample measurement between to servers connected with a 100 MBit ethernet card and located at two different providers.
On one machine NETIO is started as server:
machine1:~/netio/bin# ./linux-i386 -s
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
TCP server listening.
UDP server listening.
TCP connection established ...
Receiving from client, packet size 1k ...
Sending to client, packet size 1k ...
Receiving from client, packet size 2k ...
Sending to client, packet size 2k ...
Receiving from client, packet size 4k ...
Sending to client, packet size 4k ...
Receiving from client, packet size 8k ...
Sending to client, packet size 8k ...
Receiving from client, packet size 16k ...
Sending to client, packet size 16k ...
Receiving from client, packet size 32k ...
Sending to client, packet size 32k ...
Done.
TCP server listening.
On the other machine NETIO is called e.g. with -t option for TCP and the name or IP of the other machine:
machine2:~/netio/bin# ./linux-i386 -t machine1.mydomain.de
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
TCP connection established.
Packet size 1k bytes: 7309 KByte/s Tx, 7645 KByte/s Rx.
Packet size 2k bytes: 7276 KByte/s Tx, 7724 KByte/s Rx.
Packet size 4k bytes: 7291 KByte/s Tx, 7737 KByte/s Rx.
Packet size 8k bytes: 7276 KByte/s Tx, 7723 KByte/s Rx.
Packet size 16k bytes: 7286 KByte/s Tx, 7719 KByte/s Rx.
Packet size 32k bytes: 7291 KByte/s Tx, 7725 KByte/s Rx.
Done.
We take a rough average of the result can multiply it by 8: 7,5 * 8 = 60 MBit/s. This is a acceptable value for a connection between two servers located at different providers within Germany.
For sure a useful tool! Also check Network Bandwidth Performance Measurement with Iperf
Written on January 10, 2009 | Posted in
Linux Server December 30th, 2008 Category: Linux ServerYou are running a Linux server and have no possibility to monitor your traffic monthly, daily, weekly etc? Then you really should try vnstat. I like it because it’s:
- easy to install
- easy to use
- collects long term traffic statistics
- doesn’t generate much CPU load
For people who don’t like the shell check out the vnstat PHP frontend.
Installation is esay using Debian Etch:
apt-get install vnstat
vnstat -u -i eth0
For certain virtual servers you have to use a different ethernet interface than “eth0″, e.g. “venet0″:
vnstat -u -i venet0
That’s all. vnstat will now be executed periodically from cron. Some time passed you can check your traffic, like in the example below.
host:~# vnstat -m
eth0 / monthly
month rx | tx | total
-----------------------+--------------+--------------------------------------
Jan '08 252.40 GB | 4.17 TB | 4.41 TB %:::::::::::
Feb '08 140.07 GB | 3.96 TB | 4.10 TB :::::::::::
Mar '08 152.46 GB | 4.21 TB | 4.36 TB ::::::::::::
Apr '08 150.35 GB | 4.11 TB | 4.26 TB ::::::::::::
May '08 118.78 GB | 3.53 TB | 3.65 TB ::::::::::
Jun '08 144.95 GB | 4.54 TB | 4.68 TB :::::::::::::
Jul '08 157.09 GB | 4.91 TB | 5.06 TB ::::::::::::::
Aug '08 160.96 GB | 5.01 TB | 5.17 TB :::::::::::::::
Sep '08 172.33 GB | 5.43 TB | 5.60 TB ::::::::::::::::
Oct '08 189.69 GB | 6.12 TB | 6.31 TB %:::::::::::::::::
Nov '08 190.89 GB | 6.52 TB | 6.71 TB %::::::::::::::::::
Dec '08 209.59 GB | 7.35 TB | 7.55 TB %:::::::::::::::::::::
-----------------------+--------------+--------------------------------------
estimated 219.94 GB | 7.71 TB | 7.93 TB
Written on December 30, 2008 | Posted in
Linux Server