This is a set of C++ programs in order to benchmark an S3-compatible object storage. It was developed in order to overcome the performance limitations shown by other tools.
For Ubuntu, you can install the tools that you need to build this project with::
sudo apt install build-essential git libcurl4-gnutls-dev libxml2-dev libssl-dev gdb cmake
These projects are imported as submodules:
All parameters are read from a file called config.yaml in the current directory. It needs to define these parameters:
These programs are available:
The output of each program will contain a couple of statistics about the times spent for each request:
To run this in docker swarm first create your swarm following this guide: https://docs.docker.com/engine/swarm/swarm-mode/
After you have create your swarm, copy the config.yaml from this repo, modify it with the proper credentials and add it like described here: https://docs.docker.com/engine/swarm/configs/#how-docker-manages-configs
docker config create config.yaml config.yaml
Now you can start a full run like this:
docker service create --name stress3 --config config.yaml cloudbau/stress3 sh -c "/opt/stress3/tools/create_config.sh; cd /opt/stress3; bin/create_buckets; sleep 300; bin/test_put; sleep 300; bin/test_get_rand; sleep 300; bin/test_delete; sleep 300; bin/delete_buckets; sleep 7200"; docker service scale stress3=100
###WARNING: Please note, that you should always add the delete actions for what your create in the same command, since docker containers in swarm will be automatically recreated to align with the "scale" you defined. Since the bucket names are derived from the hostnames of the containers, you can only delete them from the original container.
Content type
Image
Digest
Size
174.4 MB
Last updated
about 8 years ago
docker pull cloudbau/stress3