[PHP/MYSQL...] Comment réaliser un benchmark complet de site web ?

Bonjour,

je suis actuellement en stage dans une boite qui ne sait pas trop quoi me faire faire. C’est l’été, tt l’monde est parti… On m’a demandé de réaliser un benchmark complet d’un de leur site, afin de voir quelles sont les parties à améliorer, que ça soit niveau PHP, ou SQL. Et bien sûr, j’ai vraiment jamais fais ça ^^

J’ai bien des idées, mais j’aimerai avoir votre avis, notamment si vous avez en réserve de noms de soft sympa (genre pour faire mumuse avec des fichiers de logs mysql ou autre, des trucs pour faire du reverse engineering…)

“Ma” config :

  • Site hébergé chez ovh
  • MySQL : 4.1.20
  • PHP : 4.4.2

Merci à tout ceux qui m’apporteront une petite aide B)

[quote=“Kame_Sennin, post:1, topic: 45683”]Bonjour,

je suis actuellement en stage dans une boite qui ne sait pas trop quoi me faire faire. C’est l’été, tt l’monde est parti… On m’a demandé de réaliser un benchmark complet d’un de leur site, afin de voir quelles sont les parties à améliorer, que ça soit niveau PHP, ou SQL. Et bien sûr, j’ai vraiment jamais fais ça ^^

J’ai bien des idées, mais j’aimerai avoir votre avis, notamment si vous avez en réserve de noms de soft sympa (genre pour faire mumuse avec des fichiers de logs mysql ou autre, des trucs pour faire du reverse engineering…)

“Ma” config :

  • Site hébergé chez ovh
  • MySQL : 4.1.20
  • PHP : 4.4.2

Merci à tout ceux qui m’apporteront une petite aide B)[/quote]

http://www.immunityinc.com/products-immdbg.shtml pour un peu de reverse engineering (permet aussi d’analyser des virus ou de concevoir une faille…).

Sans vouloir être vexant je ne vois pas en quoi un debugger ASM peut aider à faire un benchmark de site ouaibe B)

Sinon, j’ai trouvé ça et ça

Et tant qu’à faire, je te conseillerais aussi de lire ça.

Bon déjà, c’est un audit de sécu ou un audit de performances que tu veux faire ?

Pour un audit des performances au niveau du page par page, tu peux regarder déjà du coté d’apache bench (executable ab installé par défaut avec Apache), il est assez limité par contre. D’autres solutions existent :

  • Microsoft WebTools si les clients de test de montée en charge sont sous Windows. L’outil est assez complet, il est possible de faire des scénarii de tests qui s’executent en concurrence par exemple.

  • wget avec le script perl/bash/python/whatever qui va bien.

Au niveau MySQL, mysql.org vient de releaser mysql proxy qui avec les bon scripts devrait pouvoirte faire du log et un début d’analyse des requetes executées pendant tes tests de montés en charge. Au niveau d’apache tu as les access logs dans /var/log en general.

Après si tu veux rentrer plus dans le coeur du code, il va falloir soit passer par des printf bien barbare dans le code ou un executeur/debugguer php specifique mais je ne sais pas si ça existe.

Anyway, tu oublies tout de suite les décompileurs pour du php vu que le php n’est pas compilé.

Dans le numéro juillet/août de PC Expert on parle de Webload, un outil gratuit de benchmarking de site web. A voir.

Toujours dans l’idée d’un test de perfs, je te conseille JMeter qui comme son nom l’indique est fait en java, mais audit tout ce que tu veux du moment que c’est web. En gros, tu lances un enregistreur, tu suis un scenario en navigant sur ton site dans un browser, et à la fin tu peux lancer les scenarii enregistrés, en parallele, 1000 fois de suite, etc. Et ça te sort des résultats en termes de temps de réponse bien exploitables.

Je viens de l’utiliser pour le taff et j’l’ai trouvé pas mal.

Euh si ça se limite à un site web oui, sinon non. Je pensais qu’il ne parlait pas que de ça. Autant pour moi. :x

Merci pour toutes ces réponses !

C’est à la fois un audit de performance et de sécurité que je dois réaliser. un truc vraiment bien complet en fait, pour permettre aux développeurs de mieux s’y retrouver (on est passé de 1 à 6 personnes, ça devient vite le bordel B) )

Je vais regarder tout ça, j’ferai un ptit récap de tt s’que j’ai trouvé (quand, ça j’sais pas B) )