Running the benchmark for S3

Prerequisites

To run GOSBench

  1. On the coordinator node, start the benchmark server:

    # ./server -c gosbench_script.yaml
  2. On each load generator, start the benchmark workers:

    # ./worker -p 8009 -s <coordinator_IP>:2000

To collect GOSBench results

GOSBench shows performance results in the console, and also uses Prometheus and Grafana to collect and graph results.

An example console output is as follows:

INFO[2022-06-07T15:09:47+03:00] Ready to accept connections
INFO[2022-06-07T15:09:58+03:00] 127.0.0.1:57956 connected to us
INFO[2022-06-07T15:09:58+03:00] We found worker 1 / 1 for test 0              Worker="127.0.0.1:57956"
INFO[2022-06-07T15:10:03+03:00] All workers have finished preparations - starting performance test  test="write test"
INFO[2022-06-07T15:25:20+03:00] All workers have finished the performance test - continuing with next test  test="write test"
INFO[2022-06-07T15:25:20+03:00] GRAFANA: ?from=1654603803922&to=1654604720745  test="write test"
INFO[2022-06-07T15:25:20+03:00] PERF RESULTS  Average BW in Byte/s=6.638758826285763e+07 \
Average latency in ms=3018.8787541713014 Test runtime on server=15m16.822798366s \
Total Bytes=6.0183302998e+10 Total Operations=899 test="write test"

The line starting with INFO[<date>:<time>] GRAFANA includes a query string that you can append to the Grafana dashboard URL. The admin panel provides the Grafana server and the S3 overview dashboard that you can use to check the benchmark behavior: