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

PHP & Base de donn�es Discussion :

[Script]Optimisation de scripts Php/MySQL (2) [MySQL]


Sujet :

PHP & Base de donn�es

  1. #1
    Futur Membre du Club
    Inscrit en
    Ao�t 2004
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4
    Par d�faut [Script]Optimisation de scripts Php/MySQL (2)
    Bonjour �* tous,

    Je viens de lire le post it intitulé "Optimisation de scripts Php/MySQL", je voulais tout simplement dire que c'est très enrichissant. Plutot que de poluer ce topics je me permet de vous poser quelques petites questions.

    Je suis webmaster d'un site imode de discussion. Celui ci accueil maintenant 80 connectés au maximum.. mes bidouillages de débutant se ressentent très fortement. Malgré un serveur dédié, des ralentissement se font voir.. grâce au topic cité précédement j'ai réussis �* diminuer par 3 voir 4 fois le temps d'excecution de ma page principale...
    Voici mes tites questions:

    (*) J'utilise sur une page plusieurs requêtes sql je me demandais si la fonction suivante pouvait vraiment se ressentir sur la vitesse d'éxecution.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mysql_free_result($result);
    (*) Je viens de lire le principe de connection persistante avec pconnect est ce que cela vaut la peine d'être utilisé pour un tel site? Pour le moment j'ouvre et je me connecte �* la base mysql sur toutes les pages du site.

    (*) Ma page index.php est la plus demandée. l'utilisateurs peut se rendre sur une autre page (par exemple la liste des connectés) en utilisant toujours la page index.php de cette manière index.php?act=listedesconnecte . Dans la source d'index.php je test la valeur de la variable act et ensuite j'inclus le code demandé.
    Est - ce que ce genre de pratique est grossière ou cela ne ralenti pas le temps d'exécution?

    (*) Comme je disais le site est orienté téléphone mobile. Cela oblige de traiter les jeux de caractères en iso et en utf-8. Pour le moment je réalise toute une série d'instruction via ereg_replace() pour transformer le code en caractères spécial html
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     par exemple:
     é --> é
    Cependant j'ai lu que les ereg_replace prennent pas mal de temps �* exécuter. Malgré mais recherches je ne suis jamais abouti �* quelque chose de mieux que ca.. Existe t'il une autre solution?


    (*) J'ai programmé un système de messagerie privée. Celui ci dans une table de se type.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    id  int  primary key auto_increment,
    id_emmetteur int,
    id_recepteur int,
    message text,
    vu int
    Le champ id_emmetteur reprends l'identifant se référant �* l'emmeteur du message..
    vu est un indicateur pour savoir si le message est lu ou pas.. (O ou 1)

    Chaque chargement de page je test pour savoir si l'utilisateur possède un mesage privé..

    ce test est du genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    SELECT id FROM messages WHERE id_recepteur = $monid AND vu = 0;
    Les utilisateurs parlant beaucoup la table grandit �* une vitesse grand V. Je trouve le test barbare de devoir lire toutes la table. Y a t'il un autre moyen de procéder? Est - ce que pour vous cela semble être grossier mais convenir tout de même?




    Je vous remmercie pour avoir prit la peine d'avoir lu toutes les questions
    Au plaisir de vous lire.


    P.S. Toutes autres idées d'optimisations sont les bienvenues...

  2. #2
    Expert confirm�
    Avatar de Swo�g
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par d�faut Re: Optimisation de scripts Php/MySQL (2)
    Salut et bienvenue sur le forum de developpez.com


    Tout d'abord, si tu pouvais encoder tes texte en ISO, et non en UTF-8, �a aiderait la compr�hension, merci d'Avance

    Ensuite :
    Citation Envoy� par copy
    (*) J'utilise sur une page plusieurs requêtes sql je me demandais si la fonction suivante pouvait vraiment se ressentir sur la vitesse d'éxecution.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mysql_free_result($result);
    mysql_free_result n'intervient pas au niveau de a vitesse d'ex�cution, mais de la m�moire utilisi�e

    Citation Envoy� par copy
    (*) Comme je disais le site est orienté téléphone mobile. Cela oblige de traiter les jeux de caractères en iso et en utf-8. Pour le moment je réalise toute une série d'instruction via ereg_replace() pour transformer le code en caractères spécial html
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     par exemple:
     é --> é
    Cependant j'ai lu que les ereg_replace prennent pas mal de temps � exécuter. Malgré mais recherches je ne suis jamais abouti � quelque chose de mieux que ca.. Existe t'il une autre solution?
    Il existe les fonctions htmlentities et htmlspecialchars qui font ce travail en natif : http://fr.php.net/htmlentities et http://fr.php.net/htmlspecialchars

    Citation Envoy� par copy
    (*) J'ai programmé un système de messagerie privée. Celui ci dans une table de se type.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    id  int  primary key auto_increment,
    id_emmetteur int,
    id_recepteur int,
    message text,
    vu int
    Le champ id_emmetteur reprends l'identifant se référant � l'emmeteur du message..
    vu est un indicateur pour savoir si le message est lu ou pas.. (O ou 1)

    Chaque chargement de page je test pour savoir si l'utilisateur possède un mesage privé..

    ce test est du genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    SELECT id FROM messages WHERE id_recepteur = $monid AND vu = 0;
    Les utilisateurs parlant beaucoup la table grandit � une vitesse grand V. Je trouve le test barbare de devoir lire toutes la table. Y a t'il un autre moyen de procéder? Est - ce que pour vous cela semble être grossier mais convenir tout de même?
    Comme optimisation de la requ�te, je ne vois pas trop quoi te proposer, par contre, mettre un index sur vu te permettra peut-�tre d'acc�lerrer sensiblement la vitesse d'ex�cution de la requ�te si celle-ci est franchement lente...

    Voil�, J'esp�re que je n'ai pas dis trop de b�tises, et que ceci pourra t'aider !
    R�dacteur "�clectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les R�gles du Forum - Mon Site Web sur DVP.com (D�veloppement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne r�pondrai � aucune question technique via MP, MSN ou Skype : les Forums sont l� pour �a !!! Merci de me demander avant de m'ajouter � vos contacts sinon je bloque !
    pensez � la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Futur Membre du Club
    Inscrit en
    Ao�t 2004
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4
    Par d�faut
    Bonjour Swog,

    Merci pour ton accueil sur le forum.. Désolé pour le format de codage, je me connecte via mon gsm (connection GPRS).. arf..
    Ca fait plaisir de voir que même phpbb n'a pas pensé aux différents codage.. lol


    copy a �crit:
    (*) J'utilise sur une page plusieurs requêtes sql je me demandais si la fonction suivante pouvait vraiment se ressentir sur la vitesse d'éxecution.

    Code:
    mysql_free_result($result);

    mysql_free_result n'intervient pas au niveau de a vitesse d'ex�cution, mais de la m�moire utilisi�e
    Oui c'est vrai, je n'ai pas beaucoup réflechis.. lol.. mais est ce utile de réaliser cela? après exécution du script php le fait lui même?

    Il existe les fonctions htmlentities et htmlspecialchars qui font ce travail en natif : http://fr.php.net/htmlentities et http://fr.php.net/htmlspecialchars
    Merci, je vais encore bien y regarder, parce que je n'y étais pas arrivé lors de mes tests précédents..


    Merci pour toutes tes réponses.


    P.S. Si tu savais aussi me dire si la connection persistante est interressante tu serais au top
    A bientôt

  4. #4
    Expert confirm�
    Avatar de Swo�g
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par d�faut
    Pour le mysql_free_result :
    mysql_free_result() n'est � appeler que si vous avez peur d'utiliser trop de m�moire durant l'ex�cution de votre script.
    donc, pas de pbs tu as ta r�ponse

    Pour la connection persistante, je ne l'utilise pas personnellement, mais je pense que c'est comme mysql_free_result : si tu utilises mysql_free_result, c'est que tu souhaites �conomiser de la m�moire, donc dans ce cas, tu refermes tes connexions entre chaque pages, sinon, tu privil�gie la vitesse, donc tu laisses la connexion ouverte, c'est d�j� �a de gagn�

    pour htmlentities et htmlspecialchars, je les utilises de mani�re r�guli�re et je n'ai jamais rencontr� de probl�me, l'utilisation est des plus basiques :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $texte = htmlentities($texte);
    fais voir comment tu les utilisent si tu recontres quelques difficult�es
    R�dacteur "�clectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les R�gles du Forum - Mon Site Web sur DVP.com (D�veloppement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne r�pondrai � aucune question technique via MP, MSN ou Skype : les Forums sont l� pour �a !!! Merci de me demander avant de m'ajouter � vos contacts sinon je bloque !
    pensez � la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Futur Membre du Club
    Inscrit en
    Ao�t 2004
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4
    Par d�faut
    Merci beaucoup, quelques jours pour que je retrouve un accès adsl et donc accès au serveur.

    Ensuite je fais mes tests et je te tiens informé en bien ou en mal.. lol..

    Si tu avais quelques références �* me fournir pour l'optimisation de script je suis tout acheteur..

    bonne soirée

  6. #6
    Expert confirm�
    Avatar de Swo�g
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par d�faut
    Pour l'optimisation, � part le topic que tu as vu, non, d�sol�...


    Au fait, pour le r�solu, utilise plut�t le bouton en bas � gauche (je pense qu'il est accessible via GSM) il ressemble � ceci : Merci !
    R�dacteur "�clectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les R�gles du Forum - Mon Site Web sur DVP.com (D�veloppement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne r�pondrai � aucune question technique via MP, MSN ou Skype : les Forums sont l� pour �a !!! Merci de me demander avant de m'ajouter � vos contacts sinon je bloque !
    pensez � la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  7. #7
    Futur Membre du Club
    Inscrit en
    Ao�t 2004
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4
    Par d�faut
    Voila qui est plus simple.. lol..

    T'inquiète je ne suis pas maso, je ne viens pas avec mon gsm.. mais j'utilise mon gsm comme modem..

    Merci

  8. #8
    Expert confirm�
    Avatar de Swo�g
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par d�faut
    OK
    R�dacteur "�clectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les R�gles du Forum - Mon Site Web sur DVP.com (D�veloppement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne r�pondrai � aucune question technique via MP, MSN ou Skype : les Forums sont l� pour �a !!! Merci de me demander avant de m'ajouter � vos contacts sinon je bloque !
    pensez � la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  9. #9
    Membre �clair�
    Avatar de iubito
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Par d�faut
    pour le htmlentities()...

    Si tu manipules des cha�nes en UTF-8, une fonction peut vraiment t'aider pour transformer tous les caract�res UTF8 en & # xxx ; afin d'�tre affich�s dans n'importe quel navigateur.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    /** 
     * takes a string of utf-8 encoded characters and converts it to a string of unicode entities 
     * each unicode entitiy has the form &#nnnnn; n={0..9} and can be displayed by utf-8 supporting 
     * browsers 
     * @param string $source Encoded using UTF-8 
     * @return string String of unicode entities 
     * @see http://www.php.net/utf8_decode 
     * @see http://www.randomchaos.com/document.php?source=php_and_unicode 
     * @author http://iubito.free.fr ;)
     */ 
    function utf8entities($str) 
    { 
     //utf8 to unicode 
     $unicode = array();    
     $values = array(); 
     $lookingFor = 1; 
     $len = strlen($str); 
     for ($i = 0; $i < $len; $i++ ) 
     { 
      $thisValue = ord($str[$i]); 
      if ($thisValue < 128) 
       $unicode[] = $thisValue; 
      else 
      { 
       if (count($values) == 0) 
        $lookingFor = ($thisValue < 224)?2:3; 
       $values[] = $thisValue; 
       if (count($values) == $lookingFor) 
       { 
        $number = ($lookingFor == 3) 
         ?(($values[0]%16)*4096) + (($values[1]%64)*64) + ($values[2]% 64) 
         :(($values[0]%32)*64) + ($values[1]%64); 
        $unicode[] = $number; 
        $values = array(); 
        $lookingFor = 1; 
       } // if 
      } // if 
     } // for 
     
     $entities = ''; 
     foreach($unicode as $value) 
      $entities .= $value<128 ? chr($value) : ('&#'.$value.';'); 
     return $entities; 
    }
    Je t'envoie un petit mp pour que tu me fasse un test � partir de ton GSM

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [MySQL] Optimisation de scripts PHP/MySQL
    Par DgG dans le forum PHP & Base de donn�es
    R�ponses: 368
    Dernier message: 20/11/2013, 18h59
  2. [eCommerce] Un script de e-commerce en PHP/MySQL ?
    Par Anne1969 dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 6
    Dernier message: 16/03/2006, 11h07
  3. [MySQL] [SGBD] Script PHP/MYSQL d'access FTP
    Par ChRom dans le forum PHP & Base de donn�es
    R�ponses: 1
    Dernier message: 09/01/2006, 01h52
  4. R�ponses: 9
    Dernier message: 05/01/2006, 12h24
  5. Recherche Login Script PHP & MySQL
    Par whbh dans le forum SQL Proc�dural
    R�ponses: 9
    Dernier message: 01/12/2005, 16h45

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