Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
695 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Méthode de Connexion MySQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Méthode de Connexion MySQL

n°1483856
egraphiks
Posté le 29-11-2006 à 17:01:38  profilanswer
 

Bonjour,
 
Je travail actuellement sur un site internet à fort traffic.
J'aimerai avoir votre opinion expert de préférence sur la meilleure méthode d'ouvrir et fermer les connexion à mysql avec php.
 
méthode 1:
on ouvre une connexion en début de script
requete1
requete2
requete3
requete4
requete5
on ferme la connexion
pendant le déroulement évidement on fait des traitements et affichage html.
 
méthode 2:
on ouvre une connexion
requete1
on ferme la connexion
on ouvre une connexion
requete2
on ferme la connexion
on ouvre une connexion
requete3
on ferme la connexion
on ouvre une connexion
requete4
on ferme la connexion
on ouvre une connexion
requete5
on ferme la connexion
idem
 
- la méthode 1 parait plus propre mais si la page est longue à charger sa bloque la connexion
- la méthode 2 a le mérite de prendre la connexion uniquement le temps de la requete

 
A votre avis quelle est la bonne méthode pour un gros site ?
 
Merci
 
 
 

mood
Publicité
Posté le 29-11-2006 à 17:01:38  profilanswer
 

n°1483866
MS-DOS_199​1
www.newbie-project.net
Posté le 29-11-2006 à 17:13:23  profilanswer
 

Salut :)
 
La méthode 1 est à beaucoup plus rapide car tu n'ouvre pas de connexion à chaque requête...
 
Même (et surtout) dans le cas de sites à fort traffic, il vaut mieux ouvrir sa connexion en début de script et la refermer à la fin (par contre, tu peux libérer de la mémoire en vidant les résultats de tes requêtes avec la méthode free de ton objet $result ;))


---------------
Viendez sur le Newbie-Project et essayez le Newbie-Directory (nouveau)
n°1483874
egraphiks
Posté le 29-11-2006 à 17:27:05  profilanswer
 

Merci pour ta réponse rapide.
 
Je ne suis pas convaincu car dans les docs j'ai lu que le nombre de connexion simultané était limité.
ici max_user_connexion=5.
 
Comment 10.000 visiteurs peuvent n'utiliser à eux tous que 5 connexion avec des pages de 60Ko si on bloque une connexion à chaque ouverture de page ?
 
Pour le temps d'execution en revanche tu as raison car la fonction mysql_connect prend un certain temps mais pour éviter le max connexion quand est il ?

n°1483881
rufo
Pas me confondre avec Lycos!
Posté le 29-11-2006 à 17:49:02  profilanswer
 

Si tes scripts php sont bien faits, leur durée d'exécution est courte (< 1s). Par ailleurs, le temps mis pour ouvrir une connexion à une BD n'est pas négligeable. Donc, sans conteste, la meilleure solution est la méthode 1.
 
J'avais fait un test (malgré moi) avec une connexion stockée dans un singleton en php5. Avec la méthode 1, tout va bien, le script php met peu de temps à s'exécuter. En portant mon script sur un serveur en php4 (dans ce cas, mon singleton ne fonctionne plus car static n'existe pas en php4). Dans ce cas là, je me trouve dans la méthode 2 : ouvrir la connexion avant chaque requête. Ben y'a pas photo, dans ce cas là, le script met vraiment plsu de temps à s'exécuter.
 
Pour le coup de max_user_connexion=5, y'a moyen de le changer si t'as accès au fichier de conf de mysql (my.ini il me semble)

n°1483884
FlorentG
Unité de Masse
Posté le 29-11-2006 à 17:52:51  profilanswer
 

rufo a écrit :

En portant mon script sur un serveur en php4 (dans ce cas, mon singleton ne fonctionne plus car static n'existe pas en php4).


Pouet, on peut émuler du singleton en PHP4. static existe, mais n'est pas explicite

n°1483885
egraphiks
Posté le 29-11-2006 à 17:56:01  profilanswer
 

Je ne peux changer cette variable mais 5 semble correct sinon c'est que c'est mal coder.
 
Je viens de downloader JMeter ca a l'air assez performant pour simuler plusieurs sessions. Je vais tester avec les deux méthodes.
 
Concernant le temps de création des connexions il me semble que mysql gere une pile de connexion donc ce ne doit pas etre si long enfin je pense comme vous deux que le mieux est la 1, je vais faire des essai.
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Méthode de Connexion MySQL

 

Sujets relatifs
Mysql : requete avec EXISTS[MySQL] Problème avec requête et condition IN
[PHP/MySql] [Resolu merci !]Insertion de données temporaire.Problème de connexion a une base de donnée VBA Access
methode du retour inverse à la comprehension[MySQL] Limiter la taille du processus mySQL
différence entre fonction et méthode[SGBD/SQL] lenteur mysql/windows
PHP / MYSQL ajout de % dans un champs BDD 
Plus de sujets relatifs à : Méthode de Connexion MySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR