Je cherche une solution élégante pour améliorer la disponibilité du
service MySQL. Il y a un seul serveur qui gère les 2000 bases de données
utilisés et tout ça prend 7 Go d'espace disque. Le nombre de requêtes
par secondes est entre 400 et 800. Un second serveur aux performances
identiques sera ajouté.
Pour le moment j'ai vu quelques solutions mais aucune ne me convient
vraiment :
- réplication : aucune gestion du fallback, un serveur dort.
- MySQL cluster : génial mais tout est en mémoire 16 Go max sur le
serveur, il n'ira pas loin comme ça (ou alors avec des barettes
de 4Go à 2000 Euro l'unité)
- DRDB : synchronisation des disques en temps réel, il y a de fortes
chances que les données soient corrompues, surtout pour InnoDB.
- SQLrelay + réplication : sympa mais ce n'est pas totalement
transparents pour les utilisateurs.
La solution presque idéale serait d'utiliser la synchronisation avec un
load balancer comme SQLrelay qui fait les écritures sur le master et les
lectures sur les esclaves tout en passant pour un serveur MySQL normal
(compatible avec les clients MySQL classiques). Avec un bon système de
cache on peut même rebooter le master sans que ça soit trop visible.
Si vous connaissez un bon systéme je suis preneur :)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Yann Michel
La solution presque idéale serait d'utiliser la synchronisation avec un load balancer comme SQLrelay qui fait les écritures sur le master et les lectures sur les esclaves tout en passant pour un serveur MySQL normal (compatible avec les clients MySQL classiques). Avec un bon système de cache on peut même rebooter le master sans que ça soit trop visible.
tu définis deux adresses dwriter.mydomain qui pointe sur le serveur en écriture et dbreader.mydomain qui pointent sur les deux machines. tu écris sur dbwriter et tu lis sur dbreader.
-- Yann Michel http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
La solution presque idéale serait d'utiliser la synchronisation avec un
load balancer comme SQLrelay qui fait les écritures sur le master et les
lectures sur les esclaves tout en passant pour un serveur MySQL normal
(compatible avec les clients MySQL classiques). Avec un bon système de
cache on peut même rebooter le master sans que ça soit trop visible.
tu définis deux adresses dwriter.mydomain qui pointe sur le serveur en
écriture et dbreader.mydomain qui pointent sur les deux machines. tu
écris sur dbwriter et tu lis sur dbreader.
--
Yann Michel
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
La solution presque idéale serait d'utiliser la synchronisation avec un load balancer comme SQLrelay qui fait les écritures sur le master et les lectures sur les esclaves tout en passant pour un serveur MySQL normal (compatible avec les clients MySQL classiques). Avec un bon système de cache on peut même rebooter le master sans que ça soit trop visible.
tu définis deux adresses dwriter.mydomain qui pointe sur le serveur en écriture et dbreader.mydomain qui pointent sur les deux machines. tu écris sur dbwriter et tu lis sur dbreader.
-- Yann Michel http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
Frédéric VANNIÈRE
Va dire ça aux clients :) ils ne lisent même pas leurs mails et viennent pleurer après.
C'est pour ça qu'il faut un proxy.
Frédéric.
tu définis deux adresses dwriter.mydomain qui pointe sur le serveur en écriture et dbreader.mydomain qui pointent sur les deux machines. tu écris sur dbwriter et tu lis sur dbreader.
Va dire ça aux clients :) ils ne lisent même pas leurs
mails et viennent pleurer après.
C'est pour ça qu'il faut un proxy.
Frédéric.
tu définis deux adresses dwriter.mydomain qui pointe sur le serveur en
écriture et dbreader.mydomain qui pointent sur les deux machines. tu
écris sur dbwriter et tu lis sur dbreader.
Va dire ça aux clients :) ils ne lisent même pas leurs mails et viennent pleurer après.
C'est pour ça qu'il faut un proxy.
Frédéric.
tu définis deux adresses dwriter.mydomain qui pointe sur le serveur en écriture et dbreader.mydomain qui pointent sur les deux machines. tu écris sur dbwriter et tu lis sur dbreader.
Yann Michel
Va dire ça aux clients :) ils ne lisent même pas leurs mails et viennent pleurer après.
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en interne, le client ne voit évidemment qu'un seul nom mais ton code (php au hasard) lit et écrit sur deux noms internes différents
PS: merci de répondre après la réponse
-- Yann Michel http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
Va dire ça aux clients :) ils ne lisent même pas leurs
mails et viennent pleurer après.
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en
interne, le client ne voit évidemment qu'un seul nom mais ton code (php
au hasard) lit et écrit sur deux noms internes différents
PS: merci de répondre après la réponse
--
Yann Michel
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
Va dire ça aux clients :) ils ne lisent même pas leurs mails et viennent pleurer après.
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en interne, le client ne voit évidemment qu'un seul nom mais ton code (php au hasard) lit et écrit sur deux noms internes différents
PS: merci de répondre après la réponse
-- Yann Michel http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
Spyou
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en interne, le client ne voit évidemment qu'un seul nom mais ton code (p hp au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion read/write après .. ca doit pas etre sorcier, ceci dit.
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en
interne, le client ne voit évidemment qu'un seul nom mais ton code (p hp
au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui
met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion
read/write après .. ca doit pas etre sorcier, ceci dit.
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en interne, le client ne voit évidemment qu'un seul nom mais ton code (p hp au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion read/write après .. ca doit pas etre sorcier, ceci dit.
Frédéric VANNIÈRE
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en interne, le client ne voit évidemment qu'un seul nom mais ton code (php au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion read/write après .. ca doit pas etre sorcier, ceci dit.
Il doit bien y en avoir un de fait, on m'a parlé d'un projet mieux que sqlrelay qui fait aussi cache. Mais pas moyen de retrouver le nom.
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des problèmes de sécurité. J'évite le plus possible d'installer des logiciels non packagés et encore plus de les modifier moi même.
Frédéric.
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en
interne, le client ne voit évidemment qu'un seul nom mais ton code
(php au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui
met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion
read/write après .. ca doit pas etre sorcier, ceci dit.
Il doit bien y en avoir un de fait, on m'a parlé d'un projet mieux que
sqlrelay qui fait aussi cache. Mais pas moyen de retrouver le nom.
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des
problèmes de sécurité. J'évite le plus possible d'installer des
logiciels non packagés et encore plus de les modifier moi même.
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en interne, le client ne voit évidemment qu'un seul nom mais ton code (php au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion read/write après .. ca doit pas etre sorcier, ceci dit.
Il doit bien y en avoir un de fait, on m'a parlé d'un projet mieux que sqlrelay qui fait aussi cache. Mais pas moyen de retrouver le nom.
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des problèmes de sécurité. J'évite le plus possible d'installer des logiciels non packagés et encore plus de les modifier moi même.
Frédéric.
Yann Michel
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des problèmes de sécurité. J'évite le plus possible d'installer des logiciels non packagés et encore plus de les modifier moi même.
dans ce cas, laisse tout tomber ;-)
-- Yann Michel http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des
problèmes de sécurité. J'évite le plus possible d'installer des
logiciels non packagés et encore plus de les modifier moi même.
dans ce cas, laisse tout tomber ;-)
--
Yann Michel
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des problèmes de sécurité. J'évite le plus possible d'installer des logiciels non packagés et encore plus de les modifier moi même.
dans ce cas, laisse tout tomber ;-)
-- Yann Michel http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
R12y
On Thu, 10 Nov 2005 15:27:53 +0100, Frédéric VANNIÈRE wrote:
J'évite le plus possible d'installer des logiciels non packagés
Oh un copain! :-)
et encore plus de les modifier moi même.
Oui, bon si tu as le package source et que tu sais comment recompiler un package,...
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en interne, le client ne voit évidemment qu'un seul nom mais ton code (php au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion read/write après .. ca doit pas etre sorcier, ceci dit.
Il doit bien y en avoir un de fait, on m'a parlé d'un projet mieux que sqlrelay qui fait aussi cache. Mais pas moyen de retrouver le nom.
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des problèmes de sécurité. J'évite le plus possible d'installer des logiciels non packagés et encore plus de les modifier moi même.
Frédéric.
Il y a bien m/cluster qui semble faire ce que tu cherches :
Certains hébergeurs le proposent en option sur leurs serveurs dédicacés (j'en ai vu à +/- 125 EURO par serveur (et par mois)
ML
Frédéric VANNIÈRE wrote:
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en
interne, le client ne voit évidemment qu'un seul nom mais ton code
(php au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui
met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion
read/write après .. ca doit pas etre sorcier, ceci dit.
Il doit bien y en avoir un de fait, on m'a parlé d'un projet mieux que
sqlrelay qui fait aussi cache. Mais pas moyen de retrouver le nom.
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des
problèmes de sécurité. J'évite le plus possible d'installer des
logiciels non packagés et encore plus de les modifier moi même.
Frédéric.
Il y a bien m/cluster qui semble faire ce que tu cherches :
c'est toi qui le fait en interne. ton dbreader et dbwriter sont en interne, le client ne voit évidemment qu'un seul nom mais ton code (php au hasard) lit et écrit sur deux noms internes différents
Quand Fred dit "client", je penses qu'il entends "client d'hebergeur qui met son propre code"
Ca oblige a coder un proxy mysql qui va dispatcher les connexion read/write après .. ca doit pas etre sorcier, ceci dit.
Il doit bien y en avoir un de fait, on m'a parlé d'un projet mieux que sqlrelay qui fait aussi cache. Mais pas moyen de retrouver le nom.
Modifier le code de PHP est le meilleur moyen d'avoir des bugs et des problèmes de sécurité. J'évite le plus possible d'installer des logiciels non packagés et encore plus de les modifier moi même.
Frédéric.
Il y a bien m/cluster qui semble faire ce que tu cherches :
Certains hébergeurs le proposent en option sur leurs serveurs dédicacés (j'en ai vu à +/- 125 EURO par serveur (et par mois)
Merci, ca ressemble fortement à ce que je cherche, dommage qu'il n'y ai encore rien en opensource. Maintenant j'attend qu'ils veuillent bien valider mon compte pour pouvoir télécharger la version démo.
Frédéric.
Il y a bien m/cluster qui semble faire ce que tu cherches :
Certains hébergeurs le proposent en option sur leurs serveurs dédicacés
(j'en ai vu à +/- 125 EURO par serveur (et par mois)
Merci, ca ressemble fortement à ce que je cherche, dommage qu'il n'y ai
encore rien en opensource. Maintenant j'attend qu'ils veuillent bien
valider mon compte pour pouvoir télécharger la version démo.
Certains hébergeurs le proposent en option sur leurs serveurs dédicacés (j'en ai vu à +/- 125 EURO par serveur (et par mois)
Merci, ca ressemble fortement à ce que je cherche, dommage qu'il n'y ai encore rien en opensource. Maintenant j'attend qu'ils veuillent bien valider mon compte pour pouvoir télécharger la version démo.