Read Me
SOCKET RANDOM PATTERN BENCHMARK (sockrpb) - socket transport verification tool
Usage:
sockrpb [-server|-client <ip_addr/host> -p <port> -s <lower_size_boundary>
-S <upper_size_boundary> -seed <seed_number> -pingpong -tcpnodelay -noverify
-udp <peer_ip_addr/peer_host> -multicast -multicast_if_addr <local_if_ip> -multicast_addr <multicast_ip>]
Options:
-server|-client - start program as server or client
-p <port> - if given the server listens (the client connects) to <port> (default 5432)
-s - lower message size boundary (default 1)
-S - upper message size boundary (default 1)
-pingpong - start pingpong test if not specified the communication is unidirectional (stream test).
-noverify - disables verification of the received data - you would do that to avoid the overhead.
-tcpnodelay - sets TCP_NODELAY option - you would do that to benchmark best latency with Nagle algorithm disabled.
-udp <peer_address> - uses udp protocol instead of tcp.
-multicast - receives(if client)/sends(if server) to/from a multicast address. requires: "-udp"
-multicast_if_addr <local_if_ip> - local interface used for multicast. requires: "-multicast"
-multicast_addr <multicast_ip> - specific multicast address (224.0.0.0-239.255.255.255) default: 224.0.0.1; requires: "-multicast"
Examples:
1. Throughput (unidirectional tcp stream):
server> sockrpb -sever -s 65536 -noverify
client> sockrpb -client <server_name> -s 65536 -noverify
2. Latency (pingpong tcp)
server> sockrpb -sever -s 1
client> sockrpb -client <server_name> -s 1
3. Random sends stream with verification (tcp):
server> sockrpb -sever -s 1 -S 4096
client> sockrpb -client <server_name> -s 1 -S 4096
4. UDP stream test with verification - lost packets are reported:
server> sockrpb -sever -s 1024 -udp <client_name>
client> sockrpb -client <server_name> -s 1024 -udp <server_name>
5. Multicast with verification:
server(10.0.0.1)> sockrpb -sever -s 1024 -udp 10.0.0.2 -multicast -multicast_if_addr 10.0.0.1
client(10.0.0.2)> sockrpb -client 10.0.0.1 -s 1024 -udp 10.0.0.1 -multicast -multicast_if_addr 10.0.0.2
client(10.0.0.3)> sockrpb -client 10.0.0.1 -s 1024 -udp 10.0.0.1 -multicast -multicast_if_addr 10.0.0.3