Aller au contenu

Mysql Multicore


mercurey

Sujets conseillés

Bonjour à tous,



Je cherche à optimiser ma db/serveur, je souhaiterais faire en sorte que Mysql utilise les multiples coeur de mon serveur, ce qui n'est pas le cas.


Mes tables sont en myisam, ce qui autorise la sauvegarde de celles-ci.



J'ai lu qu'apparemment il serait possible de faire utiliser plusieurs coeur de CPU, mais j'ai pas trouvé de solution très concrète.



J'ai tester en créant plusieurs utilisateurs, utilisé aléatoirement pour les requêtes mais je ne crois pas que cela fonctionne.



Est ce que quelqu'un peux m'aiguiller ?



Merci




Lien vers le commentaire
Partager sur d’autres sites

Pour supporter le multi-coeurs, il faut des tables en InnoDB avec InnoDB Plugin, ou tourner NDB (cluster mysql)

Mais je n'ai jamais véritablement testé cela et ne saurais pas te donner d'ordre de grandeur des performances.


As for the storage engines listed, the only ones that have
ACID-compliance are InnoDB and NDB. Why is this importatnt to mention?
Two reasons:



  • Other storage engines are simply not benefited with the presence of
    more cores, other than basic disk I/O, CPU usage, and overall
    throughput.
  • The code for each non-transactional storage engine, which dictates
    basically 14 internal operations regardless of storage engine, was not
    designed to leverage the accessing of multiple cores.


InnoDB under MySQL 5.5, InnoDB Plugin), and Percona Server's XtraDB
have options you can set in order to access multiple cores (Percona
Server has been doing so longer). In fact, Percona injects about 30,000
lines of code specifically for performance enhancement of InnoDB with
each new GA release of MySQL source code. We can be sure Oracle has
included its own enhancements from their own think tank to run within
InnoDB for multicore operation (since MySQL 5.1.38).

Lien vers le commentaire
Partager sur d’autres sites

Effectivement, le plugin InnoDB et le fork percona de Mysql utilisent le multicore, mais il vaut évidement mieux y consacrer un serveur dédié.


la commande top suivi de H permet d'afficher les threads, sinon l'utilitaire htop



Avec InnoDB, soit tu fais une sauvegarde à froid des bases en eteignant correctement le service mysql. Soit tu utilises l'utilitaire mysqldump en faisant une sauvegarde à chaud, ce qui est la solution préconisée. Attention aux options de lock des tables et des bases et aux heures de sauvagerde



Les moteurs de stockage NDB ne sont interéssants que pour des configurations très particulières de serveurs distribués à tres haute disponibilité et pour des applications développées spécifiquement pour ces moteurs, réclamant un nombre d'écritures sur disque très élevés. En outre ils sont complexes à configurer.


Une solution hors de portée du commun des mortels (et de la plupart des entreprises).


Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...