Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/04/2011, 19h04   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 17
Points : 10
Points : 10
Par défaut Serveur MySQL surchargé ( > installation de 2 serveurs mysql sur le même serveur ?)

Bonjour à tous,

voici le problème que je rencontre:

J'ai une base de données qui contient des tables avec +/- 6 millions d'entrées enregistrées et qui accueil chaque minute des nouvelles entrées. La base de données est constamment en travail avec des insertion et des mises à jour de données. Toutes ces requêtes ne posent aucun problème car elle mettent tous un millième de seconde à s'éxecuté, les index ont été correctement fais et optimisés pour que tout aille au mieux.

Mon problème:

J'ai une interface qui permet de ressortir les informations contenues dans ces tables, sauf que suivant les filtres insérés par les utilisateurs, les requêtes peuvent être très longues et bloquent donc les insert / update.
J'ai déjà mis du cache sur pas mal de choses et ça a améliorer les choses par 1000x. Certaines choses ne peuvent pas être mise en cache ou alors le code qui calcul le cache devrait tourner sans cesse (ça résoudrai donc pas le problème.

J'ai penser à cette solution:

Est t'il possible d'installer deux serveurs MySQL sur un même serveur, de cette façon je pourrais faire une réplique de ma base de données sur ce "second serveur" qui lui ne servirai qu'à lire les données.
Pour résumé:
- 1er serveur MySQL: insert / update (le + important donc)
- 2eme serveur MySQL: de la lecture des infos seulement.

Qu'en pensez vous ?
D'autres idées ?

Merci à tous
Jonas0122 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 19h12   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
une nouvelle machine ? faire des clusters ? changer de SGBD ?

mettre les chose sur la même machine ne changerai rien et prendrai même plus de temps.
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 12h47   #3
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Non, je ne pense pas que mettre un deuxième serveur SQL serait une solution viable. Encore qu'avec des tables Federated ça peut être jouable. Mais comme l'a dit Stealth35 ça risque de tout simplement dégrader encore les performances... A étudier donc.

En tout cas, si tu as dans l'idée d'acheter une deuxième plateforme pour faire tourner deux MySQL en cluster, fais très attention à NDBCluster, c'est un vrai piège à con ce bousin, ça pose plus de problèmes que ça n'en résous. Même MySQL est en train de l'abandonner.

On peut également imaginer des solution plus sexy comme la mise en place d'un cache mémoire pour PHP avec Redis ou MemCached qui limiterai les lectures physiques sur la base.
Ou bien passer à un autre moteur de base de données:
- Cassandra (optimisé pour le cluster)
- MongoDB
- PosgreSQL (se dit efficace pour les larges volumes de données)
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h39.


 
 
 
 
Partenaires

Hébergement Web