Appréciation du bon nombre de requetes mysql ...

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Zecat, 10 Mai 2011.

  1. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Comme c'est mon premier site avec Mysql, je manque un peu de points de repère sur le bon ou mauvais usage des requêtes mysql sur chaque page ... J'ai donc mis en place un petit compteur (mis a 0 en init session donc en tout debut de page) et avec +1 a chaque requête mysql executée.

    Le verdict sur les pages les plus importantes :

    Page home du site : 6 (+ 1 optionnelle)
    Page home du forum (liste des forums) : 5 (+ 1 optionnelle)
    Page liste des topics : 2 (+ 1 optionnelle)
    Page liste des messages : 3 (+ 1 optionnelle)

    J'ai traqué tout ce que j'ai pu en travaillant au maximum en "array processing" mais là je dois pas être loin du mini (peut etre 1 requete a gratter sur chaque page home au mieux).

    Ca vous inspire quoi ? Honnête ou 6 et 5 c'est trop ?

    Note : le +1 optionnelle c'est une requete liée au suivi de "qui est en ligne" et elle est optionnelle parce que déclenchée avec un temps de latence de 15 s pour alléger ... En gros, je signale l'arrivée d'un nouveau visteur immediatement à la bdd mais je ne confirme à la bdd la présence d'un visiteur que toutes les 15 secondes (même si il affiche 4 pages durant ces 15 secondes).
     
  2. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 357
    J'aime reçus:
    2
    Ca peut être énorme comme très très peu. Tout dépend des pages. Perso je sais que je suis très largement au dessus de ça pour les pages qui ne sont pas en cache
     
  3. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Oublie pas que certaines requêtes ne seront exécutées qu'une fois tous les X temps car tu peux créer un cache à la première exécution puis n'afficher que le cache partout !

    cf : le topic de fandecine qui est pas mal pour débuter :). Sinon le nombre de requêtes est bon, après faut voir la complexité et rapidité d'execution. Si tu peux augmenter le nombre de requête et diminuer la charge c'est mieux ^^. Nombreux sont les cas où une grosse requête avec table temporaire et tout le brol est bien moins efficace que 2 requêtes (+le reste en php)!

    Fais aussi des benchmarks en + du nombre de requêtes par page,tu affiches le temps total que ta page a mis pour être générée (et pas affichée) histoire de comparer.
     
  4. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    1 - La on parle de page pas en cache bien sur ...

    2 - Ce ne sont que des requetes ultra simples (un champ = une valeur) ou (un champs timestamp > une valeur) et qui retournent à chaque fois un seul champs "datas". Aucun truc lourd style jointure etc etc. Bon je vais coller un microtimedeb et fin pour mesurer aussi le temps ...

    3 - sur la différence entre une grosse et n petites, c'est deja fait et j'ai comparé entre :

    - 6 petites requetes (champs = aaabbb) puis (champs = aaaccc) etc etc et
    - une seul (champ = aaa%) et derriere un foreach et switch pour eclater dans 6 tableaux

    et c'est la seconde formule qui gagne dans mon cas. Pas mesuré unitairement mais constaté sur la mesure globale de la page.
     
  5. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Bon finalement j'ai gratouillé un peu et réussi a regrouper des trucs et ca donne :

    Page home du site : 4
    Page home du forum (liste des forums) : 3 (*)
    Page liste des topics : 2
    Page liste des messages : 3

    Plus la +1 optionnelle. Là je crois que je suis au max coté grattage :mrgreen:

    (*)
    Une requete pour chopper la liste des forums
    Une requete pour chopper la liste des derniers topics
    Une requete pour chopper les stats du bloc "qui est en ligne"
     
  6. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    à terme, il ne doit y avoir aucune requête en partie publique. seule une requête déférée en ajax peut compter les hits. tout le reste doit être généré. le site doit s'afficher sans erreur, même en cas de BDD hors service.
    avant d'y arriver, il faut juste que le site tienne et soit fluide. dès que cela ralenti, il faut mettre en cache petit à petit. mais pas de nombre précis (une requête peut prendre 0.001s comme 10s)
     
  7. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    OUi oui maintenant que coté nombre je suis au plancher, je vais aller coller des micro time pour mesurer le temps précis pris par les requetes ... histoire d'y voir bien clair et effectivement ensuite la gestion du cache (ne serait ce que pour être solide meme si bdd out un moment).
     
  8. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Le point important c'est surtout que toutes tes requêtes soient correctement optimisées (i.e. utilisent un index adapté).

    Jacques.
     
  9. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Petite question à 10 balles kiwi ...

    Pour un forum, la mise en cache ne devrait concerner que les visiteurs non membres (et les bots) puisque si visiteurs inscrits, chacun a une visibilité spécifique en fonction de ses préférences d'une part mais aussi de ses autorisations (par exemple des boutons de gestion qui varient par définition comme le bouton editer d'un topic etc) ?

    Donc ca limite sérieusement l'aspect "ok meme si bdd out" ou j'ai sauté une marche ?
     
  10. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    lors de l'identification, toutes ses infos sont mis en session, donc une requête au moment de l'identification, puis basta :)
     
  11. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 357
    J'aime reçus:
    2
    Y'a toujours la possibilité de bloquer l'accès membre pendant que la base de données a sauté
     
  12. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    index adapaté ?

    - Index je vois
    - C'est le "adapté" ou je pige pas ce que tu veux dire ...

    Mon cas classique c'est :

    cle : alpha 6 indexé
    datas : texte

    et ma recherche c'est cle like "toto". Bref du basique de chez basique. Dans d'autres cas, la cle sera un timestamp mais sinon ensuite idem.
     
  13. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Nous sommes d'accord ... :wink: Et finalement apres analyse, dans le cas d'un forum, la mise en cache ne concerne que les pages "topic" ... en effet toutes les autres sont tellement mouvantes (ne serait-ce que les colonnes nombres et derniers messages) que la durée de vie effective du cache sera ridicule et on passerait plus de temps a mettre a jour le cache qu'a l'exploiter :roll: Sauf a accepter d'afficher une info fausse durant un certains laps de temps :roll:
     
  14. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 357
    J'aime reçus:
    2
    pour le index adapté, c'est que l'index n'est pas forcément que sur le numéro d'id mais surtout sur les champs où sont faits les recherches. Si tu cherches par nombre de posts par exemple, indexer le champ : Nombre de posts sera plus utile que d'indexer l'id unique de chaque membre. Exemple.
     
  15. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Note aussi que le cache des topics ne doit avoir aucune limite d'expiration. Il sera juste renouvelé quand il y aura une modification dans le topic.
     
  16. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Ca me parait une evidence ... pour moi recherche sur champ implique champs indexé ... c'était le mot adapté ou je tiltais (pensant que ca sous entendait que l'on pouvait/devait générer des index selon des paramètrages différents comme c'ets le cas dans certaines bdd (avec des index priorité recherche, priorité update, priorité ajouts etc qui sont organisés en conséquence avec des filler et zone overflow plus ou moins nombreuses ...).)
     
  17. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Oui bien sûr ... ou dans la date $last_modif_page (une variable chargée en debut de page et qui dit : "je viens de modifier cette page (le script)" (donc le cache est obsolète) :wink:
     
Chargement...
Similar Threads - Appréciation nombre requetes Forum Date
Appréciation du nombre de passage/visiteur par Google Référencement Google 24 Juin 2010
CookieBot => appréciation fausse. Référencement Google 16 Octobre 2021
Demande d'appréciation et d'aide Demandes d'avis et de conseils sur vos sites 27 Janvier 2009
Votre appréciation Demandes d'avis et de conseils sur vos sites 30 Janvier 2007
J'expose mon site à vos appréciation Demandes d'avis et de conseils sur vos sites 31 Octobre 2006
Appréciation in concreto de la popularité d'un site Débuter en référencement 3 Août 2006
Appreciations sur des entreprises, diffamation? Administration d'un site Web 1 Février 2006
SEO : nombre de caractères max sur une page ? Rédaction web et référencement 28 Juillet 2022
WordPress Gérer de nombreuses pages sur Wordpress (structure en silo) Développement d'un site Web ou d'une appli mobile 15 Janvier 2022
Connaitre le nombre de visiteurs uniques Google Analytics 11 Décembre 2021
Astuce Nombre de caractères optimale pour nom de de domaine Référencement Google 18 Novembre 2021
Grand nombre d'URL non désirées site web Problèmes de référencement spécifiques à vos sites 11 Juin 2021
Est-il possible d'estimer le nombre de truviews sur youtube ads ? AdWords 6 Juin 2021
Nombre de mots maximum ? Débuter en référencement 20 Mai 2021
Nombre de résultats dans l'index primaire Crawl et indexation Google, sitemaps 17 Mai 2021
Search Console Nombre de pages indexées différent sur la commande "site:" Débuter en référencement 15 Avril 2021
Référencement d'une galerie contenant de nombreuses photos YouTube, Google Images et Google Maps 16 Janvier 2021
Limitation du nombre d'annonces (trafic incorrect AdSense) AdSense 8 Décembre 2020
Mon nombre de prospects ne génère pas suffisamment de ventes / conversion AdWords 19 Novembre 2020
Search Console Forte hausse du nombre de redirections Problèmes de référencement spécifiques à vos sites 23 Octobre 2020