Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/giacomoguiulfo/benchio
⏳A minimalistic tool to benchmark AWS S3 compatible object storage services https://giacomoguiulfo.github.io/benchio/
https://github.com/giacomoguiulfo/benchio
aws azure benchmark cli cloudserver gcp golang minio s3 zenko
Last synced: 3 months ago
JSON representation
⏳A minimalistic tool to benchmark AWS S3 compatible object storage services https://giacomoguiulfo.github.io/benchio/
- Host: GitHub
- URL: https://github.com/giacomoguiulfo/benchio
- Owner: giacomoguiulfo
- License: mit
- Created: 2018-09-17T09:25:12.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-16T03:12:46.000Z (over 2 years ago)
- Last Synced: 2024-08-02T15:48:09.599Z (6 months ago)
- Topics: aws, azure, benchmark, cli, cloudserver, gcp, golang, minio, s3, zenko
- Language: Go
- Homepage:
- Size: 550 KB
- Stars: 6
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# benchio
[![Go Report Card](https://goreportcard.com/badge/github.com/giacomoguiulfo/benchio)](https://goreportcard.com/report/github.com/giacomoguiulfo/benchio)
[![Go Doc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](http://godoc.org/github.com/giacomoguiulfo/benchio)
[![Release](https://img.shields.io/github/release/giacomoguiulfo/benchio.svg?style=flat-square)](https://github.com/giacomoguiulfo/benchio/releases/latest)A lightweight minimalistic tool to benchmark AWS S3 compatible object storage services.
Benchio is a fork of [s3bench](https://github.com/igneous-systems/s3bench) to further extend its functionality.# Getting Started
## Requirements
- golang >=1.9
## Installation
```sh
go get -u https://github.com/giacomoguiulfo/benchio.git
```## Simple usage
```
benchio run -f benchio.yaml
```
> This assumes that the `GOBIN` environmental variable (`GOPATH/bin`) is in your `PATH`.## Advanced Usage
Options can be used as command line arguments or stored in a configuration file
which supports YAML, JSON, or TOML formats.The default benchio.yaml file contains all the necessary values to run a basic
read/write/cleanup workload.```yaml
accessKey: MZZRYNUQKEJZUTKLLHAD
secretKey: hRwZ5GA7VUhh=vLdBLUqZuRqcryqyVHhuCopR5a4
endpoint: http://localhost:8000
bucket: testbucket
objectSize: 1024
objectNamePrefix: testobject
numClients: 10
numSamples: 100
verbose: false
region: us-east-1
cleanup: true
write: true
read: true
```## Available Parameters
| Parameter | Description |
| ----------------------------------- | -----------------------------------------------------------------------------------------------------------------|
| `accessKey` | This is your user access key to access given buckets |
| `secretKey` | This is the secret key used to access given buckets |
| `endpoint` | These are endpoint targets for the workloads. Multiple can be passed as a comma separated list. |
| `bucket` | The target bucket to be used. Must already be created on the specified endpoint |
| `objectSize` | Size for each object to be used in the workload (Currently measured in bytes) |
| `objectNamePrefix` | Prefix to be used in the object naming |
| `numClients` | Number of clients, also referred to as 'workers' |
| `numSamples` | Number of objects to server to the endpoint |
| `verbose` | Gives more information on each object operation |
| `region` | The AWS compatible region where your bucket is located |
| `write` | A bool to enable/disable writes, typically this will be the first operation to run |
| `read` | A bool to enable/disable reads, runs after writes have completed (currently buggy if using only read operations) |
| `cleanup` | A bool to enable/disable cleanup operations after successful read/writes |