Combien de requêtes sont trop nombreuses?
Je dois courir un temps de 10 requêtes mysql pour une personne dans une page. Est-il vraiment mauvais? J'ai de très bon hébergeur, mais encore, peut-il se briser ou quelque chose? Je vous remercie beaucoup.
source d'informationauteur good_evening
Vous devez vous connecter pour publier un commentaire.
10 requêtes rapides peut être mieux que la 1 est lente. Définir ce qui est acceptable en termes de temps de réponse, débit, en mode normal et en coup d'oeil les conditions de circulation, et de mesurer si ces 10 requêtes sont un problème ou pas (c'est à dire ne pas respecter vos attentes).
Si elles le sont, alors essayez de changer votre conception et de trouver une meilleure solution.
Sites Drupal généralement faire n'importe où à partir de 150 à 400+ requêtes par demande. Le temps total consacré à l'interrogation de la base de données est encore en 1s - ce n'est pas le nombre qui tue le serveur, mais la qualité et de la complexité des requêtes (et probablement de la taille de la base de données de la recherche à travers).
Je ne peux pas dire quelles requêtes vous parlez, mais sur la plupart des sites 10 n'est pas beaucoup à tous.
Si vous êtes concerné par les performances, vous pouvez toujours voir combien de temps votre requête à exécuter dans une base de données de gestion du programme, tel que MySQL Workbench.
Je vais reformuler votre question:
Est mon appli assez vite?
Venir avec une entreprise de la définition de "assez rapide" pour votre application (en fonction des besoins des utilisateurs), de trouver une façon de modéliser tous vos scénarios d'utilisation et de charge prévu, créer des simulations de charge et de profil (trace/heure).
Cette approche équivaut à une supposition éclairée. Autre chose que c'est de la pure spéculation, et sans valeur.
Si votre application est déjà en cours de production, et fonctionne bien dans la plupart des cas, vous pouvez obtenir de la rétroaction des utilisateurs afin de déterminer les points de douleur. À partir de là, vous pouvez le modèle de ces points de la douleur et de la charge correspondante, et le profil.
Documenter vos résultats. Une fois que vous faites des améliorations à votre application, vous avez un outil pour déterminer si les optimisations que vous faites atteint vos objectifs.
Cela dépend du nombre de cycles CPU sera la somme des requêtes.
1 de la requête peut consommer bien plus de cycles de PROCESSEUR de 100. Tout dépend de leur contenu.
Vous pourriez commencer par l'optimisation de la suite de ce guide: http://beginner-sql-tutorial.com/sql-query-tuning.htm
Si l'on est nouveau dans le développement. Je vous recommandons de vous concentrer sur le plus logique, et de manière évidente, pour éviter le sur-traitement. Ne pas passé trop de temps à penser au nombre de requêtes et de se concentrer sur le code écrit. Cela signifie que la bonne utilisation des classes, des méthodes et des fonctions.
Que le résultat sera plus facile à déboguer le code qui en soi peut conduire à de meilleures performances à droite? Puis, à un certain stade, une des applications les performances peuvent être améliorées. Quelque chose de facile à faire lorsque l'on travaille avec du code écrit.
Vous pouvez créer une classe avec des méthodes couramment utilisées requêtes et de les utiliser tout le temps. De cette façon, toutes les requêtes passent par une seule classe et à partir de là, vous pouvez faire beaucoup quand il s'agit d'améliorer les choses beaucoup plus tard dans le logiciel de votre vie.
Il existe de nombreuses façons d'éviter la répétition de requêtes ou l'écriture de requêtes plus complexes que nécessaire, qui se produit souvent. Il est plus facile à l'amélioration et vendus à d'autres développeurs si le balisage est un plaisir de travailler avec.
Je pense que ce n'est pas un problème. 10 Requêtes ne sont pas tellement pour un site. Moins c'est mieux pas de question, mais quand vous avez 3000 - 5000 alors vous devriez penser au sujet de votre structure.
Et quand vous allez dans une requête dans une table avec des millions de lignes sans index, puis de 10 à beaucoup.
J'ai vu un site Typo3 avec beaucoup d'extensions qui font de 7500 demandes avec le cache. Cela se produit lorsque vous installez et d'installer et de ne pas regarder ce qui se passe.
Mais vous pouvez regarder ce que vous faites logique de la JOINTURE sur les tables que vous avez moins de requêtes.
Bien il y a de grosses requêtes et les petits trivial requêtes. Ceux qui sont les vôtres? En général, vous devriez essayer de récupérer les données en quelques requêtes que possible. Plus la charge est lourde est sur le serveur de base de données la plus il sera difficile de servir les clients en tant que le trafic augmente.
Juste pour ajouter un peu d'un point de vue différent pour les autres bonnes réponses:
Tout d'abord, d'accord, le type et la complexité des requêtes que vous effectuez ne comptent plus de 99% du temps que le nombre de requêtes.
Toutefois, dans les rares cas où il y a une forte latence sur le réseau de chemin d'accès à votre serveur de base de données (c'est à dire le serveur de base de données est à distance, ne pas le dire c'est une logique ou sain d'esprit de l'installation, mais je l'ai vu faire), alors vous voulez minimiser le nombre de requêtes à faire, parce que chaque fois que vous parlez à la base de données du serveur de la transmission sur le réseau, le temps prendra un ordre de grandeur ou deux de plus qu'il n'en faut pour calculer la requête. Cette situation peut vraiment tuer votre page de temps de chargement, et donc, vous voulez vraiment réduire le nombre de requêtes (en fait, vous voulez juste changer la configuration de votre serveur...).