Partage
  • Partager sur Facebook
  • Partager sur Twitter

optimisation bande passante

    8 avril 2021 à 18:05:16

    Bonjour,

    J'utilise WAMP server.

    Actuellement en train de créer un site de quiz en ligne, je me prends la tête depuis des jours à savoir comment optimiser au mieux ma base de donnée et le nombre de requête à faire.

    Dans un premier temps, le site permettra simplement de pouvoir répondre à des questions de manière individuelle. J'ai en tête de faire un multijoueur, mais je n'ai absolument aucune idée des ressources que cela peut consommer et je souhaite déjà optimiser le site pour une utilisation plus simple.

    Pour l'instant, je m'imagine que ma base de donnée à 10.000 questions. Quand je me connecte au site, une requête s'effectue et va chercher un paquet de 1000 questions.

    Première interrogation : à partir de combien de questions une requête est-elle vraiment lourde ?

    Ma table de questions possède les champs suivants : id, question, réponse, thème, sous-thème et type de réponse (date, couleur, etc...)

    Une question est accompagnée de 4 propositions de réponses. La bonne réponse pouvant déjà être affichée, je dois donc générer les 3 autres aléatoirement en faisant une autre requête à la table questions qui se basera sur le thème et le type de réponse de la question, allant ainsi chercher des réponses cohérentes avec la question.

    Deuxième interrogation : A quel point faire une requête à chaque question est-il gourmand en ressource ? Cela ne me parait pas du tout optimiser mais d'un autre côté je ne vois pas comment faire autrement.

    Je pourrais bien sur me baser sur le JSON déjà reçu me permettant d'afficher les questions et aller prendre toutes les réponses d'un thème et d'un type de réponse. Cependant, sur 1 paquet de 1000 questions, il est probable qu'il n'y est pas assez de réponse pour un sujet donnée.

    Je veux vraiment optimiser au maximum le site et réussir à obtenir un multijoueur stable. Sachant que ce multijoueur sera sous forme de petit salon pouvant accueillir jusqu'à X personnes (comme dit plus haut, je ne connais pas les capacités d'un serveur mais j'aimerais si possible pouvoir accueillir une vingtaine de personne par salon).

    Je le précise au cas où : j'utilise l'API Fetch en JavaScript, PHP pour faire mes requêtes.

    J'espère avoir été clair ^^.

    Merci d'avance et bonne journée/soirée.

    -
    Edité par Navarog 8 avril 2021 à 18:10:41

    • Partager sur Facebook
    • Partager sur Twitter
      9 avril 2021 à 9:44:29

      Bonjour,

      Navarog a écrit:

      ma base de donnée à 10.000 questions. Quand je me connecte au site, une requête s'effectue et va chercher un paquet de 1000 questions.

      Première interrogation : à partir de combien de questions une requête est-elle vraiment lourde ?

      Dans cet exemple, ce n'est pas la requête qui va être lourde un SELECT de 1 000 parmi 10 000 ne prendra pas beaucoup de temps. Par contre c'est côté application que le temps de traitement du retour SQL pourra être plus conséquent. Cela va dépendre de ce que tu fais unitairement avec chaque question et de la quantité de code HTML que tu affiches ... Afficher les 1000 questions pourra être énorme et rapidement faire du "poids" à télécharger pour le "client".

      Navarog a écrit:

      Deuxième interrogation : A quel point faire une requête à chaque question est-il gourmand en ressource ?

      La question est plutôt de savoir comment organiser ton appli pour ne pas récupérer 1 000 questions d'un coup, mais plutôt de plus petits paquets ...

      Ensuite, tu peux très bien récupérer en une seule requête questions et réponses ...

      Il faudrait aussi imaginer le nombre d'utilisateurs simultanés ... Si ce nombre est prévu d'être grand, et vu le faible besoin d'intégrité référentielle des données, peut-être que s'orienter sur du NoSQL (MongoDB par exemple) serait plus performant ?

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section Base de données vers la section Discussions développement

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

      optimisation bande passante

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown