This repository contains the results of the YCSB S3 benchmark. The benchmark was run using a fork of go-ycsb that supports S3.
The benchmarks are currently configured to run on the following S3 providers:
The results are available in the results directory:
- The raw directory contains the results of the benchmark run. The files are named 
<phase>-<provider>-<region>.csvwhere:<phase>is eitherloadorrun<provider>is the name of the provider<region>is the region of the provider
 - The workloads3 file contains the workload configuration used for the benchmark.
 
The parse_logs.py script can be used to parse the raw results and generate plots.
The parse_logs.py script can be used to parse the raw results and generate csvs.
python parse_logs.py convert results/10m-1kb/raw/*.txt --output-dir results/10m-1kb/processed/csv/python parse_logs.py compare-total results/10m-1kb/processed/csv/load-*.csv \
    --output-dir results/10m-1kb/processed/plots/The following command will generate plots for the INSERT operation in the sjc region comparing the providers excluding S3.
python parse_logs.py plot results/10m-1kb/processed/csv/load-*.csv \
    --operation INSERT --exclude s3 --latency-min 0 --latency-max 500 \
    --output-dir results/10m-1kb/processed/plots/The following command will generate plots for the UPDATE operation in the sjc region comparing the providers excluding S3.
python parse_logs.py plot results/10m-1kb/processed/csv/run-*sjc.csv \
    --operation UPDATE --exclude s3 --latency-min 0 --latency-max 600 \
    --output-dir results/10m-1kb/processed/plots/The following command will generate plots for the READ operation in the sjc region comparing the providers excluding S3.
python parse_logs.py plot results/10m-1kb/processed/csv/run-*sjc.csv \
    --operation READ --exclude r2 --latency-min 0 --latency-max 250 \
    --output-dir results/10m-1kb/processed/plots/