Projects STRLCPY dolt Files
🤬
..
cmd Loading last commit info...
README.md
config.go
config_test.go
csv.go
csv_test.go
debug.go
dolt.go
json.go
json_test.go
mysql.go
results.go
results_test.go
run.go
run_test.go
README.md

Sysbench runner is a tool for running sysbench tests against sql servers. Custom sysbench lua scripts used for benchmarking Dolt are here.

The tool requires a json config file to run:

$ sysbench_runner --config=config.json

Configuration:

{
  "Runs": 1,
  "DebugMode": false,
  "Servers": "[{...}]",
  "TestOptions": [""],
  "Tests": "[{...}]"
}

Runs number of times to run all tests per server, default 1 (Optional)

DebugMode logs more output from various commands. (Optional)

Servers list of servers to test against. See Server definitions below. (Required)

TestOptions list of sysbench test options to supply to all tests (Optional)

Tests the sysbench tests to run. See Test definitions below. (Optional)

If no tests are provided, the following default tests will be run:

oltp_read_only
oltp_insert
oltp_point_select
select_random_points
select_random_ranges
oltp_write_only
oltp_read_write
oltp_update_index
oltp_update_non_index

Server is a server to test against.

{
  "Host": "",
  "Port": 0,
  "Server": "",
  "Version": "",
  "ResultsFormat": "",
  "ServerExec": "",
  "ServerArgs": [""],
  "ConnectionProtocol": "",
  "Socket": ""
}

Host is the server host. (Required)

Port is the server port. Defaults to 3306 for dolt and mysql Servers. (Optional)

Server is the server. Only dolt and mysql are supported. (Required)

Version is the server version. (Required)

ResultsFormat is the format the results should be written in. Only json and csv are supported. (Required)

ServerExec is the path to a server binary (Required)

ServerArgs are the args used to start the server. Will be appended to command dolt sql-server for dolt server or mysqld --user=mysql for mysql server. (Optional)

ConnectionProtocol is the protocol for connecting to mysql, either "unix" or "tcp" (Required for mysql)

Socket is the path to the mysql socket (Required for mysql with unix protocol)

Test is a sysbench test or lua script.

{
  "Name": "",
  "N": 1,
  "FromScript": false,
  "Options": [""]
}

Name is the test name or lua script. (Required)

N number of times to repeat this test, default is 1 (Optional)

FromScript indicates if this test is from a lua script, defaults to false (Optional)

Options are additional sysbench test options. These will be provided to sysbench in the form:

sysbench [options]... [testname] [command]

Note: Be sure that all mysql processes are off when running this locally.

Please wait...
Page is in error, reload to recover