Bonjour,

depuis quelques semaines j'ai mon serveur (4CPU, 8GO de ram, Redhat) qui a un load average très élevé (entre 20 et 30).

Sur ce serveur, je n'ai que nagios et mysql qui tourne. nagios rentre les infos dans mysql via ndo.

par défaut, l'installation de mysql crée un fichier 'my.cnf' vide.

Je l'ai rempli afin de tenter d'optimiser les requêtes etc. mais rien n'y fait, donc je sèche un peu afin d'optimiser mysql et faire en sorte que mon serveur arrête de monter en charge pour quelques éléments qui sont supervisés (153 hosts pour 1823 services).

j'ai installé mysqltunner.pl afin de trouver ce qui pouvait clocher, mais là, j'ai pratiquement rien à faire.

Quand je corrige ce qu'il me dit, tout va bien, et quand je le relance le lendemain (comme ce matin) j'ai encore des choses à modifier, donc je ne sais plus où donner de la tête :

General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_open_cache gradually to avoid file descriptor limits
Read this before increasing table_open_cache over 64:
Variables to adjust:
tmp_table_size (> 64M)
max_heap_table_size (> 64M)
table_open_cache (> 4096)

my.cnf :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
skip-innodb
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
 
query_cache_type               = 1
query_cache_limit              = 4M
query_cache_size               = 1G
tmp_table_size                 = 64M
max_heap_table_size            = 64M
max_connections                = 500
thread_cache_size              = 50
open_files_limit               = 65535
table_definition_cache         = 4096
table_open_cache               = 4096
key_buffer_size		   = 500M	
 
 
log_queries_not_using_indexes  = 1
slow_query_log                 = 1
slow_query_log_file            = /var/lib/mysql/mysqld-slow-query.log
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid