-
Notifications
You must be signed in to change notification settings - Fork 6.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a benchmarking wrapper script for BlobDB #9015
Conversation
@ltamasi has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
…b files are enabled
…during the later tests instead
…om benchmark.sh (relying on the recently added extra parameters functionality, and reverting unnecessary changes along the way)
… using env variables
…erated by benchmark.sh)
aedb4c9
to
0288c91
Compare
@ltamasi has updated the pull request. You must reimport the pull request before landing. |
@ltamasi has updated the pull request. You must reimport the pull request before landing. |
@ltamasi has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
@ltamasi has updated the pull request. You must reimport the pull request before landing. |
@ltamasi has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
if [ $# -ge 1 ]; then | ||
display_usage | ||
|
||
if [ "$1" == "--help" ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a shell expert. Would it be possible to use getopts
for argument parsing here? Maybe it's not worth the effort for this script.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think that would a bit of an overkill considering we only have a single optional command line argument...
Summary: The patch adds a new BlobDB benchmarking script called `run_blob_bench.sh`. It is a thin wrapper around `benchmark.sh` (similarly to `run_flash_bench.sh`): it actually calls `benchmark.sh` a number of times, cycling through six workloads, two write-only ones (bulk load and overwrite), two read/write ones (point lookups while writing, range scans while writing), and two read-only ones (point lookups and range scans). Note: this is a simpler/cleaned up/reworked version of the script used to produce the benchmark results in http://rocksdb.org/blog/2021/05/26/integrated-blob-db.html . The new version takes advantage of several recent `benchmark.sh` improvements like the ability to pass in arbitrary `db_bench` options or the possibility of using a job ID. Pull Request resolved: facebook/rocksdb#9015 Test Plan: Ran the script manually with different parameter combinations. Reviewed By: riversand963 Differential Revision: D31555277 Pulled By: ltamasi fbshipit-source-id: 0e151b2f7b2cf6f66ed7f95455571492ad7ea87f
Summary:
The patch adds a new BlobDB benchmarking script called
run_blob_bench.sh
.It is a thin wrapper around
benchmark.sh
(similarly torun_flash_bench.sh
):it actually calls
benchmark.sh
a number of times, cycling through six workloads,two write-only ones (bulk load and overwrite), two read/write ones (point lookups
while writing, range scans while writing), and two read-only ones (point lookups
and range scans).
Note: this is a simpler/cleaned up/reworked version of the script used to produce the
benchmark results in http://rocksdb.org/blog/2021/05/26/integrated-blob-db.html .
The new version takes advantage of several recent
benchmark.sh
improvementslike the ability to pass in arbitrary
db_bench
options or the possibility of using ajob ID.
Test Plan:
Ran the script manually with different parameter combinations.