Bonjour.
J'ai un probléme de performance sur notre serveur mysql que j'essai de résoudre depuis quelques temps mais je reste bloqué donc je viens le posé ici.
Notre architecture :
Nous utilisons mysql pour stocker les données des logiciels de notre société (suivi de production, relation client, facturation, commande, ... tout) dans des tables MyISAM qui sont quasiment toutes liées entre elles. Ces données sont lue par des programmes en c++. Nous avons une cinquantaine d'utilisateurs et une bonne centaine de programme. Chaque utilisateur fait tourner en moyenne 3 programmes. Ces programmes font a peu prés autant de lecture que d'écriture.
Au milieu de ces utilisateurs nous avons un automate qui exécute un programme de mise a jour toutes les 10 minutes.
Le serveur sql est un serveur dell d'il y a deux ans avec un xeon et deux giga de ram et des disque 15ktr en scsi et en raid5.
Depuis quelques temps nous remarquons que lors du calcul de l'automate il y a de fort ralentissement mais même en dehors de ce calcul le serveur commence a avoir du mal face a la monter en charge.
Je sais qu'une solution serait de changer de matériel pour prendre un serveur plus puissant avec des disques en SAS et plus de ram. Mais a vrai dire même si le changement de matériel est fermement envisagé je suis a la recherche d'une solution a plus long terme. En gros qu'est ce que nous avons a changer dans notre maniére de travailler avec mysql pour être scalable.
Je me doute que je ne suis pas trés clair. Mais en gros j'aimerais savoir qu'elle est la chose a faire pour que les performances de notre base de données ne soient plus jamais un probléme. J'ai pensé a découper la base de données sur plusieurs serveurs mais nos tables sont toutes trés liées et le moteur federated ne m'inspire pas confiance. J'ai pensé a un cluster mysql mais j'en ai pas entendu que du bien et sachant qu'on souhaite virtualiser notre infrastructure j'en entend encore plus de mal.
Bref selon vous comment doit fonctionner une architecture de base de données pour que les performances ne soient plus un problème et qu'on ait la solution "définitive" ?
Merci d'avance
Partager