Optimisation MySQL

Discussion dans 'Administration d'un site Web' créé par XoSt, 17 Avril 2004.

  1. XoSt
    XoSt WRInaute passionné
    Inscrit:
    6 Octobre 2003
    Messages:
    2 196
    J'aime reçus:
    0
    Bonjour,

    Je suis entrain de faire mon nouveau site depuis maintenent 4 mois, et sur certains scripts, les requêtes SQL risquent d'être vraiment trop nombreuses, je voudrais donc optmiser les scripts avant de tout mettre en ligne :

    Le script qui consomera beaucoup : Un service de Top-Sites gratuits avec beaucoup de requêtes à chaque affichage.

    - J'aimerais utiliser un système qui ne mettra pas à jour le top à chaque connexion, c'est-à-dire, pas de requêtes inutiles toutes les 5 secondes.

    - J'aimerais par exemple que toutes les 30 min un fichier soit crée pour chaque Top-Sites et qu'il s'affiche sans requetes SQL, et que 30 min plus tard, le fichier soit mis à jour avec MySQL, et pour les votes des tops qu'ils s'inscrivent dans un fichier par exemple et que la base soit mis à jour, ca évitera les requêtes excessives pour rein.

    Voilà, je vous remercie de m'aidé, parce que j'ai aucune idée de comment faire tout ca.
     
  2. kasar
    kasar WRInaute discret
    Inscrit:
    2 Mars 2004
    Messages:
    77
    J'aime reçus:
    0
    Un gestion de cache peut-etre ?

    Gère un cache HTML pour tes pages, tu auras un bon nommage des fichiers et tu peux régler la fréquence de mise à jour (Voir h**p://pear.php.net/)
     
  3. XoSt
    XoSt WRInaute passionné
    Inscrit:
    6 Octobre 2003
    Messages:
    2 196
    J'aime reçus:
    0
    Merci, mais quelqu'un qui n'est pas encore venu sur mon site il vera le cache ou pas ?
     
  4. kasar
    kasar WRInaute discret
    Inscrit:
    2 Mars 2004
    Messages:
    77
    J'aime reçus:
    0
    les pages en cache

    sont à considérer comme la version courante de ton site. A toi de définir les règles de mise à jour pour que les modifications soient prises en compte avec le délai le plus faible pour offrir à ton visiteur une version la plus à jour possible.

    un bon système de cache garantit un équilibre fraicheur de l'info/pages statiques rapides à charger.

    mais bon comme c'est complexe si tu n'es pas pointu en php, essaie d'abord de considérer tes flux d'infos, afin de minimiser les traitements, en filtrant au max les update à faire.
     
  5. XoSt
    XoSt WRInaute passionné
    Inscrit:
    6 Octobre 2003
    Messages:
    2 196
    J'aime reçus:
    0
    Je voudrais faire comme ca :

    On entre sur le top sites > le vote de l'internaute direction un fichier sur le ftp un fichier par top-sites
    Pour afficher le top > chaque top aura un fichier html généré automatiquement à partir de la base
    la base mysql sera mis à jour toutes les 30 min

    Vous voyez comment faire ? c'est mieux d'avoir beaucoup d'accès au disque ? ou à la base ?

    Merci.
     
  6. kasar
    kasar WRInaute discret
    Inscrit:
    2 Mars 2004
    Messages:
    77
    J'aime reçus:
    0
    Optimisation php

    Je pense que le mieux c'est de servir du HTML (processeur peu sollicité, système fait pour ça).
    Tout dépend de ta fréquentation. Si tu as 250 visiteurs simultanés, sers du HTML, et réseve les recalculs pour les heures creuses si ce la est possible.
    Ton appli doit être très paramétrable si tu n'as pas d'a priori sur le trafic
     
  7. XoSt
    XoSt WRInaute passionné
    Inscrit:
    6 Octobre 2003
    Messages:
    2 196
    J'aime reçus:
    0
    Donc mon idée est bonne ? mais pour les votes (chaque visite du top est sencé etre un vote) il faut utiliser le php meme pour écrire dans un fichier, ca risque pas de faire de grosses surcharges s'il y à des centaines de tops très visités ?
     
  8. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    tu peux avoir un fichier votes_en_attente.txt dans lequel tu ajoute une ligne à chaque vote
    ex :

    site-note

    ce qui peut donner :
    site1.com-2
    site2.com-1
    etc....

    toutes les 30 minutes,tu parcours le fichier et tu mets a jour la base.

    *******

    pour chaque site tt peux mettre un fichier à jour toute les 30 minutes par exemple via la base en testant la date de derniere modif du fichier :

    if (time()>@filemtime($file)+$delai_de_mise_a_jour) {
    ..... }
     
  9. XoSt
    XoSt WRInaute passionné
    Inscrit:
    6 Octobre 2003
    Messages:
    2 196
    J'aime reçus:
    0
    Un mec ma dit ca sur phpfrance :

    tu risque plutot de faire une double charge pour le serveur

    a chaque visite de ta page = une requete en bd + une requette en fichier + un calcule sur les deux + une mise a jour toute les 30 mn de la bd+une mise a jour du fichier


    une visite=une requete en bd + une mise a jour de la bd (elle est deja ouverte)
    ca me semble plus court non ?
     
  10. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    a chaque visite : 1 mise a jour fichier (vote)
    tt les 30 minutes : 1 mise à jour BD + 1 raz fichier (vote) + n mise à jour fichiers top-sites

    non ?
     
  11. kasar
    kasar WRInaute discret
    Inscrit:
    2 Mars 2004
    Messages:
    77
    J'aime reçus:
    0
    Benchmark

    Salut,
    Difficile de trancher sans plus d'infos. Utilise une classe Benchmark (pear.php.net) pour évaluer la rapidité.
    D'accord avec l'idée de profiter d'une cnx ouverte sur la DB pour faire les traitements nécessaires. Mais bon, considère que tu mettras ton serveur à genoux si tu as un traitement assez énorme, sinon ça tient la charge en général. Par exemple, j'utilise un formulaire qui peut ramener au max 515 lignes de 8 champs dans un de mes sites. C'est sur un héberg mutualisé standard et ça passe en 0.156 secondes en moyenne.

    Voilà pour mon expérience, je ne sais pas si ça t'aide à avancer.
     
  12. XoSt
    XoSt WRInaute passionné
    Inscrit:
    6 Octobre 2003
    Messages:
    2 196
    J'aime reçus:
    0
    Il y à une connexion à la BD à chaque visite pour voir si les 30 min sont passé ou pas...
     
  13. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    Absolument pas car la fonction php filemtime($file) récupère la date de derniere modif d'un fichier.

    tu peux faire, comme je disais plus haut :
    Code:
    if (time()>@filemtime($file)+$delai_de_mise_a_jour) { 
    ..... }
    comprendo ?
     
  14. XoSt
    XoSt WRInaute passionné
    Inscrit:
    6 Octobre 2003
    Messages:
    2 196
    J'aime reçus:
    0
    ok, merci ;)
     
  15. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
Chargement...
Similar Threads - Optimisation MySQL Forum Date
Problème optimisation d'un count() : Mysql Développement d'un site Web ou d'une appli mobile 15 Février 2014
Optimisation recherche sur grosse table mysql Développement d'un site Web ou d'une appli mobile 30 Mars 2013
optimisation bdd mysql Développement d'un site Web ou d'une appli mobile 7 Mars 2013
Optimisation Mysql Administration d'un site Web 23 Mai 2012
Optimisation d'un tri Mysql Développement d'un site Web ou d'une appli mobile 23 Juillet 2011
Problématique optimisation accès bdd mysql ... Développement d'un site Web ou d'une appli mobile 8 Mai 2011
Optimisation MySQL - Debian 5 Administration d'un site Web 16 Octobre 2010
optimisation site web / mysql Développement d'un site Web ou d'une appli mobile 31 Juillet 2010
Mysql optimisation index/requêtes. Développement d'un site Web ou d'une appli mobile 14 Avril 2009
[PHP/MySQL] Optimisation multiples requêtes Développement d'un site Web ou d'une appli mobile 24 Juin 2008
[MYSQL] Pb de requête + optimisation structure table Développement d'un site Web ou d'une appli mobile 18 Janvier 2008
[optimisation] mysql connect close Développement d'un site Web ou d'une appli mobile 26 Décembre 2007
Optimisation site : accès mysql ou include ? Développement d'un site Web ou d'une appli mobile 23 Septembre 2007
[optimisation Mysql] Fermer ou pas les connexions distantes Développement d'un site Web ou d'une appli mobile 3 Août 2007
Optimisation mysql et LIMIT Développement d'un site Web ou d'une appli mobile 2 Mars 2007
Optimisation php/mysql Développement d'un site Web ou d'une appli mobile 8 Octobre 2006
Optimisation requêtes mysql Développement d'un site Web ou d'une appli mobile 23 Mars 2006
optimisation BDD Mysql Développement d'un site Web ou d'une appli mobile 27 Août 2005
[resolu]Mysql - optimisation Développement d'un site Web ou d'une appli mobile 4 Août 2005
Optimisation requetes MySQL Administration d'un site Web 1 Mars 2005