Add benchmark script to compare two different builds of s5cmd#471
Merged
igungor merged 43 commits intopeak:masterfrom Aug 22, 2022
kucukaslan:benchmark-script
Merged
Add benchmark script to compare two different builds of s5cmd#471igungor merged 43 commits intopeak:masterfrom kucukaslan:benchmark-script
igungor merged 43 commits intopeak:masterfrom
kucukaslan:benchmark-script
Conversation
Assumes that user has two copies of s5cmd one is default commandline app, second one is in the current directory. A bucket name MUST be provided with -b flag. User can optionally: - add a key prefix with -k flag. - specify hyperfine warmup counts with -w flag - specify hyperfine runs counts with -r flag. Example calls `./benchmark.sh -b mcanktmpbuck` `./benchmark.sh -w 1 -r 4 -b mcanktmpbuck -k example_key_prefix `
… the tests. user can specify either version(tag), commit hash, or the PR number of the s5cmd that are to be used in the tests. Two versions of the s5cmd will be used namely old and new. They can be specified by -o and -n flags, respectively. Though version specified by o does not have to be older than that of specified by -n flag. Default values of versions are v1.4.0 for old (-o), and v2.0.0 for new (-n). Example execution that compares performance of #456 with the v1.4.0: ` ./benchmark.sh -b mys5cmbuck -n 456 -o v1.4.0 -k 1829` Also note that user must provide a proper bucket which she has write/read/delete access. Co-Authored-By: boraberke <67373739+boraberke@users.noreply.github.com>
- Measure the download and delete speeds - quote shell variables, see also "shellcheck(SC2086)"
…into benchmark-script
Contributor
Author
|
Results will be both printed out to console and saved to Benchmark summary:
Detailed summary:
|
sonmezonur
reviewed
Jul 25, 2022
Member
sonmezonur
left a comment
There was a problem hiding this comment.
Please add --help command to your benchmark script. Otherwise users need to read this documentation before using this script
Contributor
Author
Just updated from shell script to python script. Users now can use |
ilkinulas
reviewed
Aug 3, 2022
Before this commit, for each individual command, a scenario was required. These scenarios were dependent to each other. However, with this commit, any scenario will run `upload`, `download`, `remove` commands for a specified file size and file count.
Add a wait of 10 seconds after preparation to overcome errors due to eventual consistency of s3
sonmezonur
previously approved these changes
Aug 13, 2022
ilkinulas
reviewed
Aug 14, 2022
ilkinulas
reviewed
Aug 15, 2022
ilkinulas
reviewed
Aug 16, 2022
ilkinulas
previously approved these changes
Aug 16, 2022
ilkinulas
approved these changes
Aug 17, 2022
sonmezonur
approved these changes
Aug 17, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This python script allow us to compare two different build (from either version tag, PR number or commit tag) performance under various scenarios. These scenarios include:
To run use the following syntax:
Examples
Above command will compare v2.0.0 to PR:456 with 2 warmup runs and 10 benchmark runs.
When using
-hfand-sfflags, use quotes like above and start with an empty space. If not started with an empty space, it might give an error. This is a known issue withargparseand this discussion can be useful to understand the problem deeper.