-
Notifications
You must be signed in to change notification settings - Fork 0
/
fine-tuned-sysbench-autobench.conf
148 lines (148 loc) · 5.98 KB
/
fine-tuned-sysbench-autobench.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#This is a simple config file to run a simple Sysbench benchmark
#It includes settings to enable also starting a cluster.
#
# Mandatory section
#
BENCHMARK_TO_RUN="sysbench"
TARBALL_DIR="/home/ssm-user/bench/tarballs" # This is the location where tar.gz of DBT2, Sysbench and MySQL binaries are available
DBT2_VERSION="dbt2-0.37.50.16" # Name of DBT2 tarball without .tar.gz
SYSBENCH_VERSION="sysbench-0.4.12.16" # Name of Sysbench tarball without .tar.gz
MYSQL_VERSION="mysql-cluster-8.0.32-el7-x86_64" # Name of MySQL binary tarball without .tar.gz
MYSQL_BASE="8.0"
MYSQL_BIN_INSTALL_DIR="/home/ssm-user/bench/mysql" # This is the location where mysql will be installed locally
USE_BINARY_MYSQL_TARBALL="yes"
#
# Build parameters
#
#REMOTE_BIN_INSTALL_DIR="/home/ssm-user/bench/mysql"
#
# Defining nodes
#
SSH_USER="ssm-user"
SERVER_HOST=$MYSQLINST # Private IP of MySQL instance. Here, we are taking this info from env var $MYSQLINST
SERVER_PORT="3316"
ENGINE="innodb"
DATA_DIR_BASE="/home/ssm-user/bench/mysql-data-dir" # This is the location of mysql data-dir. If you change this, remember set the same value in user-data-mysql-instance.sh under "create required dirs" and "create soft link" sections.
#
# Definining sysbench parameters
#
RUN_RW="yes"
RUN_RO="no"
RUN_WRITE="no"
SYSBENCH_ROWS="10000000" # 10M rows
THREAD_COUNTS_TO_RUN="1024" # Ensure required threads are set to cover this run in MAX_CONNECTIONS
# THREAD_COUNTS_TO_RUN="16;64;512;1024" # sample configuration for multiple threads
NUM_TEST_RUNS="1"
MAX_TIME="90" # in seconds
TRX_ENGINE="yes"
SB_DIST_TYPE="uniform" # Distribution type of data (uniform, gaussian, special). Default is uniform
#RUN_RW_WRITE_INT="no"
#RUN_RW_LESS_READ="no"
#SB_USE_SECONDARY_INDEX="no"
#SB_USE_MYSQL_HANDLER="no"
#SB_NUM_PARTITIONS="8"
#SB_NUM_TABLES="8"
#SB_TX_RATE=""
#SB_TX_JITTER=""
#SB_USE_AUTO_INC="no"
#SB_USE_TRX="" # Default for USE_TRX is to base it on storage engine, otherwise yes/no
#SB_USE_TRX="yes"
#
#InnoDB parameters
#
INNODB_BUFFER_POOL_SIZE="193G" # set this to 75% of MySQL instance memory
INNODB_FLUSH_METHOD="O_DIRECT" # Allowed flush methods are O_DSYNC, O_DIRECT, default uses fsync()
INNODB_FLUSH_NEIGHBORS="0"
INNODB_LOG_FILE_SIZE="49G" # set this to 25% of INNODB_BUFFER_POOL_SIZE
INNODB_LOG_BUFFER_SIZE="256M"
INNODB_BUFFER_POOL_INSTANCES="12"
INNODB_FLUSH_LOG_AT_TRX_COMMIT="1"
INNODB_MONITOR="yes"
#INNODB_ADAPTIVE_HASH_INDEX="0"
#INNODB_IO_CAPACITY="2000"
#INNODB_MAX_IO_CAPACITY="4000"
#INNODB_SPIN_WAIT_DELAY="48"
#INNODB_READ_IO_THREADS="8"
#INNODB_WRITE_IO_THREADS="8"
#INNODB_THREAD_CONCURRENCY="0"
#INNODB_FLUSH_LOG_AT_TRX_COMMIT="2"
#INNODB_READ_AHEAD_THRESHOLD="63"
#INNODB_LOG_DIR=""
#INNODB_MAX_PURGE_LAG=""
# InnoDB support XA is disabled by default
#INNODB_SUPPORT_XA=""
#INNODB_USE_PURGE_THREAD="yes"
#INNODB_FILE_PER_TABLE=""
#Change buffering can have values inserts, deletes, purges, changes, all, none
#INNODB_CHANGE_BUFFERING="all"
#INNODB_DOUBLEWRITE="yes"
#INNODB_FILE_FORMAT="barracuda"
#INNODB_DIRTY_PAGES_PCT=""
#INNODB_OLD_BLOCKS_PCT=""
#INNODB_SYNC_SPIN_LOOPS=""
#INNODB_STATS_ON_METADATA="off"
#
MAX_CONNECTIONS="2048" # Parameter MAX_CONNECTIONS need to be increased if desirable to run benchmarks with more than 1000 connections this
TABLE_CACHE_SIZE="4000"
#USE_LARGE_PAGES=""
#LOCK_ALL=""
#KEY_BUFFER_SIZE="50M"
#MAX_HEAP_TABLE_SIZE="1000M"
#TMP_TABLE_SIZE="100M"
#MAX_TMP_TABLES="100"
#SORT_BUFFER_SIZE="32768"
#BINLOG="/export/home2/mronstrom/ndb/mysql_binlog"
#SYNC_BINLOG="0"
#BINLOG_ORDER_COMMITS="1"
#
#Server parameters for thread pool, setting any activates the thread
#pool plugin, requires binary MySQL Enterprise tarball.
#THREADPOOL_SIZE=""
#THREADPOOL_ALGORITHM=""
#THREADPOOL_STALL_LIMIT=""
#THREADPOOL_PRIO_KICKUP_TIMER=""
#
#Generic benchmark parameters
#
#If lock to CPU's are used one must set TASKSET="taskset" and
#set both SERVER_CPUS and BENCHMARK_CPUS to proper values,
#setting SERVER_CPUS="0xFC" means that CPU2-CPU7 is allowed to
#be used by the Server process.
#Default is to not use taskset and locking to CPUs
#It is also possible to set multiple values in SERVER_CPUS, e.g.
#SERVER_CPUS="0xF;=0x0F", the number of values must then be equal
#to the number of SERVER_HOST values and there is a one to one
#correspondence between the first SERVER_CPUS and the first
#SERVER_HOST, thus the first mysql server host will be mapped to
#CPU 0-3 in this case.
#It is also possible to set TASKSET to numactl, in this case the
#variable SERVER_BIND specifies the NUMA nodes to bind memory and
#CPUs to, if need to bind to individual CPUs then use SERVER_CPUS
#in addition to SERVER_BIND. SERVER_MEM_POLICY can be set to
#local to avoid interleaved memory policy which is default.
#The BENCHMARK_* parameters has the same meaning as the SERVER_*
#parameters except they operate on the benchmark programs instead
#of operate on the MySQL Server program.
#With numactl nodes and cpus are given by the syntax 0-2,5-7 where
#there can be multiple ranges of cpus and nodes.
#
TASKSET="numactl"
BENCH_TASKSET="numactl"
SERVER_BIND="all"
#SERVER_CPUS="2-21"
SERVER_MEM_POLICY="local"
#SERVER_MEM_POLICY="interleaved"
BENCHMARK_BIND="all"
#BENCHMARK_CPUS="3-25,27"
BENCHMARK_MEM_POLICY="local"
#BENCHMARK_MEM_POLICY="interleaved"
AFTER_INITIAL_RUN="10" # This is the time to wait after the initial run (this initial run usually gives worse performance and is dismissed from calculations).
AFTER_SERVER_START="60" # How long time should we wait after server start until we attempt to create the test database. We are always starting from an initial database so this means that the MySQL Server will take some time to create all InnoDB log files, it can take as much as 2-4 minutes.
BETWEEN_CREATE_DB_TEST="15" # We attempt to create the sysbench database, if we fail this specifies how long time in seconds to wait before we attempt again.
AFTER_SERVER_STOP="10" # How long time to wait after stopping the MySQL/Drizzle server before finishing the benchmark run.
#
#NUM_CREATE_DB_ATTEMPTS="12"
#BETWEEN_RUNS="25"
#SERVER_CPUS="0x00FFFFFFFF0000FFFFFFFF00"
#SERVER_CPUS="0x800000000000 000000000000"
#