Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jorgebay/polar-benchmark-tool
A tool that makes it easy to benchmark PolarStreams
https://github.com/jorgebay/polar-benchmark-tool
Last synced: 7 days ago
JSON representation
A tool that makes it easy to benchmark PolarStreams
- Host: GitHub
- URL: https://github.com/jorgebay/polar-benchmark-tool
- Owner: jorgebay
- License: apache-2.0
- Created: 2022-10-10T08:51:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-14T09:08:38.000Z (almost 2 years ago)
- Last Synced: 2024-11-17T23:25:00.315Z (2 months ago)
- Language: Go
- Homepage:
- Size: 50.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# PolarStreams Benchmarking Tool
Uses HTTP/2 clients to benchmark PolarStreams's producer API.
The load tool works in a similar way as [h2load] but it has the ability to generate a pseudo random payload to
try to mimic production values.## Building
Use go 1.19+ to build the tool.
```shell
go build .
```## Usage
```shell
./polar-benchmark-tool -h
Usage of ./polar-benchmark-tool:
-c int
Number of clients (default 1)
-ch int
Connections per host. (default 16)
-h2
For workloads that allow it, use HTTP/2
-hosts string
The host addresses of one of brokers in the cluster, the client will discover the rest of the brokers
-m int
Max concurrent requests to issue per client. (default 32)
-mr int
Number of messages per request in the workload (when supported) (default 16)
-n int
Number of requests across all clients (default 100)
-w string
The name of the workload (binary, get, http) (default "binary")
```### Example
Starting a pseudo random workload with 2 million of messages with 6 clients targeting all hosts in the cluster.
```shell
./polar-benchmark-tool -w binary -hosts 10.0.0.100 -c 6 -n 2000000 -m 1024 -ch 1Finished. Total responses 2000000 in 1224ms.
Latency in ms p50: 1.8; p999: 6.2 max: 6.2.
Throughput 1633986 messages/s (1633986 req/s)
```[h2load]: https://nghttp2.org/documentation/h2load-howto.html