1 Introduction
Network plays an important role in the performance intensive enterprise application. Data transfer from one server to other plays significant role in the performance of application. Moreover, these operations are large in number on the all tiers of application. Sometime, it might cause a bottleneck in the system. Thus it is required to examine the network bandwidth benchmarking report before proceeding to any performance validation project or Customer deployment project. The document not only gives the importance of network monitoring bench marking but also provides the details on TTCP tool in validating network bandwidth.
2 NETWORK Monitoring Tool
2.1 Importance
• Finding the bottlenecks in network
• High Bandwidth utilization
• Low latency
2.2 Different Network Monitoring tools.
– Iperf
It is a commonly used network testing tool that can create TCP and UDP data streams and measure the throughput of a network that is carrying them. Iperf is a modern tool for network performance measurement written in C++.
Pros :
The quality of a link can be tested as follows
· Latency (response time or RTT): can be measured with the Ping command.
· Jitter (latency variation): can be measured with an Iperf UDP test.
· Datagram loss: can be measured with an Iperf UDP test.
· Iperf can be installed very easily on any UNIX/Linux or Microsoft Windows system. One host must be set as client, the other one as server.
Cons :
· TTCP is easy to use than IPerf
– Capstats
It reports statistics per time interval and/or for the tool's total run-time.
Cons:
Capstats has been tested only on Linux, FreeBSD, and MacOS
– FTP Test
In FTP Test we transfer the file from client to server and get the time taken to transfer the data. We can calculate the throughput from this data.
Pros:
· Easily available command on all platform however the command will be disabled mostly for the production / benchmark servers. User can check the options like SFTP as many sites have this enabled.
Cons:
· Insufficient knowledge on command may include the disk time as well as CPU time.
How to test network with 0 delays overhead on IO with FTP?
To check the network bandwidth properly (with 0 delay on IO) through FTP test , we should route the data to /dev/null. E.g.
[root@mevtap1]</home/users/N1198> ftp 172.21.130.212
Connected to 172.21.130.212.
220 mevtcc2 FTP server (Version 4.2 Wed Jun 16 13:12:04 CDT 2010) ready.
ftp> put "|dd if=/dev/zero bs=32k count=10000" /dev/null
200 PORT command successful.
150 Opening data connection for /dev/null.
10000+0 records in.
10000+0 records out.
226 Transfer complete.
3 TTCP
• Test TCP utility (TTCP) is used to measure TCP throughput through an IP path.
• The TTCP utility can be effective in determining the actual bit rate of a particular WAN or modem connection.
3.1 TTCP Vs FTP test
TTCP
FTP TEST
Size of the data sent is controlled by the parameter
Size can be changed only by changing the file to be transferred
Port number can be set by changing the input parameter in ttcp
FTP uses default port number 21 for listening and port 20 to send the packet
Control over the number of packets sent
Default values are taken
Control over the buffer size
Default buffer size is considered
Gives the approximate throughput
Throughput has to be calculated from the data.
We can set the offset for the data sent
Not possible for ftp
3.2 Usage
• Receiver End
– java –jar ttcp.jar –r
• Transmitter End
– java –jar ttcp.tar –t ip of the receiver
For above command, default buffer length is 8K. To change the same we should use following command.
• Receiver End
– java –jar ttcp.jar –r *
• Transmitter End
– java –jar ttcp.jar –l 32768 –n 10000 –t <receiver_ip>
3.3 Sample Report
• Receiver End
java ttcp -r
tr= true
-l= 0
-n= 0
-p= 0
host=
Receive: buflen= 8192 nbuf= 1024 port= 5013
Receive connection from:
Socket[addr=/172.21.197.171,port=54298,localport=5013].
number of io calls = 6145
Receive: 8388608 bytes in 91 milli-seconds = 90.02198 Mb/secs (720.17584 Mbps) .
OVER All Speed = 741.27814
• Transmitter End
java ttcp -t 172.21.197.169
tr= false
-l= 0
-n= 0
-p= 0
host= 172.21.197.169
Transmit: buflen= 8192 nbuf= 1024 port= 5013
Transmit connection:
Socket[addr=/172.21.197.169,port=5013,localport=54298].
number of io calls = 6145
Transmit: 8388608 bytes in 87 milli-seconds = 94.16092 Mb/secs (753.28735 Mbps) .
OVER All Speed = 775.3599
3.4 Advantages of TTCP
• The tool is easy to use.
• It is Platform independent and compatible across platforms.
• Results are accurate .Compared with Iperf and FTP test.
• Its open source software developed by Cisco for the test of routers.
Network plays an important role in the performance intensive enterprise application. Data transfer from one server to other plays significant role in the performance of application. Moreover, these operations are large in number on the all tiers of application. Sometime, it might cause a bottleneck in the system. Thus it is required to examine the network bandwidth benchmarking report before proceeding to any performance validation project or Customer deployment project. The document not only gives the importance of network monitoring bench marking but also provides the details on TTCP tool in validating network bandwidth.
2 NETWORK Monitoring Tool
2.1 Importance
• Finding the bottlenecks in network
• High Bandwidth utilization
• Low latency
2.2 Different Network Monitoring tools.
– Iperf
It is a commonly used network testing tool that can create TCP and UDP data streams and measure the throughput of a network that is carrying them. Iperf is a modern tool for network performance measurement written in C++.
Pros :
The quality of a link can be tested as follows
· Latency (response time or RTT): can be measured with the Ping command.
· Jitter (latency variation): can be measured with an Iperf UDP test.
· Datagram loss: can be measured with an Iperf UDP test.
· Iperf can be installed very easily on any UNIX/Linux or Microsoft Windows system. One host must be set as client, the other one as server.
Cons :
· TTCP is easy to use than IPerf
– Capstats
It reports statistics per time interval and/or for the tool's total run-time.
Cons:
Capstats has been tested only on Linux, FreeBSD, and MacOS
– FTP Test
In FTP Test we transfer the file from client to server and get the time taken to transfer the data. We can calculate the throughput from this data.
Pros:
· Easily available command on all platform however the command will be disabled mostly for the production / benchmark servers. User can check the options like SFTP as many sites have this enabled.
Cons:
· Insufficient knowledge on command may include the disk time as well as CPU time.
How to test network with 0 delays overhead on IO with FTP?
To check the network bandwidth properly (with 0 delay on IO) through FTP test , we should route the data to /dev/null. E.g.
[root@mevtap1]</home/users/N1198> ftp 172.21.130.212
Connected to 172.21.130.212.
220 mevtcc2 FTP server (Version 4.2 Wed Jun 16 13:12:04 CDT 2010) ready.
ftp> put "|dd if=/dev/zero bs=32k count=10000" /dev/null
200 PORT command successful.
150 Opening data connection for /dev/null.
10000+0 records in.
10000+0 records out.
226 Transfer complete.
3 TTCP
• Test TCP utility (TTCP) is used to measure TCP throughput through an IP path.
• The TTCP utility can be effective in determining the actual bit rate of a particular WAN or modem connection.
3.1 TTCP Vs FTP test
TTCP
FTP TEST
Size of the data sent is controlled by the parameter
Size can be changed only by changing the file to be transferred
Port number can be set by changing the input parameter in ttcp
FTP uses default port number 21 for listening and port 20 to send the packet
Control over the number of packets sent
Default values are taken
Control over the buffer size
Default buffer size is considered
Gives the approximate throughput
Throughput has to be calculated from the data.
We can set the offset for the data sent
Not possible for ftp
3.2 Usage
• Receiver End
– java –jar ttcp.jar –r
• Transmitter End
– java –jar ttcp.tar –t ip of the receiver
For above command, default buffer length is 8K. To change the same we should use following command.
• Receiver End
– java –jar ttcp.jar –r *
• Transmitter End
– java –jar ttcp.jar –l 32768 –n 10000 –t <receiver_ip>
3.3 Sample Report
• Receiver End
java ttcp -r
tr= true
-l= 0
-n= 0
-p= 0
host=
Receive: buflen= 8192 nbuf= 1024 port= 5013
Receive connection from:
Socket[addr=/172.21.197.171,port=54298,localport=5013].
number of io calls = 6145
Receive: 8388608 bytes in 91 milli-seconds = 90.02198 Mb/secs (720.17584 Mbps) .
OVER All Speed = 741.27814
• Transmitter End
java ttcp -t 172.21.197.169
tr= false
-l= 0
-n= 0
-p= 0
host= 172.21.197.169
Transmit: buflen= 8192 nbuf= 1024 port= 5013
Transmit connection:
Socket[addr=/172.21.197.169,port=5013,localport=54298].
number of io calls = 6145
Transmit: 8388608 bytes in 87 milli-seconds = 94.16092 Mb/secs (753.28735 Mbps) .
OVER All Speed = 775.3599
3.4 Advantages of TTCP
• The tool is easy to use.
• It is Platform independent and compatible across platforms.
• Results are accurate .Compared with Iperf and FTP test.
• Its open source software developed by Cisco for the test of routers.