PhpMyAnnu ou Categorizor probleme codage

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par narayana, 11 Octobre 2006.

  1. narayana
    narayana WRInaute impliqué
    Inscrit:
    28 Janvier 2005
    Messages:
    727
    J'aime reçus:
    0
    Bonjour,
    J'utilise comme beaucoup d'entre nous ce script.

    Je voudrai avoir votre avis sur un point technique important.

    Je m'apercois que mon site basé sur ce script est de plus en plus lent.
    Après des recherches d'optimisations je suis tombé sur les fonctions de connection à la base de données.

    Je n'arrive pas à comprendre quelle est l'utilité de la fonction connection_BD() se trouvant dans le fichier functions.php
    En effet lorsque vous regardez le script d'un page quelquonque vous avez un peu près ceci :

    Code:
    <html>
    .....
    
    <?
    $lk = connection_DB();
    $query = ".....";
    $res = send_sql($query_clic,"....");
    mysql_close($lk);
    ?>
    
    ....
    
    <?
    $lk = connection_DB();
    $query = ".....";
    $res = send_sql($query_clic,"....");
    mysql_close($lk);
    ?>
    
    C'est à dire que nous ouvrons plusieurs fois un lien entre la BDD et le site !
    Ce qui forcément ralenti tout le script.

    Pourquoi ne pas ouvrir une fois le lien avec la BDD au début du script puis de le refermer à la fin du script ?
    Et en plus utiliser des mysq_free_result après chaque traitement..

    Bref je suis le seul à avoir remarqué cela ou je divague beaucoup en ce moment :D
     
  2. narayana
    narayana WRInaute impliqué
    Inscrit:
    28 Janvier 2005
    Messages:
    727
    J'aime reçus:
    0
    je rajoute le code de la function connection
    Code:
    function connection_BD()
    {
    	global $db_server, $db_user_login, $db_user_pass, $db_name;
    	$linkid = @mysql_connect($db_server,$db_user_login,$db_user_pass) or die ("...");
    	@mysql_select_db($db_name,$linkid) or die("...);
    	return $linkid;
    }
    
     
  3. narayana
    narayana WRInaute impliqué
    Inscrit:
    28 Janvier 2005
    Messages:
    727
    J'aime reçus:
    0
    heu je suis le seul à l'utiliser ou quoi ?
     
  4. narayana
    narayana WRInaute impliqué
    Inscrit:
    28 Janvier 2005
    Messages:
    727
    J'aime reçus:
    0
    C'est amusant ce monologue.

    Juste pour confirmer mes dires
    dans le fichier functions.php et plus précisement dans la function send sql ligne 26
    faites un test avec affichant les requetes

    Quelle joie de voir, si votre annuaire comporte de nombreuses catégories et sous catégories (ce qui est mon cas), plus de 70 requetes ! pour la page d'index... :roll:

    D'un autre côté c'est pas mal pour se rendre compte du contenu de ce type d'annuaire.

    Soit le site tourne rapidement => lancement de l'annuaire
    Soit ca rame => là y a du contenu :D
     
  5. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    Salut toi

    Plus maintenant :wink: :lol:
     
  6. marion17
    marion17 WRInaute occasionnel
    Inscrit:
    11 Novembre 2006
    Messages:
    412
    J'aime reçus:
    0
    j'aimerais bien qu'on reprenne le topic en main, ca m'interesse et d'autre aussi ;)
     
  7. Thierry Bugs
    Thierry Bugs WRInaute accro
    Inscrit:
    16 Juin 2004
    Messages:
    3 363
    J'aime reçus:
    1
    l'idee d'optimiser le script est excellente, si tu peux accélérer les demandes/réponses avec la bdd, ça m'intéresse aussi
    (peut etre meme que ça baisse aussi le nombre de hit du coup ?)
     
  8. ecocentric
    ecocentric WRInaute accro
    Inscrit:
    10 Février 2004
    Messages:
    2 653
    J'aime reçus:
    0
    Si le problème se pose uniquement pour les catégories, une mise en cache peut résoudre le problème.
     
  9. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    2 550
    J'aime reçus:
    0
    Bonjour,
    Si, ca intéresse beaucoup de monde, mais à part recoder l'engin il n'y a pas beaucoup de solutions.
    Quelques pistes :
    1 - la mise en cache évidemment,
    2 - la suppression de l'affichage du nombre de sites dans chaque catégorie [$sql_nbsites = "SELECT id FROM $T_sites WHERE activation = '1' "; et suppression du code qui s'y rapporte],
    3 - le non affichage des sous catégories sur l'index ou la suppression de la requête comme dans 2,
    4 - la fusion de haut et before et de bas et after,
    5 - l'éclatement du fichier functions.php,
    6 - suppression du système d'image de superpj.
    @+
     
  10. narayana
    narayana WRInaute impliqué
    Inscrit:
    28 Janvier 2005
    Messages:
    727
    J'aime reçus:
    0
    haha :lol:
    Pour ma part j'ai oter l'affichage du nombre de site par catégorie.
    J'ai supprimé les appels à la fonction connection BDD. Dans le fichier fonction ma première ligne ouvre la connection à la base de données et dans le fichire after je la referme.

    Mais bon ce ne sont que des petites modifications. En ce moment je suis en train de tout recoder :roll:
     
  11. tycoons
    tycoons Nouveau WRInaute
    Inscrit:
    11 Octobre 2008
    Messages:
    1
    J'aime reçus:
    0
    bonjour a tous,

    je voulais savoir si tu avais trouvez la solution pour optimiser les requetes a la bd
    :roll:
     
  12. olivier3249
    olivier3249 WRInaute passionné
    Inscrit:
    22 Octobre 2007
    Messages:
    1 081
    J'aime reçus:
    0
    Très belle remontée de topic! ;)
    Ca fait 3 ans que le sujet a été fait, peut-être que d'autre versions de phpmyannu ou categorizor sont sortis et ont résolu ces problèmes. Je dis ça mais je n'utilise pas ces outils pour faire un annuaire....
     
  13. elriri
    elriri Nouveau WRInaute
    Inscrit:
    8 Juin 2009
    Messages:
    21
    J'aime reçus:
    0
    Un bon vieux cache et là tu peux économiser énormément de ressources...
    En plus c'est plustôt simple à implenter...
     
  14. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    2 550
    J'aime reçus:
    0
    Salut,
    En fait les requêtes sont assez rapides c'est tout le PHp qui est utilisé pour l'affichage qui est incroyablement long.
    Pour le rendre plus rapide il faut l'alléger au maximum. Le seul point noir des requêtes se situe au niveau des recherches, au delà d'un certain stade la mise en place d'un moteur de recherche interne par fulltext est indispensable, mais pas évidente ;)
    @+
     
Chargement...
Similar Threads - PhpMyAnnu Categorizor probleme Forum Date
Mis en page phpmyannuaire Annuaires et moteurs 26 Juin 2007
Phpmyannuaire sans imagecreatefromjpeg() Administration d'un site Web 25 Février 2007
Annuaire style phpmyannuaire plus rapide Développement d'un site Web ou d'une appli mobile 5 Février 2007
Phpmyannuaire problemes avec url rewriting URL Rewriting et .htaccess 4 Octobre 2006
Ajouter une page par site à phpmyannu Annuaires et moteurs 18 Février 2006
mettre des sites "en vedette" dans phpmyannu ? Développement d'un site Web ou d'une appli mobile 5 Janvier 2006
Impossible de voir les catégories dans PhpMyAnnuaire Problèmes de référencement spécifiques à vos sites 5 Novembre 2005
PhpAdsNew et PHPMyAnnu, incompatibilié ? Problèmes de référencement spécifiques à vos sites 30 Octobre 2005
Quelques question sur phpmyannu Problèmes de référencement spécifiques à vos sites 3 Août 2005
Script de detection de lien retour - phpmyannu Débuter en référencement 31 Juillet 2005
phpmyannu:un titre différent pour chaque page Problèmes de référencement spécifiques à vos sites 23 Mai 2005
Rewriter un annuaire phpmyannu URL Rewriting et .htaccess 21 Mai 2005
Où télécharger PHPMyAnnu rewrité ? URL Rewriting et .htaccess 26 Avril 2005
Mail de refus sur phpMyAnnu Administration d'un site Web 10 Avril 2005
Probleme simple (je supose) dans PhpMyAnnuaire Administration d'un site Web 9 Avril 2005
URL Rewriting de phpmyannuaire URL Rewriting et .htaccess 7 Avril 2005
[Résolu] PHPmyannu, problème d'url rewriting ! URL Rewriting et .htaccess 28 Décembre 2004
Optimiser le traffic sur un annuaire phpmyannu Problèmes de référencement spécifiques à vos sites 19 Décembre 2004
besoin d'une confirmation pour phpmyannu URL Rewriting et .htaccess 12 Décembre 2004
Modification d'un PhpMyAnnuaire pour avoir des liens en dur Administration d'un site Web 24 Novembre 2004