1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/dist/tools/benchmark_udp/README.md

52 lines
1.9 KiB
Markdown
Raw Normal View History

# UDP Benchmark server
This is a simple tool to generate load and evaluate the performance and reliability of a network.
Clients will periodically send UDP packets to the benchmark server, the server keeps track of
how many packets have been received and how many the nodes have reported to send.
By default the server will also echo the packets back to the sender so round-trip time can be
measured.
### Usage
### Server
Run the binary you find in `bin/benchmark_server`.
e.g. to listen on all addresses on port 12345 run
bin/benchmark_server :: 12345
There are a few command line options available:
- `-i <interval>` to control the send interval in µs
- `-s <size>` to control the test packet payload
- `-o` for one-way mode where only the clients send packets to the server, but the server doesn't echo them back.
Output:
- 'host': client address
- 'bandwidth': average bandwidth since the last configuration package
- 'num TX': number of packaged produced by the client since the configuration package
- 'num RX': number of packaged received by the server since the configuration package
- 'num RT': number of server echos received by the client since the last configuration package
- 'RTT': round trip time client->server->client (last package received by client)
### Client
On the application that you want to benchmark, add the `benchmark_udp` module.
If you have the shell enabled you can then start the benchmark manually by
bench_udp start <address> <port>
If port is omitted it will default to `12345` (`BENCH_PORT_DEFAULT`), if the address is omitted `fd00:dead:beef::1` (`BENCH_SERVER_DEFAULT`) will be used.
If the benchmark should be started automatically, add the `auto_init_benchmark_udp` module.
In this case, `BENCH_SERVER_DEFAULT` and `BENCH_PORT_DEFAULT` will be used.
They can be overwritten via CFLAGS:
CFLAGS += -DBENCH_SERVER_DEFAULT=\"<addr>\"
CFLAGS += -DBENCH_PORT_DEFAULT=<port>