Update README.md
This commit is contained in:
parent
0584b272e4
commit
0e30d68e2d
39
README.md
39
README.md
|
@ -2,12 +2,20 @@
|
||||||
|
|
||||||
[![build](https://github.com/six-ddc/plow/actions/workflows/release.yml/badge.svg)](https://github.com/six-ddc/plow/actions/workflows/release.yml)
|
[![build](https://github.com/six-ddc/plow/actions/workflows/release.yml/badge.svg)](https://github.com/six-ddc/plow/actions/workflows/release.yml)
|
||||||
[![Homebrew](https://img.shields.io/badge/dynamic/json.svg?url=https://formulae.brew.sh/api/formula/plow.json&query=$.versions.stable&label=homebrew)](https://formulae.brew.sh/formula/plow)
|
[![Homebrew](https://img.shields.io/badge/dynamic/json.svg?url=https://formulae.brew.sh/api/formula/plow.json&query=$.versions.stable&label=homebrew)](https://formulae.brew.sh/formula/plow)
|
||||||
|
[![GitHub license](https://img.shields.io/github/license/six-ddc/plow.svg)](https://github.com/six-ddc/plow/blob/main/LICENSE)
|
||||||
|
[![made-with-Go](https://img.shields.io/badge/Made%20with-Go-1f425f.svg)](http://golang.org)
|
||||||
|
|
||||||
Plow is a HTTP(S) benchmarking tool, written in Golang. It uses excellent [fasthttp](https://github.com/valyala/fasthttp#http-client-comparison-with-nethttp) instead of Go's default net/http due to its lightning fast performance.
|
Plow is a HTTP(S) benchmarking tool, written in Golang. It uses
|
||||||
|
excellent [fasthttp](https://github.com/valyala/fasthttp#http-client-comparison-with-nethttp) instead of Go's default
|
||||||
|
net/http due to its lightning fast performance.
|
||||||
|
|
||||||
Plow runs at a specified connections(`-c`) concurrently and **real-time** records a summary statistics, histogram of execution time and calculates percentiles to display on Web UI and terminal. It can run for a set duration(`-d`), for a fixed number of requests(`-n`), or until Ctrl-C interrupted.
|
Plow runs at a specified connections(option `-c`) concurrently and **real-time** records a summary statistics, histogram
|
||||||
|
of execution time and calculates percentiles to display on Web UI and terminal. It can run for a set duration(
|
||||||
|
option `-d`), for a fixed number of requests(option `-n`), or until Ctrl-C interrupted.
|
||||||
|
|
||||||
The implementation of real-time computing Histograms and Quantiles using stream-based algorithms inspired by [prometheus](https://github.com/prometheus/client_golang) with low memory and CPU bounds. so it's almost no additional performance overhead for benchmarking.
|
The implementation of real-time computing Histograms and Quantiles using stream-based algorithms inspired
|
||||||
|
by [prometheus](https://github.com/prometheus/client_golang) with low memory and CPU bounds. so it's almost no
|
||||||
|
additional performance overhead for benchmarking.
|
||||||
|
|
||||||
![](https://github.com/six-ddc/plow/blob/main/demo.gif?raw=true)
|
![](https://github.com/six-ddc/plow/blob/main/demo.gif?raw=true)
|
||||||
|
|
||||||
|
@ -46,16 +54,18 @@ Latency Histogram:
|
||||||
|
|
||||||
- [Installation](#installation)
|
- [Installation](#installation)
|
||||||
- [Via Go](#via-go)
|
- [Via Go](#via-go)
|
||||||
- [Via Docker](#via-docker)
|
|
||||||
- [Via Homebrew](#via-homebrew)
|
- [Via Homebrew](#via-homebrew)
|
||||||
|
- [Via Docker](#via-docker)
|
||||||
- [Usage](#usage)
|
- [Usage](#usage)
|
||||||
- [Options](#options)
|
- [Options](#options)
|
||||||
- [Examples](#examples)
|
- [Examples](#examples)
|
||||||
|
- [Stargazers](#Stargazers)
|
||||||
- [License](#license)
|
- [License](#license)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Binary and image distributions are available through the [releases](https://github.com/six-ddc/plow/releases) assets page.
|
Binary and image distributions are available through the [releases](https://github.com/six-ddc/plow/releases)
|
||||||
|
assets page.
|
||||||
|
|
||||||
### Via Go
|
### Via Go
|
||||||
|
|
||||||
|
@ -63,6 +73,12 @@ Binary and image distributions are available through the [releases](https://gith
|
||||||
go get github.com/six-ddc/plow
|
go get github.com/six-ddc/plow
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Via Homebrew
|
||||||
|
|
||||||
|
```sh
|
||||||
|
brew install plow
|
||||||
|
```
|
||||||
|
|
||||||
### Via Docker
|
### Via Docker
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -70,12 +86,6 @@ docker run --rm --net=host ghcr.io/six-ddc/plow
|
||||||
# docker run --rm -p 18888:18888 ghcr.io/six-ddc/plow
|
# docker run --rm -p 18888:18888 ghcr.io/six-ddc/plow
|
||||||
```
|
```
|
||||||
|
|
||||||
### Via Homebrew
|
|
||||||
|
|
||||||
```sh
|
|
||||||
brew install plow
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### Options
|
### Options
|
||||||
|
@ -130,5 +140,10 @@ POST a json file:
|
||||||
plow http://127.0.0.1:8080/ -c 20 --body @file.json -T 'application/json' -m POST
|
plow http://127.0.0.1:8080/ -c 20 --body @file.json -T 'application/json' -m POST
|
||||||
```
|
```
|
||||||
|
|
||||||
### License
|
## Stargazers
|
||||||
|
|
||||||
|
[![Stargazers over time](https://starchart.cc/six-ddc/plow.svg)](https://starchart.cc/six-ddc/plow)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
See [LICENSE](https://github.com/six-ddc/plow/blob/master/LICENSE).
|
See [LICENSE](https://github.com/six-ddc/plow/blob/master/LICENSE).
|
||||||
|
|
Loading…
Reference in New Issue