Skip to content

juanmasg/hperf

 
 

Repository files navigation

hperf

hperf is a tool for active measurements of the maximum achievable bandwidth between N peers, measuring RX/TX bandwidth for each peers.

Download

Download Binary Releases for various platforms.

Usecases

  • Calculate baseline RX/TX
  • Debug TOR Switch bottlenecks

Usage

./hperf IP1 IP2 IP3 ...
...
Bandwidth: 1.2 GB/s RX | 1.0 GB/s TX
Bandwidth: 1.2 GB/s RX | 1.1 GB/s TX
Bandwidth: 1.2 GB/s RX | 990 MB/s TX
Bandwidth: 1.2 GB/s RX | 944 MB/s TX

on all the servers IP1 IP2 IP3 ... respectively.

Default ports are 9999 and 10000 make sure your firewalls allow these ports. You may optionally configure ./hperf to use custom ports as well, for example setting port 5001 would require opening up port 5002 as well.

NPERF_PORT=5001 ./hperf IP1 IP2 IP3 ...

On k8s

Using helm

helm install https://github.com/minio/hperf/raw/main/helm-releases/hperf-v4.0.0.tgz --generate-name --namespace <my-namespace>

Using yaml

export NAMESPACE=<my-namespace>
kubectl apply -f https://github.com/minio/hperf/raw/main/hperf.yaml --namespace $NAMESPACE

Observe the output

kubectl logs --namespace <my-namespace> --max-log-requests <replica-count> -l "app=hperf" -f

LICENSE

Use of hperf tool is governed by the GNU AGPLv3 license that can be found in the LICENSE file.

About

Distributed HTTP Speed Test.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 71.0%
  • Smarty 26.3%
  • Dockerfile 1.9%
  • Shell 0.8%