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

Langage PHP Discussion :

Cron web - choix technique


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut Cron web - choix technique
    Bonjour à tous,

    j'aimerai effectuer une tâche quotidienne avec des instructions php en dialogue avec la BdD.
    Mon collègue a déjà fait des essais il y a quelque temps en php pur. Le serveur était mis à rude épreuve, et perturbait son utilisation.

    En gros, pour simplifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    for(diag = 0  ;  diag < 500  ; diag++)
       ReactualiseElements(diag); 
    ?>
    La fonction ReactualiseElements prend plus ou moins 30 secondes.
    Du coup, le traitement total dure très longtemps !

    Faudrait-il pour un traitement aussi lourd, faire autrement ? passer par (diag) N traitements ajax ?

    Désolé si mes propos sont idiots, c'est juste que je me demande par où commencer.


    Merci d'avance.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fait plutôt un système de queue

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Tout à fait, il faudrait également déterminer si une optimisation n'est pas possible en identifiant les bottlenecks.

  4. #4
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut
    Merci pour les réponses.

    J'avoue par contre ne pas encore savoir comment faire pour le système de queue. En PHP ? Je vais chercher un peu.

    Pour les goulots d'étranglement, c'est pour essayer de réduire le temps d'exécution de la fonction "ReactualiserElements(diag)" ?
    Cela va demander énormément en sachant le nb de vues de calculs sollicités dans cette fonction.
    Tu utilises quelque chose de précis pour repérer les bottlenecks ? (logiciels d'analyse de fonctions SQL explain pour postgresql par exemple)

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    regarde du coté de RabbitMQ

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Citation Envoyé par gui80 Voir le message
    Tu utilises quelque chose de précis pour repérer les bottlenecks ? (logiciels d'analyse de fonctions SQL explain pour postgresql par exemple)
    Oui mais pas seuelement, tu peux aussi décortiquer les grinds d'execution de PHP avec Webgrind ou WinGrind (ces fichiers de profiling peuvent être produits par un débugger comme ZendDebug ou xdebug).

    Pour faire des queues de traitement, je ne sais pas trop, ça va dépendre de la forme de ton application, de la fréquence d'actualisation souhaité, des contraintes de performances etc.

  7. #7
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut
    Bonsoir à tous,

    en fait, ce qu'il faut optimiser, c'est les requêtes, il faut que je comprenne au mieux les plans d'exécution de l'optimiseur de PostgreSQL.

    J'avoue avoir du mal à trouver des tutoriaux complets sur le sujet.
    Celui-ci parle de la base pour analyser un EXPLAIN :
    http://blog.sdewitte.net/post/2010/1...A-explain-plan

    S'il y en a d'autres, plus complets, je suis preneur.
    En général, c'est le manque d'index qui est souvent négligé dans la constitution des tables SQL non ?

  8. #8
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Tu as cet article qui traite du sujet. Bonne lecture.

  9. #9
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut
    Merci Benjamin.

    Il faudra que j'essaie de lire cela au plus tôt.
    Voir la config du serveur, elle ne doit pas être assez bien configuré, mais j'avoue ne jamais m'y être intéressé !
    Mais il le faudrait, on est bien d'accord.

  10. #10
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Y'a pas que la config du serveur, y'a aussi l'optimisation des tables, des indexes, des clés étrangères et des requêtes

    Par ailleurs pour une modélisation correcte je te recommande d'adopter l'usage des formes normales: http://en.wikipedia.org/wiki/Databas...n#Normal_forms

Discussions similaires

  1. Choix technique pour serveur web
    Par ARAMYS dans le forum Distributions
    Réponses: 3
    Dernier message: 18/05/2012, 11h28
  2. Réponses: 4
    Dernier message: 03/02/2010, 22h53
  3. intranet PHP -> appli pocket pc : choix technique
    Par squal_13 dans le forum Windows Mobile
    Réponses: 3
    Dernier message: 22/06/2007, 11h39
  4. Choix techniques liés à la création d'un site web
    Par christophe78 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 27/09/2006, 15h20
  5. Choix technique DB ACCESS / SQL Server et internet
    Par Yoann_D dans le forum Décisions SGBD
    Réponses: 12
    Dernier message: 29/07/2003, 17h12

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