TCP High Performance Networking Options

High Performance Networking Options

The options below are presented in the order that they should be checked and adjusted.

Maximum TCP Buffer (Memory) space: All operating systems have some global mechanism to limit the amount of system memory that can be used by any one TCP connection. [more][less]

Socket Buffer Sizes: Most operating systems also support separate per connection send and receive buffer limits that can be adjusted by the user, application or other mechanism as long as they stay within the maximum memory limits above. These buffer sizes correspond to the SO_SNDBUF and SO_RCVBUF options of the BSD setsockopt() call. [more][less]

Continue reading “TCP High Performance Networking Options”

How to measure network transmit speed?

FTP speed restricted by its limitation. You cannot rely on the result made by FTP, especially when you transmit data with using high speed network.
Secondly, to avoid disk I/O bottlenet when performing network speed measurement, you should use dd from /dev/zero to /dev/null
In this case, I use a pipe file as source data and used ssh to read the file. The result likely consistent.

Data size 1024 MB

Case A 100/NIC to 100/NICĀ  = 94 sec
Case B 1000/NIC to 1000/NIC = 27 sec
Source Machine – machine1 (data)

1. Make a pipe file in /tmp
mknod /tmp/applepipe p

2. dd 1GB data into the pipe file
dd if=/dev/zero bs=8k count=128000 of=/tmp/applepipe

Client Machine ( Read )
timex ssh machine1 “dd if=/tmp/applepipe bs=8k”|dd of=/dev/null bs=8k