As of 2.3.10, PresSTORE includes a simple, yet powerful network test utility. This utility can be used to check the data transfer speed between the PresSTORE server and any of it's clients (see Limitations below).
The utility performs a pure network test, i.e. it does not read nor write any files, thus avoiding disk-speed to interfere with the measurement. It supports bidirectional data transfer: you can test both reading and writing of data from/to any registered client. Optionally, you can limit/extend the duration of the test, and, more importantly, configure/adjust network socket buffers to see which setup brings more speed.
The utility is exposed over the Command Line Interface (CLI) like:
cli::tests::net::readspeed client [-blocksize bytes] [-duration seconds]
cli::tests::net::writespeed client [-blocksize bytes] [-duration seconds]
The commands read/write data from/to the given client for a given -duration of seconds (default = 5 seconds) by setting the read/write socket buffers to -blocksize (default = system default). Both commands report speed in KBytes/sec.
The client must point to a configured and enabled client resource in PresSTORE server client database in order for the utility to work.
For details calling commands via the CLI please consult the CLI guide.
# cd /usr/local/aw
# bin/nsdchat -c cli::tests::net::readspeed imac
# bin/nsdchat -c cli::tests::net::writespeed imac
Here, all default values have been taken: the test were conducted for 5 seconds and both read and write socket buffers are left to the system-selected default. In some situations it is necessary to trim/adjust the socket buffers in order to get maximum possible network throughput.
# cd /usr/local/aw
# bin/nsdchat -c cli::tests::net::writespeed sparcsun
# bin/nsdchat -c cli::tests::net::writespeed sparcsun -blocksize 131072
As you see, by setting socket buffers to 128K, the speed between the current PresSTORE server and the given client (in this case a Sun Sparc system with Solaris 2.8 operating system) effectively doubles.
The utility does not support Mac OS X 10.3.9 or less. It also does not support speed tests between any Windows server and clients. When running on a Unix-like operating system, it does not support readtest from an Windows client. When running on a Windows operating system, it does not support writetest to any client.
The -duration argument should be extended to max 20 seconds, otherwise negative results may be reported (this is a known bug and will be fixed in one of the next releases).
The -blocksize argument shound not exeed 200KByte as some operating systems (most notably Mac OSX) will not support socket buffer sizes larger than that.