############################################################################# # sysbench-lua / BMK Example User Properties File (MySQL) # # Created: January 2026 # Last Modified: January 2026 # Version: 1.0 # # This file is part of the Test Automation Framework (TAF). # Copyright (c) 2025-2026 MariaDB Foundation and Jonathan "jeb" Miller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 or later of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 # # Licensed under the GNU General Public License, version 2 or later (GPLv2+). # See https://www.gnu.org/licenses/ for details. # # PURPOSE: # Provide an example user-level properties file for running sysbench-lua # or BMK workloads against MariaDB under TAF. This file demonstrates how # to override default sysbench-lua and BMK settings supplied by: # - sysbench_lua_default.properties # - auto-populated TAF runtime values # - command-line overrides # # ARCHITECTURAL ROLE: # - Acts as the user-override layer in the TAF configuration resolution # chain for sysbench-lua and BMK workloads. # - Supplies a documented template for MariaDB-specific sysbench-lua and # BMK configuration without modifying framework defaults. # - Ensures that contributors override only what is necessary while # preserving deterministic, contributor-proof behavior. # # WHAT THIS FILE DOES NOT DO: # - Does not define global defaults (see sysbench_lua_default.properties). # - Does not validate MariaDB, sysbench-lua, or BMK installation. # - Does not auto-populate missing values. # - Does not configure sysbench-lua or BMK itself. # # CONTRACT: # TAF merges properties in the following order: # 1. TAF defaults # 2. auto-populate (special null handling) # 3. sysbench-lua / BMK defaults # 4. user properties file (this file) # 5. command-line overrides # # - Any property defined in the default file may be overridden here. # - Paths may be absolute or relative to the TAF root. # # GUARANTEES: # - All example lines below are preserved exactly as written. # - This file is safe to copy, modify, and use as a template. # - No framework defaults are modified here; only user-level overrides # belong in this file. # # NOTES: # - Sysbench-lua must be compiled, or BMK must be installed, before # executing this test case. # - BMK should be unpacked under: # taf-perl/client_source/BMK # - MariaDB installations used for sysbench-lua should be placed under # taf-perl/database_install/ # and referenced via taf.database_install_dir in this file. # - Uncomment and override only the values you need. # # EXAMPLE EXECUTION: # perl taf.pl --prop=./properties/mariadb/beta/sysbench_lua.properties # perl taf.pl --prop=./properties/mariadb/beta/sysbench_lua.properties --action=setup-client ############################################################################# ############################################################################# # TAF SETTINGS (GLOBAL) # # These settings control TAF behavior for this sysbench-lua or BMK test run: # - what action to perform # - which test suite to execute # - how long to run the workload # - how many iterations and threads to use # - warmup behavior # - report generation ############################################################################# ## Action TAF should perform. # Run "perl taf.pl --list-actions" for the full list. taf.action=init-start-db-run-tests # Optional comment describing the purpose of this run. taf.comments="MariaDB Cached Reads performance using Sysbench-lua test suite" # Host on which the test is executed. taf.host=localhost ############################################################################# # TEST EXECUTION SETTINGS ############################################################################# # Duration of the workload in seconds. taf.duration=300 # Number of iterations to run for each thread count. taf.iterations=3 # Name of the test suite to load. taf.test_suite=sysbench-lua # Classification of this run. # Valid values: adhoc, investigation, production, rerun, release taf.test_type=adhoc # Comma-separated list of test cases to execute. taf.tests=POINT_SELECT,OLTP_RO,OLTP_RW # Comma-separated list of thread counts to test. taf.threads=4,8,16,32,64,128 # Warmup duration in seconds. taf.warmup_duration=200 # Number of warmup threads. taf.warmup_threads=64 ############################################################################# # TIMING CONTROLS ############################################################################# # Sleep X seconds after test setup. #taf.sleep_after_test_setup=60 # Sleep X seconds after test run. #taf.sleep_after_test_run=60 # Turns on CPU-based rest detection for the DB process. taf.db_process_rest_enable=true # CPU percent at or below this value counts as "rest". taf.db_process_rest_low=6 # CPU percent at or above this value resets the rest counter (DB not idle). taf.db_process_rest_high=20 ############################################################################# # REPORT GENERATION ############################################################################# # Comma-separated list of report plugins to run after the test. taf.report_plugin=taf_res_raw_text.pm,text.pm,chart_and_test_info_results_tables_html.pm ############################################################################# # DATABASE SETTINGS # # These settings control how TAF connects to the MySQL server for this run. # Any value left commented out will fall back to: # 1. TAF defaults # 2. auto-populated values (special null handling) # 3. command-line overrides ############################################################################# # Whether to connect using a UNIX socket instead of TCP. # true = use socket # false = use TCP (default) taf.db_clients_use_unix_socket=true # Path to the MariaDB configuration file to feed into mariadbd. # This must be a valid MariaDB config file. taf.db_config_file=./database_config_files/mariadb/mariadb_simple_2gbp.cnf # Optional: directory where the database software has been unpacked. # If omitted, TAF attempts to auto-detect the install directory. # taf.db_software_install_dir=/home/taf-perl/database_software_installs/mariadb-12.3.0-linux-systemd-x86_64/ # Optional: explicit socket path for MySQL connections. # Only needed when using UNIX socket mode. # taf.db_socket=/home/taf-perl/tmp/mariadb.sock # Optional: override the storage engine. # Default is taken from TAF or test suite defaults. taf.db_engine=innodb ############################################################################# # SYSBENCH-LUA SETTINGS # # These settings apply ONLY to the sysbench-lua test suite. They control: # - whether BMK integration is enabled # - table and row counts for workload generation # - intermediate result reporting # # NOTE: # If sysbench_lua.use_bmk is commented out or set to false, TAF will # attempt to run the native sysbench-lua executable instead, provided # it has been built and is available under client_source/sysbench-lua/. # # These values override the defaults in sysbench_lua_default.properties. ############################################################################# # Which db driver sysbench_lua.db_driver=mariadb # Enable BMK integration for sysbench-lua. # Comment this out or set to false to use the native sysbench-lua executable. #sysbench_lua.use_bmk=true # Number of rows per table for sysbench workloads. sysbench_lua.number_of_rows=1000000 # Number of tables to create for the workload. sysbench_lua.number_of_tables=8 # Intermediate result reporting mode. # 0 = disabled # 1 = minimal # 2 = detailed sysbench_lua.intermediate_result=2 ############################################################################# # SYSBENCH DEBUG SETTINGS ############################################################################# # Enable verbose sysbench debugging output. sysbench_lua.debug_sysbench=false # TAF Debug taf.tools_debug=true taf.verbose=true