s3-benchmark-updated

command module
v0.0.0-...-66dff14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2024 License: GPL-3.0 Imports: 27 Imported by: 0

README

Introduction

This repository is the updated version of what has been available from Wasabi Technologies LLC. The following are the updates to the original source code:

  • 2 files are created as the result of the execution (benchmark-*.log and benchmark-*.csv)
  • The log file is named with timestamp (where it was static with the name being benchmark.log)
  • The CSV file is with comma separation so it can be used for easier analytics (e.g. with Excel)
  • Added a bash script template so with it the options can be specified easier

Wasabi Original s3-benchmark repository

The repository can be found at https://github.com/wasabi-tech/s3-benchmark. For details please refer to this repository as most part of the source code is not modified from the original version.

Prerequisites

To leverage this tool, the following prerequisites apply:

  • Ubuntu Linux shell programming skills
  • Editor tool such as vim or any text editor (to modify the bash script template)

Bash script template

s3-benchmark-all.sh.template is provided so you copy and modify the parameters value based on your environment.

You should copy and change it to be executable with the following commands:

ubuntu:~/s3-benchmark-updated$ cp s3-benchmark-all.sh.template s3-benchmark-all.sh
ubuntu:~/s3-benchmark-updated$ chmod +x s3-benchmark-all.sh

Specify the Access Key and Secret Key

The following are the part that at least should be specified before executing the script.

ACCESS_KEY=<Access key value here>
SECRET_KEY=<Secret key value here>

Once specified you should be able to execute it.

Bash script execution

s3-benchmark-all.sh should be executable if you follow the instruction above. Make sure you modified the bash script so the S3 Access Key and the Secret Key are provided. You should be able to execute the bash script as the following:

ubuntu:~/s3-benchmark-updated$ ./s3-benchmark-all.sh

The following is an example of the output in the terminal:

ubuntu:~/dev/s3/s3-benchmark-updated$ ./s3-benchmark-all.sh
Wasabi benchmark program v2.1
Parameters { url=https://s3.ap-northeast-1.wasabisys.com, bucket=s3-benchmark-bucket-6082, region=ap-northeast-1, duration=60, threads=50, loops=2, size=1M }
Loop 1: PUT time=68.5 secs, objects 301, speed 4.4M B/sec, 4.4 operations/sec., Slowdowns=0
Loop 1: GET time=61.6 secs, objects 3968, speed 64.4M B/sec, 64.4 operations/sec., Slowdowns=0
Loop 1: DELETE time=0.2 secs, 1354.8 deletes/sec., Slowdowns=0
Loop 2: PUT time=66.0 secs, objects 302, speed 4.6M B/sec, 4.6 operations/sec., Slowdowns=0
Loop 2: GET time=61.3 secs, objects 3849, speed 62.8M B/sec, 62.8 operations/sec., Slowdowns=0
Loop 2: DELETE time=0.3 secs, 987.4 deletes/sec., Slowdowns=0

Example log output

The following is an example of the log file:

Tue, 23 Jan 2024 16:56:33 GMT: Parameters { url=https://s3.ap-northeast-1.wasabisys.com, bucket=s3-benchmark-bucket-6082, region=ap-northeast-1, duration=60, threads=50, loops=2, size=1M }
Tue, 23 Jan 2024 16:57:43 GMT: Loop 1: PUT time=68.5 secs, objects 301, speed 4.4M B/sec, 4.4 operations/sec., Slowdowns=0
Tue, 23 Jan 2024 16:58:45 GMT: Loop 1: GET time=61.6 secs, objects 3968, speed 64.4M B/sec, 64.4 operations/sec., Slowdowns=0
Tue, 23 Jan 2024 16:58:45 GMT: Loop 1: DELETE time=0.2 secs, 1354.8 deletes/sec., Slowdowns=0
Tue, 23 Jan 2024 16:59:51 GMT: Loop 2: PUT time=66.0 secs, objects 302, speed 4.6M B/sec, 4.6 operations/sec., Slowdowns=0
Tue, 23 Jan 2024 17:00:53 GMT: Loop 2: GET time=61.3 secs, objects 3849, speed 62.8M B/sec, 62.8 operations/sec., Slowdowns=0
Tue, 23 Jan 2024 17:00:53 GMT: Loop 2: DELETE time=0.3 secs, 987.4 deletes/sec., Slowdowns=0

The log file name is created based on the region, date and time with the following format:

benchmark_<REGION_NAME>_<yyyymmddThhmmss>.log

Example CSV output

The following is an example of the CSV file:

DateTime,LoopNumber,Operation,OperationTime(sec),Objects,Speed(B/sec),Operation/sec,Slowdowns,region
"Tue, 23 Jan 2024 16:57:43 GMT", 1,PUT,68.5,301,4606318.8,4.4,0,ap-northeast-1
"Tue, 23 Jan 2024 16:58:45 GMT", 1,GET,61.6,3968,67567377.6,64.4,0,ap-northeast-1
"Tue, 23 Jan 2024 16:58:45 GMT", 1,DELETE,0.2,,,1354.8,0,ap-northeast-1
"Tue, 23 Jan 2024 16:59:51 GMT", 2,PUT,66.0,302,4797176.1,4.6,0,ap-northeast-1
"Tue, 23 Jan 2024 17:00:53 GMT", 2,GET,61.3,3849,65858746.8,62.8,0,ap-northeast-1
"Tue, 23 Jan 2024 17:00:53 GMT", 2,DELETE,0.3,,,987.4,0,ap-northeast-1

The CSV file name is created based on the region, date and time with the following format:

benchmark_<REGION_NAME>_<yyyymmddThhmmss>.csv

The CSV file is modified to only includes data for analytics.

Data Visualization

A Python program is provided so it can generate a visual output as the result of the benchmark.

(NOTE) For now, the dataset used is based on the support case XXX, and you need to modify based on your benchmark use case.

S3 Benchmark Visualization Example Image

Note

This version is NOT provided officially from Wasabi Technologies LLC, so if you have an issue, it is recommended to try execute the original version first. If still you have the issue, please contact Wasabi technical support (support@wasabi.com).

Documentation

Overview

s3-benchmark-support-xxx.go Copyright (c) 2017 Wasabi Technology, Inc. October 23, 2024 Updated for better logging and data analytics (Kazuyuki Fukaya) ADD: Updated to emulate a support case

Only perform Upload, NO DOWNLOAD NOR DELETE

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL