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

Symfony PHP Discussion :

test ab apache [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Par défaut test ab apache
    Bonjour à tous,

    Avez-vous déjà essayé un test ab sur symfony ?
    http://httpd.apache.org/docs/2.0/programs/ab.html

    J'ai fait un test :

    /usr/local/apache/bin/ab -n 40 -c 20 http://www.exemple.com/index.php
    soit 40 requêtes avec un maximum 20 utilisateurs simultanés.

    Le serveur est saturé...

    avec un autre site sans symfony (même serveur)

    /usr/local/apache/bin/ab -n 1000 -c 200 http://www.exemple2.com/index.php

    Pas de problème...

    J'ai deux solutions, soit c'est le serveur qu'il faut booster, soit c'est symfony qu'il faut optimiser.

    Pouvez-vous me dire si vous rencontrez le même souci ?

    Merci

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Les données sur les protocoles de test sont trop succinctes que pour pouvoir se prononcer.

    Que cache les deux fichiers index.php ?

    En prod, il est recommander de mettre en place un accélérateur pour symfony. Et suivant le site, un gestionnaire de cache est un plus appréciable.

    Mais, vu les données que tu donnes, il est impossible d'interpréter les résultats.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Par défaut
    Merci mimi68 pour ta réponse.

    En fait, j'ai fait en autre test simple.

    J'ai crée un index par defaut qui m'affiche la page "Congratulations! You have successfully created a symfony module."

    Ensuite je fais le test ab suivant : (d'un autre serveur)
    /usr/local/apache/bin/ab -n 40 -c 15 http://url-de-la-page-index

    Ca me prend 95% du CPU...
    je regarde dans les logs d'apache, j'ai bien mes 40 requêtes mais le problème c'est le 15 utilisateurs simultanés.

    Y a t'il une configuration minimale pour symfony ?

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    En fait, la version 1.4 (qui serait la meilleur à utiliser pour ton test), n'est pas faite pour afficher un message "Hello word".

    Carrément , le meilleur serait un fichier html avec un <h1>Hello World</h1> qui aurait les meilleurs performances... !

    Même un fichier simple index.php qui fait une manipulation similaire aurait des performance bien meilleurs.

    Tous simplement parce que, quant tu fais cette manipulation avec symfony, tu va créer un contrôleur, monter une configuration, mettre en place un système de filtre de rendu, passer par le système de routing qui va décomposer ton URL pour en faire un objet exploitable, mettre en place une session, récupérer les données de la session dans un objet session, et bien d'autre choses encore. Toutes choses totalement inutiles pour le simple affichage d'une page un texte statique.

    Fait les mêmes manipulation dans ton fichier index.php et tu auras des temps de réponse, au mieux, similaires.

    Maintenant, il y a des système de cache qui peuvent réduire significativement les temps de réponses sous symfony, met ton module en cache et déjà les performances devrait en être boostées. De plus, tu peux mettre carément la page en cache, si elle ne change jamais, et les performances sont alors les mêmes que celles de l'affichage d'une simple page html (en fait, c'est exactement ce que le stade ultime de cache de symfony fait, il n'y a même plus de passage par le php, simplement, si tu modifie la page, le cache est régénéré).

    Il faut donc comparer ce qui est comparable.

    Il est vrai que symfony, pour fonctionner sur une "vraie" application nécessite un bon paramétrage de son cache et un accélérateur PHP pour booster les requêtes. Mais il existe des applications web, sous symfony, qui supportent des centaines d'utilisateurs.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Par défaut
    Merci mimi68.

    En fait, les tests du premier post sont des tests faits sur les vrais sites, mais un sur symfony et l'autre pas...

    /usr/local/apache/bin/ab -n 40 -c 20 http://www.exemple.com/index.php
    soit 40 requêtes avec un maximum 20 utilisateurs simultanés.

    Le serveur est saturé...

    avec un autre site sans symfony (même serveur)

    /usr/local/apache/bin/ab -n 1000 -c 200 http://www.exemple2.com/index.php

    Pas de problème...
    Je voudrais mettre le site sur symfony, mais le problème c'est la charge...
    Le site que je dois remplacer fait entre 8000 10000 vistes/jour et ils veulent multiplier par 2.

    Est ce que tu crois que mettre le cache, un accélérateur PHP et changer le serveur sera suffisant ?

    Merci

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Le domaine exemple.com existe réellement ! Mais je ne sais pas si c'est ton site

    Il faut mettre un système de cache en place, il faut mettre un accélérateur en place.

    Maintenant, sans savoir quel est la structure de ton application, il est difficile de préconiser une méthode de cache. Pour l'accélérateur, c'est plus simple.

    De plus, je te recommande l'installation du package zend pour php et apache qui, pour un serveur de prod, est certainement le plus optimisé.

    Il est aussi possible d'optimiser certaine requêtes, en effet, symfony peut être, de base, très (vraiment très) gourmand en requête SQL, j'ai vu des pages non optimisée qui utilisaient plus de 200 requêtes SQL, une simple visite dans les objets du modèles ont permit de réduire ces requêtes à moins de 5. Avec des performances incroyablement améliorées.

    Ne pas oublier non plus, pour les tests, de ne pas utiliser le mode débug qui est très gourmand.

    Donc dans les axes :
    • un accélérateur
    • optimisation de l'utilisation du système de cache
    • Vérification des requêtes et optimisation


    En dernier, il reste la possibilité d'utiliser plusieurs serveurs, symfony le supporte très bien.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 32
    Par défaut
    Merci mimi68 pour tes conseils.

    Le site exemple.com n'est pas mon site ;-)
    Pour l'instant il y a un mot de passe sur la version de symfony...

    Je vais faire ce que tu m'as conseillé
    • mettre un accélérateur
    • optimiser le système de cache
    • Vérifier les requêtes et les optimiser


    et je reviens vers toi, si tu veux, pour te montrer le site original et la version symfony.

    Quoi qu'il en soit, je mettrai mes avancées sur le développent de l'optimisation, ça pourra toujours intéresser quelqu'un ;-)

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Apache fonctionne mais erreur 404 sur page test
    Par lamouche42 dans le forum Apache
    Réponses: 7
    Dernier message: 04/05/2013, 11h10
  2. Test de champs date avec apache poi
    Par mouss4rs dans le forum Documents
    Réponses: 0
    Dernier message: 19/01/2012, 12h31
  3. [OSGI] Tests unitaires et Apache Felix
    Par identifiant_bidon dans le forum OGSi
    Réponses: 7
    Dernier message: 25/11/2011, 17h12
  4. Réponses: 12
    Dernier message: 29/05/2010, 21h21
  5. Plantage d'Apache 2 pendant test identification
    Par paratge dans le forum Dreamweaver
    Réponses: 5
    Dernier message: 02/09/2008, 15h36

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