Obviously there is fio and it is my first choiceThe fio team even added support for coordinated omission when I asked for it. Alas it can't generate all of the IO patterns that I need.
It would be great to share a link to io.go here were Domas to publish that code.
I wrote innosim many years ago to simulate InnoDB IO patterns. Docs are here and a helper script to run a sequence of tests is here.
Finally there is db_bench for RocksDB. One challenge with RocksDB is tuning, so I have a script to help with that and use good options to run a sequence of tests in a special pattern. Well, it works as long as I keep the script current and I just updated it today. It runs these benchmarks in order:
Finally there is db_bench for RocksDB. One challenge with RocksDB is tuning, so I have a script to help with that and use good options to run a sequence of tests in a special pattern. Well, it works as long as I keep the script current and I just updated it today. It runs these benchmarks in order:
- fillseq - Put N key-value pairs in key order
- overwrite - Put N key-value pairs in random order. Queries done after a key-order load avoid a few sources of overhead that usually should not be avoided, so this shuffles the database.
- overwrite - Put key-values pairs in random order. Runs for K seconds.
- updaterandom - do read-modify-write in random order. Runs for K of seconds.
- readwhilewriting - 1 rate-limited writer and T threads doing Get.
- seekrandomwhilewriting - 1 rate-limited writer and T threads doing range scans.
No comments:
Post a Comment