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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Je bench, tu bench, il bench...


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut Je bench, tu bench, il bench...
    Bonjour,

    Si vous avez déjà développé des systèmes plus ou moins important, avec des critères de performances à respecter, vous avez forcément eu recourt aux fameuses méthodes de bench.

    Jusqu'a présent, je regardais uniquement le temps de chargement des pages, à l'aide de deux simples microtime(), en début et en fin de script. Seulement, au fil du temps, je me rend compte qu'un script se comporte différemment lorsqu'il est testé par un développeur, seul devant sa petite machine, et lorsqu'il est utilisé simultanément par des centaines d'utilisateurs. Aussi, la charge utilisée par un script est un facteur aussi important que le temps d'exécution.

    Partant de ce constat, j'ai deux petites questions à vous soumettre :

    1. La fonction memory_get_usage() permet d'indiquer la quantité de mémoire utilisée par PHP. Seulement, cette fonction n'est disponible que si PHP est compilé avec l'option --enable-memory-limit. J'ai beau parcourir mon php.ini, je ne vois pas de ligne correspondant, de près ou de loin, à cette option. Vu que mes connaissances en configuration serveur sont plus que limitées, j'ai entamé une petite recherche sur la toile. Infructueuse. Ou du moins si, des résultats, mais uniquement pour les serveurs unix. Sauf que ça ne m'avance guère, je développe sous winXP. Certains d'entre vous ont peut être une réponse : Comment activer cette option (Apache + PHP5, windows XP) ?

    2. Je me demandais s'il existait des programmes capables de simuler l'utilisation d'un script PHP. L'idée est de le mettre dans des conditions plus réelles, comme s'il était appelé simultanément par beaucoup d"utilisateur. Si cela existe, quel est le petit nom de ce type de logiciel ? (Ça faciliterait grandement mes recherches)


    Merci d'avance.

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Salut,

    Pour la première question il faut regarder du coté de la compilation de PHP Il n'y à rien à ce sujet dans le php.ini.

    cf :
    http://fr.php.net/manual/fr/install.php
    ou bien
    http://www.google.fr/search?hl=fr&q=...piler+php&meta=

    Pour la deuxième question, tu peux jeuter un oeil sur la société neotys avec leur soft neoload. Sinon il y à opensta, mais je n'ai pas réussi à l'installer.......................... Dommage, c'était free

    http://www.neotys.fr/
    http://www.opensta.org/

    Et puis tant que j'y suis :
    http://www.google.fr/search?hl=fr&q=...oad+tests&meta=

    bbye

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Merci pour ces renseignements, je vais potasser tout ça.

    Pour les options de compilations, cela veut dire qu'elles peuvent être faites uniquement lors de l'installation ? En gros, je suis marron.

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Si une option se configure au moment de la compilation, je trouve tout à fait logique de ne pas pouvoir la configurer dans le fichier php.ini (à l'exécution)

    Pourrais-tu donner davantage de détails sur les différences que tu as pu noter ?

    Ne penses-tu pas que les éventuelles différences pourraient être dues au système (Windows au lieu de Linux) ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Yogui
    Si une option se configure au moment de la compilation, je trouve tout à fait logique de ne pas pouvoir la configurer dans le fichier php.ini (à l'exécution)
    Oui, il est vrai que j'ai affiché mon ignorance presque totale en matière de configuration serveur. A vrai dire, je pensais le php.ini était compilé lors du démarrage du serveur Apache (vu que, pour modifier ce fichier, il est necessaire de redemarrer Apache).

    Cette même ignorence m'a d'ailleurs menée à choisir une solution de facitiliter, pour installer mon serveur de developpement : wamp. Donc ma question reste totalement ouverte, car je dois avouer que les renseignements que j'ai pu trouver sur le net (notamment la doc php) restent pour moi assez flous : est-il possible de modifier ces options de compilations simplement ?




    Citation Envoyé par Yogui
    Pourrais-tu donner davantage de détails sur les différences que tu as pu noter ?

    Ne penses-tu pas que les éventuelles différences pourraient être dues au système (Windows au lieu de Linux) ?
    Je l'ai constasté sur différents scripts : avec peu de personnes connectés, de véritable voitures de courses, mais lorsque il commence à y avoir 200, 500 voire 1000 personnes connectés, ils se transforment en tracteur. Inversement, des scripts plus lents avec peu de personnes connectés ne perdaient beaucoup en performance lorsque le serveur était plus solicité.

    Après, je me doute que le le système d'exploitation, et même la configuration matérielle du serveur rentre en compte. Mais vu que ces contastations ont été fait sur les même bécanes (sur un dédié, tournant sous Debian + PHP5), ces critères ne semblent pas rentrer en compte.

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Okay.

    J'aurais tendance à rejeter la faute sur la quantité de mémoire utilisée, en ce cas. Si un script rapide utilise beaucoup de variables de grande taille, alors il est fort probable qu'une utilisation intensive de la part de plusieurs utilisateurs fasse ralentir le serveur entier (overload donc swap intensif donc de nombreux accès au disque dur).

    Inversement, si un script est lent à cause de traitements qui prennent du temps processeur mais peu de mémoire, la différence sera simplement proportionnelle au nombre de personnes utilisant le script en simultané.

    Concernant ta variable de configuration : tout dépend de ce que tu appelles "simplement"
    Soit tu trouves un exécutable PHP que quelqu'un a compilé pour toi avec cette option, soit tu le compiles toi-même. Le 2° cas est toujours plus intéressant à tous les niveaux, mais toujours un petit peu plus tâtillon aussi...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Merci pour toutes ces réponses, je vais tacher de trouver un bon tutoriel pour la compilation de PHP.

    Concernant les logiciels de test de charge, neoload est vraiment bien, dommage que sa version d'essai ne soit limitée qu'a 30 jours. Sinon, je n'ai pas réussi à faire fonctionner opensta, et n'ai pas trouvé d'autres logiciels similaires gratuits. Dommage.

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Tu as essayé JMeter ?
    Sinon j'ai joué dans le temps avec PureLoad...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    J'avais trouvé Pureload, mais je n'ai pas encore trouvé comment le faire fonctionner. Il est vrai que je n'ai pas réellement eu le temps de me pencher dessus.

    Concernant JMeter, je n'avais pas trouvé.
    Je vais voir ce que ça donne.

  10. #10
    HwRZxLc4
    Invité(e)
    Par défaut
    Et sous linux, y a un soft pour fair le mème test ?

  11. #11
    Membre actif Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Points : 234
    Points
    234
    Par défaut
    J'ai trouvé une page non exhaustive, tableau de logiciels Windows/Linux, on dirait qu'il n'y a pas exactement un bencher php, mais peut-être en suivant les liens:
    http://www.linuxrsp.ru/win-lin-soft/table-eng.html

    Bonne journée

  12. #12
    Membre éclairé
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 764
    Points
    764
    Par défaut
    bah... c'est un bench HTTP principalement qu'il faut non ? Dans ce cas, "ab" (Apache Benchmark), bien que rudimentaire, peut suffir.
    Google is watching you !

Discussions similaires

  1. Httperf et Apache Bench
    Par licorne dans le forum Apache
    Réponses: 4
    Dernier message: 05/03/2011, 11h18
  2. Bench d'un script
    Par Shadow aok dans le forum Linux
    Réponses: 15
    Dernier message: 15/03/2006, 22h15
  3. Bench SGBD
    Par BoumChaKal dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 03/02/2005, 09h50
  4. Réponses: 4
    Dernier message: 20/05/2004, 01h08
  5. [réseaux] Bench en Perl pour avoir le débit entre 2 pc
    Par Frich dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 22/05/2002, 17h22

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