|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 14 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
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 |
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 14 ![]() |
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 |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Vous pouvez tout à fait lancer des taches depuis n'importe quel contrôleur :
http://vincent.composieux.fr/2011/04...un-controller/ Cordialement, Mathieu |
|
10
|
Copyright © 2000-2012 - www.developpez.com