|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() |
Bonjour,
J'ai codé un petit benchmark pour serveur php/mysql ne trouvant rien qui me convienne sur internet. Cela test les accès mysql, quelques calculs, et les accès disque. Si vous pouviez l'essayer sur vos serveurs respectifs et me copier/coller vos résultats ça serait top Ma config serveur: ASUS P5QL-pro Intel Q8200 2Go mémoire Ubuntu 9.10 en virtualbox sous windows 7 MOTEUR MYSQL MEMORY MYSQL ecriture 77 97 MYSQL recherche varchar 39 77 MYSQL recherche int 32 234 MOTEUR MYSQL MYISAM MYSQL ecriture 86 86 MYSQL recherche varchar 39 77 MYSQL recherche int 95 79 CALCUL INCREMENTATION++ 25 108 MATHEMATIQUE 50 96 DISQUE DISQUE Ecriture 37 41 DISQUE Lecture 64 94 DISQUE Ecriture Gros fichier 110 55 DISQUE Lecture Gros fichier 62 97 TEMPS 716s SCORE 1140 Et vous ça donne quoi ? A mettre dans un fichier index.php Code :
|
||
|
|
02
|
|
|
#2 | ||
|
Membre du Club
![]() |
Je vois que ça intéresse personne, alors je continue
Testé sur un Processeur Q8200 sous windows vista j'obtiens 22500 secondes, je répette 22500 secondes !!! serveur lamp sous windows = à eviter à tout prix Q8200 avec Debian sqeeze 64 bits => 400 secondes I7 2600 + SSD C300 64Mo sur Debian sqeeze 32bits => 240 secondes I7 2600 + SSD C300 64Mo sur Debian sqeeze 64bits => 187 secondes On voit dessuite que Linux est 100 fois plus efficace que windows sur ce type de serveur. De plus le 64 bits est très très efficace. J'aimerai bien avoir vos test à vous s'il vous plait . Si jamais au premier lancement vous avez un message d'erreur, faite F5 pour relancer. Code :
|
||
|
|
02
|
|
|
#3 |
![]() ![]() ![]() |
![]() Comment tires-tu tes conclusion ? À la va-vite. Et encore, je pense que c'est l'escargot face à ce que tu fais. Un serveur Windows est absolument à éviter ? Quelles versions de PHP as-tu testé ? Quelle bitness de l'OS (32/64 bits) ? Quelle bitness de PHP ? Comment as-tu lancé ton script (CLI, Web) ? Quel serveur Web (Apache, Nginx, IIS...) ? Quel compilateur pour PHP (VC6 / VC9) ? Que faisais-tu à côté de ces tests ? Et encore, je me limite au couple PHP/OS. Quid de MySQL ? Quid de l'activité disque dur ? Quels étaient les systèmes de fichiers utilisés ? Leurs vesrions ? Tu parles de gros fichier ; ça veut dire quoi, pour toi, gros fichier ? Le maximum d'un ancestral FAT32, soit 2 Go ? Un back-up complet d'un serveur réaliste, des dizaines de Go ? Tant de points qui me font dire que, sans étonnement, ceci ne vaut rien...
__________________
Le troisième défi Qt ! Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP. Qt : La FAQ : 200 QR symfony : sfDoctrineGuard Pas de question d'ordre technique par MP ! |
|
21
|
|
|
#4 |
|
Membre du Club
![]() |
J'ai faché tout rouge Dourouc05 qui doit surement avoir des actions chez Microsoft pour se facher pour si peu.
(Pas la pein d'agresser les gens) As tu fait le test sous ton windows avec le bitness que tu veux, avec le php que tu veux, avec ou sans la cafetiere d'allumer... ? Non ? Je viens ici car je viens chercher des personnes qui me permettent d'avancer, je suis pas un débutant en informatique et j'apprecierai qu'on me parle autrement ! J'attend donc qu'une chose qu'on me prouve qu'un serveur web php windows va plus vite que son équivalent Linux, car ce sont MES conclusions après avoir MES test. Maintenant pour te répondre, j'ai essayé plusieurs config windows qui ont donné des résultats presque similaire donc supérieur à 20 000s soit 100 fois plus lente que sur mes différents test Linux. 3 Machines de test différentes, (cpu: Q8200,Q8300,Xeon, disque:scsi,...) 3 Os différents Vista 32, Xp 32 et Seven 32 Php et Mysql version équivalente à celle sur Linux Serveur Pret à l'emploi: Easyphp et Lamp testé Script lancé par navigateur Firefox sur toutes les configs. Aucune autre activité sur le pc pendant le test (je suis pas débile!) NTFS pour windows, Ext4 pour Linux. Maintenant si des personnes agréable et sympathique peuvent essayer mon script pour me donner leur résultats, ça me permettrait d'avancer. merci |
|
|
02
|
|
|
#5 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
Je trouve le code un peu vieillot
les <? les or die les @ les fopen le HTML tout vieux y'a 10 ans le code aurait (peu être) eu son intérêt, mais la...
__________________
http://blog.stealth35.com/ |
|
|
02
|
|
|
#6 |
|
Membre du Club
![]() |
J'avoue que mon code est peu vieillot, maintenant ça n'empeche pas de comparer une machine à une autre.
J'ai bien dit ça ne change rien pour comparer une machine à une autre, j'en vois deja me dire: "mais si ! le code est important, si il est mieux fait ça va plus vite"..... pouvez vous le tester s'il vous plait et me donner vos résultats ? |
|
|
01
|
|
|
#7 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
marche pas, j'ai de belles erreurs :
Code :
__________________
http://blog.stealth35.com/ |
||
|
|
10
|
|
|
#8 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
tu pourrais mettre time() a la place de mktime()...
test en cours...je ne crois pas que ce sera fini avant que je ne rentre à la maison au quel j'aurai pas de résultat... P.S. j'ai lancé le test, je poste sur le forum en même temps et en plus de la cafetière, j'ai le grille pain de branché...c'est grave ? tout compte fait : test inutile... j'ai même pas la patience d'attendre qu'il se termine... attendre une plombe devant un script sans savoir ou il en est c'est trop frustrant pour moi...c'est pas faute d'avoir essayé !
__________________
Développeur informatique contrarié... |
|
|
10
|
|
|
#9 |
|
Membre du Club
![]() |
Vorace:
Je vais essayer de rajouter une barre de progression,il est vrai que 400s sous linux c'est moins de 10 minutes, ça reste raisonnable mais dans mon cas sous windows 22 000 ça reste interminable et on sait jamais ou le script en est. Donc correction time() + progresse barre Quelle config as tu Vorace ? stealth35: Bizarre l'erreur, meme apres un F5 ? Le F5 relance le script et fait que le depassement de mémoire pour la table mysql memory marche (j'ai pas trouvé mieux que de recharger avec F5) Quelle confi as tu ? Vous pourriez m'aider pour améliorer le script ? car chez moi il tourne bien et sur toutes mes confis pas d'erreur mise à part de faire F5. |
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
c'est pas bon parce que la valeur dépasse 4294967295 il faudrait donc la mettre en BIGINT, je te conseil aussi de mettre des indexes, le but d'un benchmark c'est pas non plus de faire souffrir le serveur,
comme le dis vorace c'est y'a pas trop de visibilité, je te conseil de mettre des petit echo avant chaque étape "Etape 1", et d'activer l'envoi implicite sinon je comprend pas pourquoi la recherche varchar se fait 150 000 alors que la INT 30 fois ???? le lecture GROS FICHIERS est inutile puisque avec fopen que le fichier fasse 1Ko ou 1To pour lui c'est du stream donc c'est pareil seul la fragmentation pourrait réduire le temps d'accès mais c'est pas PHP le fautif.
__________________
http://blog.stealth35.com/ |
|
|
10
|
|
|
#11 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
ma config :
asus n61jv processeur intel core i5 mémoire 4Go ddr3 mais il aime pas ton script... y a pas que le tiens tu me diras...
__________________
Développeur informatique contrarié... |
|
|
10
|
|
|
#12 | ||
|
Membre du Club
![]() |
J'ai tenu compte de vos remarque, j'ai donc ajouter:
une barre de progression globale une barre de progression par test Enlevé des erreurs de code (mais il en reste une) Ecourté le test d'environ 30% j'obtiens le tous en 155 secondes sur la config suivante: Debian 6(Squeeze) 64bits Mysql 5.1.49-3 Php 5.3.3-7 Apache 2.2.16 Processeur I7 2600 / 4Go DDR3 / SSD Crucial C300 64Go Chaque sous test ne dur pas plus de 20s sur cette config. Le temps d'ecriture petit fichier et gros est le meme, on verra si il est pas égale sur vos config. Code :
Merci |
||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
y'a toujours le <? qui traine
j'ai aussi : Code :
Notice: Undefined offset: 0 in C:\www\test\index.php on line 122 EDIT 2 : toujours pas d'INDEX ? Handler_read_rnd et Handler_read_rnd_next pleurent
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#14 | |
|
Membre du Club
![]() |
Erreur de ma part pour l'id identique, j'ai corrigé, je te remercie.
Apres reflexion j'ai pas mis d'index car le but est de le faire trimer un peu, pas de l'optimiser. Parcontre j'ai cette erreur que j'arrive pas a enlever, je pourrai la masquer, mais j'aimerai bien la résoudre. Citation:
T'as optimiser qu'elle timing ? |
|
|
|
00
|
|
|
#15 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
pour l'erreur c'est le 1er $GLOBALS[indice_global] qui n'existe pas, en même temps global ça s'utilise plus (c'est voué à disparaitre en plus)
en tout ca je sais pas comment t'arrive a avoir des score si bas, mais l'étape 2 (varchar)est vraiment vraiment longue dans tout les env que j'ai tester (même avec du mysql 5.5 64bit, tu me diras j'ai pas de SSD ca joue surement mais peu être pas autant) sinon t'as toujours une erreur lorsque tu fais ton premiere DROP BASE (normale elle n'existe pas, rajoute un IF EXISTS) Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
10
|
|
|
#16 |
|
Membre du Club
![]() |
Tres bon exemple pour la voiture, je vais mettre un index
Je peux baser les test sur un Q8200 avec avec disque dur normal si tu veux, le probleme c'est que quand on test sur une autre machine plus puissante comme l'autre que j'ai beinh les sous test dur moins d'une seconde Je regle tout pour que le test dur mois de 200s sur un Q8200, vu que t'as un i5 les scores devrait etre similaire, seule l'install jouera. Sinon ya une variable "hard" que tu peux mettre a 0.5 si tu veux, ça permet que ce soit moins long (attention resultat decroissant de maniere expodentielle) , je ferai un test à 0.5 aussi. Sinon y a une autre maniere de proceder qui est: chaque test dur X secondes, on regarde combien d'evenement on était réalisé dans ce labs de temps, et on calcul une moyenne. ça sauvera certain d'une attente interminable. Mais si un test n'aboutit pas au bout des X secondes ça sera = à 0 donc pas comparable non plus (repense à son win qui met 22 500s contre 180s) niveau prog faudrait que je mette à jour j'avoue Tu penses que le mieux a faire c'est quoi pour que ça tourne sur ta config ? |
|
|
00
|
|
|
#17 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
mets un index, j'ai lancé le test et au bout de plus de 3 heures j'avais que 35% d'effectué...c'est surtout la recherche varchar qui peche, sans index c'est une torture...
pour info (xampp): PHP Version 5.3.5 mysqlnd 5.0.7
__________________
Développeur informatique contrarié... |
|
|
10
|
|
|
#18 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
pour les config rapides utilise microtime plutôt
__________________
http://blog.stealth35.com/ |
|
|
10
|
|
|
#19 | ||
|
Membre du Club
![]() |
Bon j'ai revu tout le code,
Durée maximum du test 3 Minutes ! Si config vraiement trop lente, possibilité d'augmenter ce temps, rendant aussi le test plus précis et ne faussant pas le résultat. J'ai pas encore mis l'INDEX, j'aimerai faire un test avec et sans, faut que je code encore. 1224s => DEBIAN 6(Squeeze) 64Bits - CPU INTEL I7 2600 - HDD SSD CRUTIAL C300 64Go - 4Go DDR3 3661s => UBUNTU 9.1 32Bits en virtual box sur config ci-dessus hébergé sur clef usb 6690s => UBUNTU ci dessus en virtual box mais sur un CPU INTEL Q8200 Parcontre, j'ai vraiement du mal avec les définitions des variables, je m'en sors pas, ça me met des erreurs de partout. (^E_NOTICE) Code :
|
||
|
|
00
|
|
|
#20 | |||
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 586 ![]() |
nickel à part la barre de progression du haut qui indique 93% à la fin et toujours la même fameuse erreur the table `table`is full... et enfin voila les résultats tant attendus...:
Citation:
et avec xampp 1.7.4 : Code :
__________________
Développeur informatique contrarié... |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com