In MOSC I read about OraTcpTest and had a short look at MOS note 2064368.1 . The scope of the tool is to measure network performance for Dataguard environments.
In the past I used iperf – a default Unix tool – but it has to be installed and it’s hard to set the options exactly matching the database. Often the results were not the same as the database ones. OraTcpTest should do it better.
The only prerequisite is java which is included in ORACLE_HOME.
If your are using a non reserved port, you can run it as non privileged user.
No special options are required to start the server:
node1$ java -jar oratcptest.jar -server -port=50000
Client needs to specify the options for the test:
node2$ java -jar oratcptest.jar node1 -port=50000 -mode=async -duration=10s -interval=2s [Requesting a test] Message payload = 1 Mbyte Payload content type = RANDOM Delay between messages = NO Number of connections = 1 Socket send buffer = (system default) Transport mode = ASYNC Disk write = NO Statistics interval = 2 seconds Test duration = 10 seconds Test frequency = NO Network Timeout = NO (1 Mbyte = 1024x1024 bytes) (10:01:53) The server is ready. Throughput (10:01:55) 1019.240 Mbytes/s (10:01:57) 1062.165 Mbytes/s (10:01:59) 1047.969 Mbytes/s (10:02:01) 1048.935 Mbytes/s (10:02:03) 1083.720 Mbytes/s (10:02:03) Test finished. Socket send buffer = 2 Mbytes Avg. throughput = 1052.081 Mbytes/s
On node2 the message appears:
[A test was requested.] Message payload = 1 Mbyte Disk write = NO Socket receive buffer = (system default) The test terminated. The socket receive buffer was 2 Mbytes.
At least the -port option is required.
Please adjust the prarmeter regarding your planed Datagurad config:
|SYNC AFFIRM||-mode=sync -write|
The server has the option -file to specify the path to the file. Only useful, if the -write option on the client side is used. Unforunattly it’s not possible to write to ASM diskgroups. :(One other useful option I want to mention: for wide distance networks you need to know the round trip time (rtt) to calculate the tcp buffer size.
This tool can also measure the rtt over a longer time and print it as Avg. latency.
Be Careful: the field Avg. latency has diffrent values, if -mode is used instead of -rtt.
node2$ java -jar oratcptest.jar node1 -port=50000 -rtt -duration=10s -interval=2s
For other options have a look at the help:
node2$ java -jar oratcptest.jar -help
It’s easy to use, the prerequisites are really small and the information is more precise than OS tools.