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

AJAX Discussion :

Optimiser les requêtes en boucle (Priorisation?)


Sujet :

AJAX

  1. #1
    Membre du Club Avatar de Sianobel
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2007
    Messages : 54
    Points : 58
    Points
    58
    Par défaut Optimiser les requêtes en boucle (Priorisation?)
    Bonjour,

    En tant qu'autodidacte un peu nulle, je viens vous poser une question pour continuer mon script de quizz en ligne. J'ai plusieurs requêtes qui devront tourner en même temps pour surveiller les actions de chaque personne et les afficher chez les autres (quand quelqu'un buzz par exemple ou pour afficher le score). Le truc c'est que je n'en fais tourner que deux qui se rechargent chaque seconde pour le moment et le site ralentit beaucoup trop.

    Auriez vous des pistes pour prioriser les requête ou attendre qu'une requête s'exécute l'une à la suite des autres? J'ai vu sur internet que les callback ou les promesses pourraient aider mais je ne comprends pas encore comment les mettre en place.

    Je devrai encore rajouter des requêtes mais faut d'abord que je règle ce problème avant.

    La fonction de recharge est la suivante:
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var delay = 0;
    function synchro(){
        requestAnimationFrame(synchro);
        if(delay > 100){
            nom_joueur();
    		afficher_question_joueur();
            delay=0;
        }
        delay++;
    }
    synchro();

    Merci pour ceux qui voudront bien m'aider. Une bonne journée à tous et à toutes.

  2. #2
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    Alors première question, as-tu des problèmes de performances ? Car il ne sert généralement à rien de chercher à suroptimiser quand il n'y pas de problème, ça revient à se gratter là où ça ne chatouille pas.
    Ensuite, as-tu pensé à utiliser un websocket pour les échanges en temps réel ?

    Ta fonction est mal pensée par ailleurs. RequestAnimationFrame appel la fonction dès que le navigateur en est capable, ça peut être des centaines de fois par seconde, ton compteur incrémenté n'est donc absolument pas fiable. Pourquoi ne pas utiliser setTimeout par exemple ?

  3. #3
    Membre du Club Avatar de Sianobel
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2007
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    Le site mets plus de 5 secondes a réagir quand on clique. Ce n'est vraiment pas possible pour un site qui se doit être réactif, d'où mon questionnement sur comment faire pour regagner cette "puissance" perdue, là où sur des page n'ayant pas ces fonction de synchro, ça fonctionne en moins d'une seconde.

    Je ne connais pas les websockets. Qu'est ce donc? (sinon je vais chercher sur google dès que j'ai le temps mais je suis occupée sur autre chose en ce moment ^^°)

  4. #4
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    Ben si tu fais des requêtes plusieurs fois par seconde ce n'est pas très étonnant

    Un websocket est une connexion qui reste ouverte entre un client et un serveur. Le client peut envoyer des messages au serveur et inversement. Pas besoin de faire des pings tous les x temps, le client recevra des données quand il y aura des données à recevoir.
    Ca ne doit pas être trop compliqué à mettre en place avec nodejs

  5. #5
    Membre du Club Avatar de Sianobel
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2007
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Oui, je viens de me rendre compte que je fais 10 appels par seconde (si je ne me trompe pas). Par contre, vu que je loue le ftp, je ne suis pas sure de pouvoir utiliser nodejs.

  6. #6
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    A voir, c'est faisable également en PHP, mais là je ne pourrai pas t'aider

Discussions similaires

  1. [PDO] PDO Comment structurer son code quand on a plusieurs requêtes?
    Par binco dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/12/2014, 05h50
  2. Réponses: 3
    Dernier message: 06/10/2009, 17h03
  3. [C# 2.0] Comment sauver ma base sur disque dur ?
    Par Pierre8r dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/05/2006, 07h50
  4. Comment sauver un TTreeView et ses nodes data ?
    Par faimo dans le forum Composants VCL
    Réponses: 6
    Dernier message: 19/04/2005, 14h48
  5. Comment sauver plusieurs String ?
    Par Speed41 dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2004, 14h49

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