November 23, 2014

Sysbench with support of multi-tables workload

We just pushed to sysbench support for workload against multiple tables ( traditionally it used only single table).

It is available from launchpad source tree lp:sysbench .

This is set of LUA scripts for sysbench 0.5 ( it supports scripting), and it works following way:

- you should use --test=tests/db/oltp.lua to run OLTP test
i.e. prepare


oltp.lua should understand most options that available for regular sysbench –test=oltp

there are couple other scripts, like

to support different OLTP modes.

Most interesting: all scripts support --oltp-tables-count=N ( default 1), in this case N sbtest tables will be used.

Additional parameter --oltp-secondary is taken from Mark Callaghan’s sysbench tree , in this case
table sbtest will be created with KEY xid (ID) , instead of PRIMARY KEY (ID)

Now, as we have N tables, we may want to prepare them in parallel, to save some time for preparation
I implemented that in script parallel_prepare.lua

so instead of

you may use

( please note that oltp-tables-count should be multiplier of num-threads)

About Vadim Tkachenko

Vadim leads Percona's development group, which produces Percona Clould Tools, the Percona Server, Percona XraDB Cluster and Percona XtraBackup. He is an expert in solid-state storage, and has helped many hardware and software providers succeed in the MySQL market.


  1. sztanpet says:

    please note that lua is not an acronym, so no need to capitalize it

  2. vineet says:

    Hi Vadim,

    May i know your views on benchmark tool HammerOra for MySQL (

    According to me this tool is very handy and gives tpc-c benchmark results.


  3. Vineet,

    I did not try it, so I have no opinion there.

  4. Yen-Wei Liu says:


    I noticed in your benchmark tests, you use “oltp_tables_count” instead of “oltp-tables-count” as shown here. Which one is correct ? Underscored or dashed ?

Speak Your Mind