forked from mysql/mysql-docker
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathconfig.ini
129 lines (107 loc) · 5 KB
/
config.ini
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
[NDBD DEFAULT]
# RonDB default configuration is intended for execution in Cloud VMs with
# around 8 GB per VCPU. In this case it is sufficient to set nothing since
# AutomaticThreadConfig=true is default and also AutomaticMemoryConfig=true
# is default. The memory settings in this environment ensures that RonDB
# doesn't hit any memory boundaries in normal cases and at the same time
# providing large space for in-memory tables.
#
# In the Docker Compose environment we expect all nodes to execute in
# their own docker container on the same host. Thus we need to create a
# setting which works also in more limited memory environment.
#
# We set the TotalMemoryConfig to limit the amount of memory used in this
# environment. We set it to 2.5GB of memory which replicated becomes
# 5 GB of memory for data nodes.
#
# In addition the other containers will use a bit more than 1 GB.
#
# The NumCPUs provides input to the AutomaticThreadConfig on how many
# threads to use. This will affect also memory usage, thus increasing
# this number requires also increasing the TotalMemoryConfig and
# potentially also other parameters will require changes.
#
# In a default setup the data node will run such that it uses all memory
# and all CPU available in the machine. This is the case since the default
# setup is aiming at a Cloud VM running only one data node. MySQL Servers
# and MGM servers are running in separate VMs as well.
#
# To run a benchmark on a high-end desktop with e.g. 32 CPUs one can
# set NumCPUs to 6 and increase TotalMemoryConfig a bit, for sysbench
# increasing to 4 GB of TotalMemoryConfig should be sufficient. For
# DBT2 each warehouse consumes an extra 100-200MB of memory. So running
# with e.g. 64 warehouses requires a machine with a bit more memory,
# it should work on a machine with 64 GB of memory.
# These are actually true by default anyways
AutomaticThreadConfig=true
AutomaticMemoryConfig=true
# Setting NumCPUs to 4 or some other number influences the number of
# threads of various types that we configure. In a development environment
# it is ok to set this larger than the number of actual CPUs (and smaller
# as well). In an environment where we own the entire VM it is desirable
# to not set NumCPUs such that the data node can figure out the appropriate
# number of threads according to the HW and even lock the threads to
# specific CPUs.
#
# These are exceptions to the automatic memory configuration.
# NumCPUs impacts both thread configuration and memory configuration. Thus
# raising NumCPUs means more memory is required in the data node.
NumCPUs=%s
TotalMemoryConfig=%s
MaxNoOfTables=%s
MaxNoOfAttributes=%s
MaxNoOfTriggers=%s
TransactionMemory=%s
SharedGlobalMemory=%s
RedoBuffer=16M
ReservedConcurrentOperations=%s
## Uncomment this for RonDB 22.10 and reduce TotalMemoryConfig by 250M
# ReplicationMemory=50M
# SchemaMemory=200M
# Decrease the REDO log files from 64GB to 2GB
# Size of the REDO log is NoOfFragmentLogParts * NoOfFragmentLogFiles * FragmentLogFileSize
# A smaller REDO log means one will have to be more active in checkpointing and at really high loads
# one needs a larger REDO log, but in development 2 GB should be quite sufficient. In production
# 64 GB is more or less always enough.
NoOfFragmentLogFiles=8
FragmentLogFileSize=%s
#Number of replicas
NoOfReplicas=%s
# Setting this parameter to TRUE or 1 binds IP_ADDR_ANY so that connections can be made from anywhere (for autogenerated connections). The default is FALSE (0).
TcpBind_INADDR_ANY=FALSE
MaxNoOfConcurrentOperations=%s
MaxDMLOperationsPerTransaction=32K
MaxNoOfConcurrentScans=500
#The maximum time in ms that is permitted to lapse between operations in the same transaction before the transaction is aborted.
TransactionInactiveTimeout=5000
TransactionDeadlockDetectionTimeout=5000
#0: Disables locking. This is the default value.
#1: Performs the lock after allocating memory for the process.
#2: Performs the lock before memory for the process is allocated.
# Needs root privileges
LockPagesInMainMemory=0
#SpinMethod in cloud setups the default gives better latency.
#In shared environments like this it is better to avoid spinnning.
SpinMethod=StaticSpinning
# Savings of up to 50% over noncompressed LCPs and backups
CompressedLCP=0
CompressedBackup=1
BackupLogBufferSize= 16M
# The maximum size of the memory unit to use when allocating memory for tables
MaxAllocate=32M
# Needs root privileges
ODirect=0
Numa=1
# Move this to another drive if you have a high number of ops/sec
InitialLogFileGroup=name=lg_1;undo_buffer_size=32M;undo_log_0.log:1G
# Move this to another drive to store small files in HopsFS
InitialTablespace=name=ts_1;extent_size=16M;ts_1_data_file_0.dat:2G
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
OverloadLimit=0
# Without this flag, ndbds could not start up if not all containers
# listed in the config.ini were running. E.g. the ndbds would try to
# to resolve the hostname "bench_1", whereby the container "bench_1" has
# been stopped. The ndbd would not find anything, and then fail.
AllowUnresolvedHostnames=true