[PHP] mysql_connect, est il possible de l'optimiser ?

mysql_connect, est il possible de l'optimiser ? [PHP] - PHP - Programmation

Marsh Posté le 04-08-2002 à 13:00:40    

J'ai :
 
W2K server sur un P2 400Mhz/128Mo/4Go scsi UW2
IIS 5
PHP 4.22
Mysql 3.23
 
Ma commande mysql_connect prend 60ms.
 
Est normal ? est pareil sous linux ? est ce possible d'optimiser ce temps (tweak de mes fichiers de config) ?
 
Je précise que pour la connection (php) et l'authentification (mysql) j'utilise l'IP 127.0.0.1
 
merci d'avance :jap:


Message édité par Snipe Foo le 05-08-2002 à 10:54:05
Reply

Marsh Posté le 04-08-2002 à 13:00:40   

Reply

Marsh Posté le 05-08-2002 à 09:27:10    

:bounce: UP !!! :bounce:


---------------
Ma réflexion sur cette affaire vient de connaître une avancée déterminante.
Reply

Marsh Posté le 05-08-2002 à 19:32:23    

:spookie: UP du soir : espoir !!! :spookie:

Reply

Marsh Posté le 05-08-2002 à 19:37:50    

non up du soir désespoir

Reply

Marsh Posté le 05-08-2002 à 20:55:11    

Y'en a pas un qui peut mettre un getmicrotime avant et apres son mysql_connect et faire la différence ?

Reply

Marsh Posté le 05-08-2002 à 21:24:35    

Snipe Foo a écrit a écrit :

Y'en a pas un qui peut mettre un getmicrotime avant et apres son mysql_connect et faire la différence ?



 
Si, avec plaisir :) A défaut de pouvoir t'aider ca te confirmera au moins que tu as un gros soucis :wahoo:
 

<?php
 
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$debut = $mtime;
 
if(!$db = @mysql_connect("localhost", "xxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxx" )) die("DTC" );
 
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$fin = $mtime;
$tps_generation = ($fin - $debut);
$tps_generation = round ($tps_generation,6);
?>
 
La connexion à la base MySQL a été effectuée en <?php echo $tps_generation?> secondes


 
Résultat :
 

La connexion à la base MySQL a été effectuée en 0.000738 secondes

Reply

Marsh Posté le 05-08-2002 à 21:34:43    

quitte à rester sous windows, installe plutôt apache sous 98,
 
W2K server et IIS 5 ça bouffe grave niveau mémoire, il doit swapper comme un bête ton serveur..
 
perso mon k6-2 500 196Mo RAM sous nux tourne comme une horloge, même le SSL est rapide (j'utilise Webmin, administration à distance via SSL)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 05-08-2002 à 21:49:50    

core666 T sous lx ?
 
De toute façon l'hébergement se fera sous nux
 
Je vais m'installer un serveur debian d'ici qq temps pour le dev, si le temps de core666 c'est allucinant la différence :ouch:
 
Sh@rdar : le serveur de dev est accessible sur le net, je prefere eviter w98 :D


Message édité par Snipe Foo le 05-08-2002 à 21:50:47
Reply

Marsh Posté le 05-08-2002 à 21:59:43    

Snipe Foo a écrit a écrit :

core666 T sous lx ?
 
De toute façon l'hébergement se fera sous nux
 
Je vais m'installer un serveur debian d'ici qq temps pour le dev, si le temps de core666 c'est allucinant la différence :ouch:



Oui, il s'agit d'une Red Hat 7.2 en noyau 2.4.18. J'ai fais le test sur le serveur qui héberge Forum-Auto.com, un gros forum consacré à l'automobile :)
 
Ceci dit, je viens de tester le même script sur mon serveur Windows 2000, et même si c'est beaucoup moins rapide que ma machine Linux ca reste loin de tes 60 secondes :
 
http://www.forum-auto.com/photos/christophe_0508200245_temps_connexion_mysql.gif
 
Windows 2000 avec IIS 5, MySQL 3.23.49 et PHP 4.1.2 sur Céléron 600@900 et 384 Mo de RAM ...


Message édité par Core 666 le 05-08-2002 à 22:11:22
Reply

Marsh Posté le 05-08-2002 à 22:01:43    

non, c'est pile poil : moi c'est 55ms pareil, reste a savoir si ça vient de php,iis, ou mysql...

Reply

Marsh Posté le 05-08-2002 à 22:01:43   

Reply

Marsh Posté le 05-08-2002 à 22:04:36    

Snipe Foo a écrit a écrit :

non, c'est pile poil : moi c'est 55ms pareil, reste a savoir si ça vient de php,iis, ou mysql...



Oups, autant pour moi, j'avais lu 60 secondes dans ton premier message ! Rien d'anormal donc à priori ...

Reply

Marsh Posté le 05-08-2002 à 22:05:12    

C'est php/mysql et zindows ils ne s'aiment pas visiblement
 
moi 0.15 < Tps < 0.20
 
 :sweat:


Message édité par CorranHorn le 05-08-2002 à 22:06:04

---------------
A suivre
Reply

Marsh Posté le 05-08-2002 à 22:08:08    

G un collegue au taf qui m'a dis que sous lx, les sockets pour la loopback (127.0.0.1) se faisait sous forme de fichiers disk et totalement indépendament des buffers de la carte réseau, se qui éxpliquerait la différence de perfs, il nous faudrait les tests suivants pour juger :
- apache + php + mysql sous windows (pour isoler le temps de iis)
- apache php lx + mysql sur lx mais autre machine
- apache php lx + mysql sur win mais autre machine (pour isoler le temps de mysql)
mais bon, peu importe, l'essentiel est de savoir que c'est plus rapide sous lx (ce qui n'est pas tres étonnant)

Reply

Marsh Posté le 05-08-2002 à 22:10:02    

CorranHorn a écrit a écrit :

C'est php/mysql et zindows ils ne s'aiment pas visiblement
 
moi 0.15 < Tps < 0.20
 
 :sweat:




 
tout sur la meme machine ? apache ou iis ? quel config (proc/mem) ?

Reply

Marsh Posté le 05-08-2002 à 22:26:02    

vais peut etre avoir lair con, mais cest quoi iis exactement  :D ? :lol:  
 
PS, avant de mettre en ligne, je test avec easyphp ( apache + php + mysql ... ).

Reply

Marsh Posté le 05-08-2002 à 22:35:45    

Snipe Foo a écrit a écrit :

 
 
tout sur la meme machine ? apache ou iis ? quel config (proc/mem) ?




 
Je crois que c'est IIS le probleme mais mysql et zindows ne doivent pas s'aimer beaucoup.
 
Apache pour moi. Me :( 128 Mo :( TB 900 :(


---------------
A suivre
Reply

Marsh Posté le 05-08-2002 à 22:37:19    

a ben si ton temps il est pas bon avec apache, c'est que c'est pas iis qui est en cause, ça doit donc etre mysql sous windows...

Reply

Marsh Posté le 05-08-2002 à 22:38:18    

C'est 3 fois moins qu'avec IIS :sarcastic:
 
edit : y a surement IIS ET mysql en cause sous zindaube ;)


Message édité par CorranHorn le 05-08-2002 à 22:38:53

---------------
A suivre
Reply

Marsh Posté le 05-08-2002 à 23:04:22    

Maxime a écrit a écrit :

vais peut etre avoir lair con, mais cest quoi iis exactement  :D ? :lol:  
 
PS, avant de mettre en ligne, je test avec easyphp ( apache + php + mysql ... ).




 
Alors,  :o  
 
 :lol:

Reply

Marsh Posté le 06-08-2002 à 08:32:51    

sur mon cassis 2 500 / 196 Mo RAM / MDK 8.1 sans interface graphique
 
La connexion à la base MySQL a été effectuée en 0.001205 secondes
 
EDIT : 196, pas 384 Mo de RAM..


Message édité par Sh@rdar le 06-08-2002 à 08:34:22

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-08-2002 à 10:24:20    

Sur un P3 1Ghz et 512Mo de Ram, PHP en Isapi
 

La connexion à la base MySQL a été effectuée en 0.003309 secondes


Message édité par chaced le 06-08-2002 à 10:25:04
Reply

Marsh Posté le 06-08-2002 à 10:27:26    

Ha oui, sur Win2K SP2

Reply

Marsh Posté le 06-08-2002 à 11:14:06    

Code :
  1. La connexion à la base MySQL a été effectuée en 0.001942 secondes


 
Sur un Ahtlon 1.4 Ghz, 512 Mo de RAM, et Windows XP :)
Edit : DD IBM 60 Go 7200 t/min


Message édité par Max Evans le 06-08-2002 à 11:37:20
Reply

Marsh Posté le 06-08-2002 à 11:31:30    

Il serait utile de préciser le disque dur utilisé, à cette échelle il est au moins aussi important que le processeur ou que la RAM utilisée. Je reprends donc :)
 
Red Hat 7.2, Céléron 950, 40 Go IBM GXP 60 :

La connexion à la base MySQL a été effectuée en 0.000738 secondes


 
Windows 2000, Céléron 900, 20 Go Maxtor Diamond Max+ 40 7200 tours :  

La connexion à la base MySQL a été effectuée en 0.055066secondes

Reply

Marsh Posté le 06-08-2002 à 11:33:37    

free.fr   : entre 0.030775 et 0.007528  
 
pas mal pour du mutialisé gratuit, et je ne doit pas etre le seul a faire des requetes...

Reply

Marsh Posté le 06-08-2002 à 11:38:13    

Core 666 a écrit a écrit :

Il serait utile de préciser le disque dur utilisé, à cette échelle il est au moins aussi important que le processeur ou que la RAM utilisée. Je reprends donc :)
 
Red Hat 7.2, Céléron 950, 40 Go IBM GXP 60 :

La connexion à la base MySQL a été effectuée en 0.000738 secondes


 
Windows 2000, Céléron 900, 20 Go Maxtor Diamond Max+ 40 7200 tours :  

La connexion à la base MySQL a été effectuée en 0.055066secondes






 
Y a une de ces sacrée différence !!  :ouch:  
Tu plaiderais pour Windows, ou le disque dur un peu moins bien que l'autre ? :)

Reply

Marsh Posté le 06-08-2002 à 11:48:15    

Max Evans a écrit a écrit :

 
 
Y a une de ces sacrée différence !!  :ouch:  
Tu plaiderais pour Windows, ou le disque dur un peu moins bien que l'autre ? :)




 
Sous windows, il faut passer en Isapi, le cgi c'est pas top

Reply

Marsh Posté le 06-08-2002 à 12:43:31    

sur mon K6-2 500 / MDK 8 c'est un seagate 4Go UDMA 33  :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-08-2002 à 13:11:30    

Je pense que c'est evident maintenant que le probleme (si on peut parler de probleme) vient de MySQL sous windows ou peut etre de ce systeme de socket plus avantageux sous LX, chez free les frontaux ne sont pas les meme que les BDD, et le temps reste inferieur, donc linux gagne la partie :ange:


---------------
Ma réflexion sur cette affaire vient de connaître une avancée déterminante.
Reply

Marsh Posté le 07-08-2002 à 12:12:45    

Vous semblez dire que Windowx et Apache/PHP/MySQL ne font pas bon menage.
C'est avéré ? J'ai actuellement un gros problème à ce sujet. Cela pourrait venir de là ?
 
http://forum.hardware.fr/forum2.ph [...] subcat=393

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed