Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2011, 11h05   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 14
Points : 1
Points : 1
Par défaut Appel à des scripts externes

Bonjour,

je participe au développement d'un site sous Symfony et je me pose une question sur laquelle j'aimerai bien des avis et des expériences.

Le "coeur" du site est basé sur des algorithmes qui génèrent X résultats en fonctions de Y paramètres. Bref, je m'étale pas là dessus.
Le problème étant que pour une première version du projet nous avons codé les algorithmes en PHP, au sein des models dans Symfony, et qu'aujourd'hui nous nous posons la question d'externaliser ces morceaux de code.
La principale raison est le fait que les temps de calculs sont trop longs (ce sont des calculs qui prennent actuellement une 20aines de secondes, mais qui pourraient malheureusement augmenter).

Est-ce que quelqu'un a déjà rencontré ce cas de figure ? Quelle langage avez-vous utilisé ? Le temps gagné était-il satisfaisant ? L'appel à des scripts externes posait-il des soucis ?

Merci d'avance pour vos réponses.
Hellblow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 11h53   #2
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonjour,

Plusieurs solutions s'offrent à vous :

1. Optimiser ces scripts : Vérifier les temps d'exécution de chacuns avec l'analyseur de requêtes inclu dans le debugger de symfony ou dans ton SGBD. Tester la montée en charge de ceux-ci sur des jeux de résultats conséquents. Décider le cas échéant d'externaliser ou de mettre en cache ces scripts trop gourmands.

2. Créer des taches symfony (sfTask)

3. Cacher les requêtes DQL grâce au Query Cache de Doctrine :

http://www.doctrine-project.org/docu...&-result-cache

Dans tous ces cas, une bonne expertise de Doctrine et une optimisation de vos requêtes semble nécessaire.

Afin de mieux cerner votre problème, pouvez-nous nous montrer au moins un de ces scripts ?

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/09/2011, 14h57   #3
Invité de passage
 
Inscription : novembre 2010
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 14
Points : 1
Points : 1
Bonjour,
merci pour ces réponses.
Je ne peux pas montrer des bouts de code pour des raisons "privées" (ou pro, comme on veut).

Sinon, je n'ai pas bien saisi l'intérêt des tâches ? Dans notre cas, les calculs sont appelés par l'utilisateur final, depuis le frontend.

Je suis actuellement en train d'analyser toutes les requêtes et de faire des tests pour optimiser. C'est justement une des raisons qui m'amènent ici .
Hellblow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 18h47   #4
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Vous pouvez tout à fait lancer des taches depuis n'importe quel contrôleur :

http://vincent.composieux.fr/2011/04...un-controller/

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h08.


 
 
 
 
Partenaires

Hébergement Web