Processeurs MySQL et multicœurs

8

J'exécute MySQL sur le serveur win2008 sur un processeur xeon multicœur. Il semble qu'il n'utilise qu'un seul cœur.

Y a-t-il quelque chose que je dois configurer pour qu'il utilise tous les cœurs?

Le serveur prend en charge un site Web chargé avec de nombreux appels. Je suis sûr qu'il y a plus d'un seul appel en même temps, mais pourtant la base de données cherche à gérer n'importe quoi dans un seul cœur.

Que puis-je faire pour l'améliorer?

Dani
la source
Avez-vous vérifié les paramètres d'affinité du processus dans le gestionnaire de tâches?
gekkz
Quelle version de mysql utilisez-vous ???
RolandoMySQLDBA
MySQL 5.0 et 5.1 sont multithread , mais j'ai également remarqué que certaines fonctions (comme la réplication) utiliseront 100% d'un processeur sur une machine multiprocesseur / multicœur tandis que les autres cœurs resteront inactifs.
Stefan Lasiewski

Réponses:

7

Si vous voulez pouvoir régler MySQL pour utiliser plusieurs cœurs, vous devez mettre à niveau vers MySQL 5.5.

Selon le livre blanc de MySQL "Quoi de neuf dans les performances et l'évolutivité de MySQL 5.5" de décembre 2010:

Contrôle des threads d'E / S en arrière-plan - Les utilisateurs disposent désormais de deux nouveaux paramètres de configuration pour toutes les plateformes, innodb_read_io_threads et innodb_write_io_threads qui permettent de définir le nombre de threads d'arrière-plan utilisés pour les demandes de lecture et d'écriture. Cela permet aux utilisateurs de régler et de faire évoluer leurs applications MySQL sur des systèmes multicœurs haut de gamme 􀁸 Contrôle du taux d'E / S du thread principal - Les utilisateurs peuvent désormais configurer la capacité globale d'E / S

Les paramètres mentionnés sont innodb_read_io_threads et innodb_write_io_threads .

Ces paramètres n'existent pas avant MySQL 5.1.38. En fait, seul le plugin MySQL permet ces paramètres dans MySQL 5.1. Il est inclus dans InnoDB natif de MySQL 5.5.

Peut-être que ce billet de blog vous donnera plus d'informations sur l'évolutivité d'InnoDB pour plusieurs serveurs principaux .

RolandoMySQLDBA
la source
Il est 5,5, je vais vérifier ces paramètres et approuver.
Dani