Adding Tunning Options
This commit is contained in:
parent
edafc9a45e
commit
8b9bb4e7d7
|
@ -0,0 +1,13 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
def getMemoryPercentage(percent):
|
||||||
|
import os
|
||||||
|
try:
|
||||||
|
percent = int(percent)
|
||||||
|
totalMemory = os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES')
|
||||||
|
memoryToUse = (totalMemory*percent)/100
|
||||||
|
memoryMb = memoryToUse/(1024.**2)
|
||||||
|
return "{0}M".format(round(memoryMb,2))
|
||||||
|
except:
|
||||||
|
return "Error during memory percentage calculation"
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<creole>
|
<creole>
|
||||||
<files>
|
<files>
|
||||||
<file filelist='dbCluster' name='/etc/mysql/conf.d/galera.cnf' rm='True' mkdir='True'/>
|
<file filelist='dbCluster' name='/etc/mysql/conf.d/galera.cnf' rm='True' mkdir='True'/>
|
||||||
|
<file filelist='dbTunning' name='/etc/mysql/conf.d/tunning.cnf' rm='True' mkdir='True'/>
|
||||||
<service_access service='mariadb'>
|
<service_access service='mariadb'>
|
||||||
<port service_accesslist='mariadb' protocol='tcp'>3306</port>
|
<port service_accesslist='mariadb' protocol='tcp'>3306</port>
|
||||||
<tcpwrapper service_accesslist='mariadb'>mariadb</tcpwrapper>
|
<tcpwrapper service_accesslist='mariadb'>mariadb</tcpwrapper>
|
||||||
|
@ -44,6 +45,50 @@
|
||||||
</variable>
|
</variable>
|
||||||
<variable name="accLimitTarget" type="string" description="Restriction d'accès à ces IP/noms d'hôtes (liste séparateur séparateur ',')" />
|
<variable name="accLimitTarget" type="string" description="Restriction d'accès à ces IP/noms d'hôtes (liste séparateur séparateur ',')" />
|
||||||
</family>
|
</family>
|
||||||
|
|
||||||
|
<!-- Tunning -->
|
||||||
|
<family name="DataBase Tunning" mode="expert">
|
||||||
|
<variable name="dbInnoDBBufferPoolPercentage" type="number" description="Pourcentage de mémoire à dédier à MariaDB">
|
||||||
|
<value>20</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbMaxConnections" type="number" description="Nombre de connection maximum pour le serveur de bases de données (max_connections)">
|
||||||
|
<value>100</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbThreadCacheSize" type="number" description="Nombre de threads mis en cache par le serveur MariaDB">
|
||||||
|
<value>16</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbCacheQueryEnabl" type="oui/non" description="Activer la mise en cache des requêtes">
|
||||||
|
<value>non</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbQueryCacheLimit" type="string" description="Taille maximum des résultats de requêtes à mettre en cache">
|
||||||
|
<value>900K</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbQueryCacheMinRestUnit" type="string" description="Taille des blocks du cache des requêtes">
|
||||||
|
<value>2K</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbQueryCacheSize" type="string" description="Taille maximum du cache des requêtes">
|
||||||
|
<value>80M</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbTmpTableSize" type="string" description="Taille maximum des tables internes stockées en mémoire">
|
||||||
|
<value>64M</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbEnableSlowQueryLogs" type="oui/non" description="Journaliser les requêtes lentes (Slow Query)">
|
||||||
|
<value>non</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbSlowQueryLogFile" type="string" description="Fichier de journalisation des requêtes lentes">
|
||||||
|
<value>/var/log/mysql/slow-query.log</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbSlowQueryLogTime" type="number" description="Durée à partir de laquelle une requête est considérée comme lente (en secondes)">
|
||||||
|
<value>1</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbWaitTimeout" type="number" description="Durée maximum d'inactivité d'une session (en secondes)">
|
||||||
|
<value>20</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="dbAutoOptimizeAndRepare" type="oui/non" description="Activer l'autoréparation et optimisation de toutes les bases de données">
|
||||||
|
<value>non</value>
|
||||||
|
</variable>
|
||||||
|
</family>
|
||||||
|
|
||||||
<family name="Database Cluster">
|
<family name="Database Cluster">
|
||||||
<variable name='ifDBCluster' type='string' description="Interface réseau dédiée à la grappe BDD"/>
|
<variable name='ifDBCluster' type='string' description="Interface réseau dédiée à la grappe BDD"/>
|
||||||
|
|
||||||
|
@ -65,6 +110,9 @@
|
||||||
<variable name='dbSSTMethod' type='string' mode='expert' description='Méthode SST'>
|
<variable name='dbSSTMethod' type='string' mode='expert' description='Méthode SST'>
|
||||||
<value>rsync</value>
|
<value>rsync</value>
|
||||||
</variable>
|
</variable>
|
||||||
|
<variable name='dbClusterGcacheSize' type='number' mode='expert' description="Write-set Cache Size (gcache.size)">
|
||||||
|
<value>128</value>
|
||||||
|
</variable>
|
||||||
<!-- End -->
|
<!-- End -->
|
||||||
</family>
|
</family>
|
||||||
<separators>
|
<separators>
|
||||||
|
@ -121,6 +169,19 @@
|
||||||
<target type='family'>Database</target>
|
<target type='family'>Database</target>
|
||||||
<target type='service_accesslist'>dbCluster</target>
|
<target type='service_accesslist'>dbCluster</target>
|
||||||
</condition>
|
</condition>
|
||||||
|
|
||||||
|
<condition name='disabled_if_in' source="dbCacheQueryEnable">
|
||||||
|
<param>non</param>
|
||||||
|
<target type='variable'>dbQueryCacheLimit</target>
|
||||||
|
<target type='variable'>dbQueryCacheMinRestUnit</target>
|
||||||
|
<target type='variable'>dbQueryCacheSize</target>
|
||||||
|
</condition>
|
||||||
|
|
||||||
|
<condition name='disabled_if_in' source="dbEnableSlowQueryLogs">
|
||||||
|
<param>non</param>
|
||||||
|
<target type='variable'>dbSlowQueryLogTime</target>
|
||||||
|
<target type='variable'>dbSlowQueryLogFile</target>
|
||||||
|
</condition>
|
||||||
</constraints>
|
</constraints>
|
||||||
<help/>
|
<help/>
|
||||||
</creole>
|
</creole>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
todo=$(CreoleGet dbCreateFixAdmin 'non')
|
todo=$(CreoleGet dbCreateFixAdmin 'non')
|
||||||
|
autoRepair=$(CreoleGet dbAutoOptimizeAndRepare 'non')
|
||||||
|
|
||||||
if [[ ${todo} != 'non' ]]
|
if [[ ${todo} != 'non' ]]
|
||||||
then
|
then
|
||||||
|
@ -60,5 +61,11 @@ then
|
||||||
chmod 600 ${readerfile}
|
chmod 600 ${readerfile}
|
||||||
rm -rf ${sqlFile}
|
rm -rf ${sqlFile}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ ${autoRepair} == "oui" ]]
|
||||||
|
then
|
||||||
|
mysqlcheck -u root --auto-repair --check --optimize --all-databases
|
||||||
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,8 @@ wsrep_cluster_address="gcomm://%%nodeIP%slurp
|
||||||
%end for
|
%end for
|
||||||
"
|
"
|
||||||
|
|
||||||
|
# Tunning
|
||||||
|
wsrep_provider_options="gcache.size=%%dbClusterGcacheSizeMb"
|
||||||
|
|
||||||
# Galera Synchronization Configuration
|
# Galera Synchronization Configuration
|
||||||
wsrep_sst_method=%%dbSSTMethod
|
wsrep_sst_method=%%dbSSTMethod
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
[mysqld]
|
||||||
|
innodb_file_per_table=1
|
||||||
|
skip-name-resolve
|
||||||
|
|
||||||
|
innodb_buffer_pool_size=%%getMemoryPercentage(%%getVar('dbInnoDBBufferPoolPercentage', 10))
|
||||||
|
max_connections=%%dbMaxConnections
|
||||||
|
thread_cache_size=%%dbThreadCacheSize
|
||||||
|
|
||||||
|
%if %%dbCacheQueryEnable == 'oui'
|
||||||
|
query_cache_type = 1
|
||||||
|
query_cache_limit = %%dbQueryCacheLimit
|
||||||
|
query_cache_min_res_unit = %%dbQueryCacheMinResUint
|
||||||
|
query_cache_size = %%dbQueryCacheSize
|
||||||
|
%end if
|
||||||
|
|
||||||
|
tmp_table_size = %%dbTmpTableSize
|
||||||
|
max_heap_table_size = %%dbTmpTableSize
|
||||||
|
|
||||||
|
%if %%dbEnableSlowQueryLogs == "oui"
|
||||||
|
slow-query-log = 1
|
||||||
|
slow-query-log-file = %%dbSlowQueryLogFile
|
||||||
|
long_query_time = %%dbSlowQueryLogTime
|
||||||
|
%end if
|
||||||
|
|
||||||
|
wait_timeout = %%dbWaitTimeout
|
||||||
|
|
Loading…
Reference in New Issue