tidesdb/hammer
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
LINUX ~~~~~~~~~~~~~~~~~~~ On Linux we get HammerDB minimum version 5 and in my case I extract it under ~/ ~/HammerDB-5.0 I then on MariaDB/MySQL or Postgres create a HammerDB user. /data/mariadb/bin/mariadb -u root --socket=/tmp/mariadb.sock CREATE USER 'hammerdb'@'localhost' IDENTIFIED BY 'hammerdb123'; GRANT ALL PRIVILEGES ON *.* TO 'hammerdb'@'localhost'; FLUSH PRIVILEGES; From here you can run individual runs or multi engine. ./hammerdb_runner.sh -b tpcc --warehouses 40 --tpcc-vu 8 --tpcc-build-vu 8 --rampup 1 --duration 2 --settle 5 -H ~/HammerDB-5.0 -e tidesdb -u hammerdb --pass hammerdb123 -S /tmp/mariadb.sock The scripts automatically plot data. We also have ./run_mariadb_engines.sh In which orchestrates a 3-iteration TPC-C sweep across InnoDB, MyRocks, and TidesDB using the HammerDB harness (hammerdb_runner.sh), then merges the per-iteration CSVs into a single set of paper-grade charts with min/max error bars. You can customize run like so mariadb_engines_runner.sh \ --harness /home/agpmastersystem/hammerdb_runner.sh \ --user agpmastersystem \ --socket /tmp/mariadb.sock \ --engines tidesdb,rocksdb,innodb \ --iterations 1 \ --warehouses 40 \ --build-vu 8 \ --run-vu 8 \ --rampup 1 \ --duration 2 \ --settle 5 \ --no-restart \ --no-drop-cache \ --no-perf OR ./mariadb_engines_runner.sh \ --user hammerdb \ --pass hammerdb123 \ --socket /tmp/mariadb.sock \ --hammerdb-dir ~/HammerDB-5.0 \ --no-restart \ --no-drop-cache \ --no-perf \ --harness ./hammerdb_runner.sh tidesdb >> rocksdb >> innodb, 3 iterations each, 1000 warehouses, 7m ramp + 20m duration, 64 VUs. With --no-restart, iterations 2 and 3 have warm engine caches (buffer pool still hot). You can kick off a run in a screen/tmux so it survives disconnect screen -S bench ./mariadb_engines_runner.sh \ --user hammerdb \ --pass hammerdb123 \ --socket /tmp/mariadb.sock \ --hammerdb-dir ~/HammerDB-5.0 \ --mariadb-bin /data/mariadb/bin/mariadb \ --no-restart \ --no-drop-cache \ --no-perf \ --harness ./hammerdb_runner.sh Ctrl+A then D to detach. Reattach later with: screen -r bench OR nohup ./mariadb_engines_runner.sh \ --user hammerdb \ --pass hammerdb123 \ --socket /tmp/mariadb.sock \ --hammerdb-dir ~/HammerDB-5.0 \ --mariadb-bin /data/mariadb/bin/mariadb \ --no-restart \ --no-drop-cache \ --no-perf \ --harness ./hammerdb_runner.sh \ > bench.log 2>&1 & Watch output live tail -f bench.log Find the process ps aux | grep mariadb_engines_runner Kill it pkill -f mariadb_engines_runner