mysql my.cnf pour innodb avec 128 Go de server RAM

J'ai un server avec 128 Go de RAM, mais la CPU affiche toujours plus de 100% (parfois> 1000%) dans la command supérieure pour le process mysqld. Voici une partie de la configuration pour innodb dans my.cnf. Veuillez indiquer comment affiner les configurations. Merci

innodb_buffer_pool_size = 60G #global buffer innodb_additional_mem_pool_size = 4M #global buffer innodb_status_file #extra reporting innodb_file_per_table #enable always innodb_flush_log_at_trx_commit = 0 #2/0 = perf, 1 = ACID innodb_table_locks = 0 #preserve table locks innodb_log_buffer_size = 256M #global buffer innodb_lock_wait_timeout = 60 innodb_thread_concurrency = 16 #recommend 2x core quantity innodb_commit_concurrency = 16 #recommend 4x num disks innodb_support_xa = 0 #recommend 0, disable xa to negate extra disk flush # skip-innodb-doublewrite #innodb_force_recovery = 3 

Tout d'abord: une utilisation de CPU> 100% sur un système Linux ne signifie pas qu'il y a un problème, seulement que le système utilise plus d'une CPU. Un système 16-core peut avoir une charge maximale de 1600%, donc une charge de 1000% sur un tel système signifierait être assez chargé, mais certainement pas surchargé.

Le server fonctionne-t-il réellement ou est-ce que vous vous inquiétez simplement de ce qui semble être une utilisation élevée du processeur, mais pourrait être parfaitement bien pour un server de database dédié?


Cela dit, avoir beaucoup et beaucoup de RAM ne va pas faire d'aide si le server est sous une forte charge de CPU; La RAM ne consortingbue qu'avec la caching des contenus et la réduction des E / S des disques (qui, dans la plupart des cas, est un goulot d'étranglement), pas avec le traitement réel.

Vous devriez examiner ce que fonctionne votre server, en termes de chargement de l'user et de requêtes réelles, puis d'optimiser votre DB (comme dans les arrays, les keys et les index) autant que possible pour le travail qu'il doit faire; ou, si tout échoue, jette plus de kernelx de CPU et / ou trouve un moyen de répartir la charge à travers les servers mutiple.

Sans savoir quoi sur ce que votre server fait, il est impossible de vous en dire plus que cela.