Yet Another Blah Bandwidth Analyzer — a lightweight TCP bandwidth testing tool similar to iperf.
go install github.com/bantl23/yabba@latestOr build from source:
git clone https://github.com/bantl23/yabba.git
cd yabba
task buildStart a listener on the server side:
yabba listenRun the client to measure throughput:
yabba connect| Flag | Default | Description |
|---|---|---|
-a, --addr |
:5201 |
Bind address |
-s, --size |
131072 |
Read buffer size (bytes) |
| Flag | Default | Description |
|---|---|---|
-a, --addrs |
localhost:5201 |
Server address(es), comma-separated |
-c, --connections |
1 |
Parallel connections per address |
-d, --duration |
10s |
Test duration |
-s, --size |
131072 |
Write buffer size (bytes) |
Run a 30-second test with 4 parallel connections:
# server
yabba listen -a :5201
# client
yabba connect -a 192.168.1.10:5201 -c 4 -d 30sTest against multiple servers simultaneously:
yabba connect -a 192.168.1.10:5201,192.168.1.11:5201 -c 2 -d 10sPrint the version:
yabba versionResults are emitted as structured JSON logs. Each connection reports its individual rate, and a final aggregate is printed per address:
{"level":"info","msg":"all connected"}
{"address":"127.0.0.1:54321","level":"info","msg":"rate","mbps":941.2}
{"level":"info","mbps":941.2,"msg":"rate average","remote":"127.0.0.1:5201"}task build # build binary
task test # run tests with coverage
task clean # remove binaryRequires Task (go install github.com/go-task/task/v3/cmd/task@latest).