Réduire activité SQL (Hebergement mutualisé.)

WRInaute discret
Bonjour a tous,

j'ai récu il y'a quelque temps un mail de 1and1 :

Notre service de surveillance réseau nous informe que votre base MySQL
est à l'origine de lenteurs sur notre serveur MySQL mutualisé.

db171204736

Une telle consommation ne peut être acceptée sur un hébergement
mutualisé chez 1&1 Internet par respect pour les autres clients
partageant les ressources avec vous.

Nous vous demandons soit de réduire de votre activité SQL, soit
d'envisager le passage vers une offre en serveur dédié.[...]

Depuis ma base à été bloqué, je cherche donc des moyens éfficace de réduire ma consommation SQL, j'ai donc besoin de vos précieux conseils...

Merci d'avance.[/code]
 
WRInaute accro
il va falloir que tu trouves déjà quels scripts sont à l origine de ce problème, et seul toi va pouvoir le faire. après il existe des facons de reduire l activité sql avec un systeme de cache, pour ne pas avoir à chaque affichage de page à la regenerer si elle ne change pas ou peu, mais tout depend du site en question
 
WRInaute discret
Merci e-kiwi,

Mon site est un site d'abandonware http://www.abandonware-utopia.com (offline pour l'instant.) les requetes les plus éxécutées sont des liste de jeux a télécharger, il y'en a a peut pres 500 que l'on peut afficher en fonction de plusieurs critères (date ajout, année, hits...) de plus, j'affiche les résultat sur plusieurs pages, donc dés que l'utilisateur change de page la requete est rééxécutée...

Un système de cache est t-il difficile à utiliser ?

J'ai déja supprimer pas mal de requete et j'espere trouver encore des solutions afin de pouvoir tenir quelques mois avant de partir sur un serveur dédié.

Merci de vos conseils.
 
WRInaute accro
ca doit plutot etre une optimisation BDD à faire dessus :) voir combien tu as de tables, quels sont tes champs indexés, et quelles requetes tu fais
 
WRInaute accro
+1 avec e-kiwi. Optimise tes tables, mets des clés primaires aux bons endroits, et des clés d'index à des endroits stratégiques (documente toi un peu là dessus, c'est pas bien compliqué)
 
WRInaute discret
et ne pas oublier de fermer le plus rapidement possible la connexion à la base sur chaque page, ca evite notamment les erreurs "too many connections"
 
WRInaute accro
Mais augmente la consommation de cpu (tu te connecte, déconnecte, reconnecte ... C'est comme si pour aller chercher un pack d'eau, tu faisait 8 fois le trajet vers ta grande surface)
 
WRInaute discret
kazhar a dit:
Mais augmente la consommation de cpu (tu te connecte, déconnecte, reconnecte ... C'est comme si pour aller chercher un pack d'eau, tu faisait 8 fois le trajet vers ta grande surface)
c'est pas comme ca que je le pensais :)
tu te connectes et déconnectes une seule fois par page
se connecter le plus tard possible et se déconnecter le plus tôt possible.
 
WRInaute discret
jarweb.. kazhar a entierement raison.. aucun avantage a le faire de la sorte..

il vaut mieux garder la connexion ouverte.. faire des requetes bien choisies, optimisées, optimiser la base et les index, choisir les bons types.. eventuellement vider la memoire dans les scripts tres consommateurs...

puis en 2eme etape, les caches de requetes sql, les caches php et les caches html...

ca c'est mon avis.

et avant tout faire de belles requetes et c'est impressionnant ce qu'on peut y gagner.. !

et ne pas hesiter, a tedter et benchmarker pour savoir si on est sur la bonne voie ou pas
 
WRInaute accro
Si tu n'a pas un trafic enorme (par enorme, j'entends plus de 7k vu/jour), tu peut faire sans cache en optimisant au maximum la base de données.

Cette optimisation passe par ce que je disais plus haut, la mise en place de clés primaires et de clés d'index.
Et la différence se voit surtout si tu a beaucoup de données dans la base.

Une requête de sélection de données sur une table contenant environ 3 millions d'uplets prendra plus de 30 secondes si tu n'a aucune clé.
Tu descendra bien en dessous d'une seconde si tu a une clé primaire (et une clé index si tu ne fait pas la sélection en cherchant sur la clé primaire)
 
Discussions similaires
Haut