IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Mysql mise en cache [Fait]


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Par défaut Mysql mise en cache
    Bonjour, j'ai une question urgente et je m'en remets a vous.

    Nous possédons une base de donnée contenant énormément de table. La BDD est installé sur une machine xénon, 2gb, très puissante et toutes les requetes SQL n'utilisent que 200 mb de mémoires alors que nous disposons de 2 gb.

    Ma question est la suivante :

    Est il possible de précharger toutes les tables en cache pour réduire le temps de réponse des requetes ? Si oui, Comment ?

    Merci beaucoup de votre aide.

    Cordialement, Nico

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 390
    Par défaut
    Est il possible de précharger toutes les tables en cache pour réduire le temps de réponse des requetes ? Si oui, Comment ?
    ==> je ne vois pas vraiment l'interet. cependant je te conseille la lecture de cet article qui te donneront les premières pistes pour améliorer les performances de ton serveur.

    Les deux variables importantes sont query_cache_size et key_buffer_size.

    query_cache_size permets d'allouer une quantité de mémoire en RAM commune à tous les threads pour le résultat des requetes. Trés pratique si tes requetes récurentes. Il est recommande de ne pas aller au dela de 24% de la ram totale.

    key_buffer_size permets d'allouer une quantité de mémoire en RAM commune à tous les threads pour les clés.


    Le lien etat du serveur dans phpmyadmin te donne également quelques indications sommaires.

  3. #3
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    Il faudrait préciser de quel(s) cache(s) on parle.

    Avec MyIsam c'est celui de l'OS ainsi que les caches de requêtes et d'indexes comme mentionnés par overider. Le plus intéressant serait peut-être de lancer les requêtes qui vont revenir pour que le query cache ne soit pas vide.

    Avec InnoDb on a un vrai cache des données donc s'il n'y a que 200Mo de données il est possible de mettre innodb_buffer_pool_size à une taille respectable (genre 300 mais avec 2Go de mémoire il devrait pouvoir trainer du côté du Go). Après pour préchauffer le cache on peut faire des "SELECT *" sur toutes les tables. Pour éviter de récupérer toutes les données j'avais aussi vu une astuce consistant à créer des tables identiques aux tables d'origine mais avec le moteur BLACKHOLE et faire des "SELECT * [...] INTO". Comme ça pas besoin de transporter les données pour les précharger.

    Cela dit le cache doit se remplir de lui même petit à petit, donc je ne sais pas si se fatiguer à chauffer le serveur est rentable.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment mysql gère la mise en cache?
    Par dubble dans le forum Administration
    Réponses: 4
    Dernier message: 06/06/2008, 17h12
  2. [C#] [MySQL] Mise à jour de la base de donnée
    Par dev01 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 01/08/2007, 09h15
  3. Empêcher la mise en cache des images
    Par oranoutan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/02/2006, 11h49
  4. [vb][ado][mysql] mise à jour d'un recordset
    Par hi_vivie dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 14/12/2005, 16h34
  5. mise en cache du navigateur
    Par littleqi dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2005, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo