fb7e62db24
Allow benchmarks to be specified as a module name, i.e. a require() argument.
2017-03-31 13:52:55 +03:00
1fc8326c0d
Prevent compiler from optimizing memory loads/stores in the memory benchmark.
2017-03-29 23:33:58 +03:00
a0658f09ce
Memory benchmark optimizations.
...
Optimize the memory benchmark:
- get rid of the global mutex to calculate statistics
- remove if() and switch() branches on critical code paths
- align memory blocks to OS page size
- use native machine word size instead of 'int'
2017-03-29 21:02:07 +03:00
7fcbf2e025
Fix system ConcurrencyKit builds on ARMv6.
...
The problem reported for i686 in #118 also affects ARMv6. Fixed by
allowing workarounds in sb_ck_pr.h to work on architectures other than
i686.
2017-03-29 14:14:19 +03:00
154335edf6
Rename sb_option_copy() to sb_opt_copy() for consistency with other functions.
2017-03-17 11:57:39 +03:00
03c7eb5c29
Fix #123 : Table already exists error on prepare
...
When the deprecated --num-threads option was used in OLTP prepare, the
sysbench.opt.threads variable exported to Lua scripts contained the
default value of 1, even though the actual number of threads created by
sysbench was higher. Which led to unexpected fireworks.
Now the deprecated options override the correspond sysbench.opt.*
variables when used.
2017-03-17 11:53:04 +03:00
d2bc5d50f8
Fix warning in 32-bit builds.
2017-03-13 14:38:25 +03:00
05f2a8e87b
Fix #118 : Build fails on i686 when using system ck
...
Provide compatibility wrappers for system (i.e. distribution-provided)
ConcurrencyKit on i386. Unlike bundled ConcurrencyKit, older versions
that may be provided by distributions do not support CK_USE_CC_BUILTINS,
which makes implementing 64-bit atomics impossible on x86 (32-bit).
Detect if 64-bit atomics are not provided at compile stage and if so,
resort to GCC builtin implementations.
2017-03-13 14:38:19 +03:00
89ab44d50e
Fix #119 (oltp_insert.lua + --auto-inc=0 fails)
...
Fix oltp_insert.lua when run with --auto-inc disabled. Add regression tests.
2017-03-12 10:45:03 +03:00
6c7c13913d
Fix -Wformat warnings in sb_fileio.c.
2017-03-10 11:43:25 +03:00
9bd33c7e41
Fix grammar in help text for --skip-trx.
2017-02-28 12:30:10 +03:00
b4f3d22c38
Build on Illumos
2017-02-26 12:02:33 +03:00
1d40ad0e1c
Optimize random string generation in OLTP_RW.
...
Avoid Lua string management in OLTP_RW by introducing a new sql_param
method: set_rand_str(). Which calls sb_rand_str() in C code with a given
template string and a pre-allocated result buffer. In oltp_common.lua,
use set_rand_str() instead of allocating a new Lua string each time we
need a random string parameter for a prepared statement.
2017-02-25 19:57:55 +03:00
ba8b1d0781
Get rid of timers_mutex, improve --report-checkpoints scalability.
2017-02-14 20:53:08 +03:00
57b6f9d2b6
Correct a diagnostic message on index creation.
2017-02-08 22:46:28 +03:00
9c87d39700
Grammar fixes in a comment.
2017-02-08 21:45:51 +03:00
08e5b4fa9e
Add a new line to an error message.
2017-02-02 23:32:46 +03:00
8359466dc7
Properly set the allocated array to 0 in sb_alloc_per_thread_array().
2017-02-02 17:03:26 +03:00
d156b9b21f
Exclude queries executed by background threads from statistic reports.
2017-02-02 15:25:54 +03:00
40c14789aa
Export mysql_drv_reconnect() to Lua SQL API.
2017-02-02 10:59:51 +03:00
9fdec9dccf
Rename sysbench.option_defs to sysbench.cmdline.options.
2017-02-01 19:31:53 +03:00
fdebeaffc3
Throw a more descriptive error when multiple DB drivers are available.
2017-02-01 19:03:13 +03:00
4a755b1c5d
Make the default intermediate reports format a little more terse.
2017-02-01 18:57:37 +03:00
7f56e219f7
Rename --num-threads to --threads.
...
Accept the old name with a warning for compatibility.
2017-02-01 17:42:39 +03:00
788fcbb30b
Rename --max-requests to --events, --max-time to --time.
...
Print warnings if old names are used, but accept them for compatibility.
2017-02-01 17:20:22 +03:00
8f227f64b3
Rename --tx-rate to --rate, keep --tx-rate as a deprecated alias.
2017-02-01 16:28:14 +03:00
2a3ca019cb
if the test name on the command line is "-", read Lua script from the standard input.
2017-02-01 10:56:05 +03:00
d017ae0c85
Support the deprecated --test option for compatibility with legacy scripts.
2017-02-01 10:10:27 +03:00
443a60bd28
Export histogram API to Lua.
2017-01-31 20:51:47 +03:00
5ad977b50f
Fix typo in sysbench.compat.lua.
2017-01-31 13:44:04 +03:00
a734561fa5
Check for command in OLTP scripts.
...
Check for the required command argument in oltp_common.lua and provide
list of supported commands when missing.
2017-01-31 13:35:41 +03:00
094c15d555
Make sysbench.cmdline.argv available from the master thread.
2017-01-31 13:21:57 +03:00
abb3f55a5f
Export command line arguments + command name to sysbench.cmdline.
2017-01-31 12:52:59 +03:00
c1803286b0
Silence compiler warnings.
2017-01-30 21:45:58 +03:00
efb168643f
Reimplement tx_rate with lockless bounded FIFO provided by ConcurrencyKit.
2017-01-30 21:26:55 +03:00
d3e28b3dc2
Use a proper method to disconnect a connection.
2017-01-30 17:44:19 +03:00
4eff9c4dc1
Close connections explicitly in OLTP scripts.
2017-01-30 17:29:47 +03:00
cdc450a258
Fix a comment typo.
2017-01-30 17:24:56 +03:00
78ea2f6a5c
Close connection explicitly in bulk_insert.lua.
2017-01-30 17:16:21 +03:00
1363264c61
Handle more cases where drv_pgsql.c may leak memory.
2017-01-30 16:04:39 +03:00
55aca14d92
Add a missing PQclear() call in pgsql_drv_bind_param().
2017-01-30 15:22:21 +03:00
ca0da79d82
Call PQclear() for non-SELECT queries explicitly in drv_pgsql.c.
2017-01-30 15:13:05 +03:00
b9dab8c0f5
Also close BEGIN/COMMIT statements in oltp_common.lua.
2017-01-30 14:44:34 +03:00
61a167354b
Close prepared statements in OLTP scripts.
2017-01-30 14:24:05 +03:00
419be9f8ea
Properly close/deallocate connections on 'prepare'.
2017-01-30 13:54:15 +03:00
7c43653e4f
Fix memory leaks in drv_pgsql.c.
2017-01-30 13:35:00 +03:00
dbce3039a7
Do not create duplicate connections in sb_lua_db_connect().
2017-01-30 11:32:11 +03:00
5d36164b98
Cleanup per-thread Lua contexts on exit.
2017-01-30 10:16:23 +03:00
83b0617ee9
Deallocate TLS context when closing the Lua state.
2017-01-30 08:54:50 +03:00
6eb5ede654
Fix a Lua state leak on script termination.
2017-01-30 08:48:26 +03:00