https://github.com/ds2-lab/infinibench
InfiniBench is the benchmark toolkit and workload replayer for the [InfiniStore] project (https://github.com/ds2-lab/infinistore).
https://github.com/ds2-lab/infinibench
Last synced: 10 months ago
JSON representation
InfiniBench is the benchmark toolkit and workload replayer for the [InfiniStore] project (https://github.com/ds2-lab/infinistore).
- Host: GitHub
- URL: https://github.com/ds2-lab/infinibench
- Owner: ds2-lab
- License: mit
- Created: 2023-02-27T18:31:32.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-02-27T21:39:22.000Z (over 3 years ago)
- Last Synced: 2025-05-12T11:59:13.638Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 245 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# InfiniBench
InfiniBench is the benchmark toolkit and workload replayer for [InfiniStore](https://github.com/ds2-lab/infinistore) project.
## Benchmark
To run the benchmark, execute:
~~~
go get
make build
bin/infinibench [options]
~~~
Useful options:
~~~
-n [NUMBER]: Number of requests.
-c [NUMBER]: Number of concurrent clients.
-keymin [NUMBER]: Start postfix of generated keys. Generated key will be in the form of key_[keymin] ~ key_[keymax].
-keymax [NUMBER]: End postfix of generated keys.
-sz [NUMBER]: Object size in bytes.
-op [0 or 1]: Operation flag: 0 - SET (load the data store); 1 - GET.
-cli: Client library, support "infinistore"(default), "redis", "s3", "elasticache", "fsx", and "efs".
-addrlist [ADDR:PORT,...]: Server addresses.
-d [NUMBER]: Number of data shards for RS erasure coding. Ignore if cli is not "infinistore".
-p [NUMBER]: Number of parity shards for RS erasure coding. Ignore if cli is not "infinistore".
-bucket: S3 bucket name, Ignore if cle is not "s3".
-h: Print out help info.
-i [NUMBER]: Interval for every request (ms)
~~~
Example: command below will set 10 objects of size 1 MB from key_1 to key_10 using one concurrent client.
~~~
bin/infinibench -n 10 -c 1 -keymin 1 -keymax 10 -sz 1048576 -d 10 -p 2 -op 0
~~~
## Simulation
A sample of IBM docker registry trace is included. To run the simulation using sample trace:
~~~
go get
make simulate
~~~
## Replay
To replay trace, run following command:
~~~
go get
make build
bin/playback [trace file]
~~~
## License
InfiniBench source code is available under the MIT [License](/LICENSE).