Maison > base de données > tutoriel mysql > le corps du texte

Explication des facteurs affectant les performances dans la base de données MySQL (avec cas d'architecture de base de données)

不言
Libérer: 2018-09-17 17:50:28
original
1298 Les gens l'ont consulté

Ce que cet article vous apporte, c'est une explication des facteurs qui affectent les performances de la base de données MySQL (avec des cas d'architecture de base de données). J'espère que cela sera utile aux amis dans le besoin. toi.

Histoires sur les performances de la base de données

Au cours de l'entretien, des éléments concernant la base de données reviendront plus ou moins, "Dans quelle mesure maîtrisez-vous la base de données ?", quand les performances de la base de données sont-elles les plus élevées testés, promettent d'être les principaux D'une part, c'est le moment de lire et d'écrire de grandes quantités de données, et les promotions de commerce électronique sont le moment de tester les performances de leurs bases de données respectives.

Pour les serveurs Web, lorsque la quantité de données est importante, nous pouvons simplement réduire la charge sur un seul serveur grâce à une expansion horizontale, mais pour les serveurs de bases de données, ce n'est pas si simple. Ils ne peuvent pas le faire facilement. L'expansion viole également les principes d'intégrité et de cohérence des bases de données. Alors, comment notre architecture de base de données doit-elle être construite ?

Pour les activités de promotion majeures, quelle que soit la qualité du produit ou le succès de la planification, s'il n'y a pas de base de données et d'environnement de serveur stables, tout cela sera vain.

Cas de l'architecture de base de données

Explication des facteurs affectant les performances dans la base de données MySQL (avec cas darchitecture de base de données)

Comme le montre la figure, il n'y a pas de composant de réplication maître-esclave entre les serveurs maître et esclave , c'est-à-dire lorsque le serveur maître En cas de panne, il est difficile de changer de serveur maître. Cela nécessite que le DBA sélectionne le serveur esclave avec les dernières données, le promeuve au rang de serveur maître et synchronise les autres serveurs esclaves. Le coût en temps de ce processus est également très lourd.

Et trop de serveurs esclaves poseront également un certain défi à la carte réseau du serveur maître lorsque le volume d'activité est important.

Nous pouvons comprendre ce qui affecte les performances de la base de données grâce aux informations de surveillance du cluster.

Oui, oui. De manière générale, les principales raisons sont le QPS et le TPS, la concurrence (le nombre de requêtes traitées en même temps, pour éviter toute confusion avec le nombre de connexions simultanées), les E/S disque et les opérations de lecture. qui sont trop élevés

Voici une suggestion : il est préférable de ne pas sauvegarder les données sur la base de données principale. Au moins, annulez ces plans avant des événements à grande échelle

Facteurs affectant la base de données<.>

Vitesse des requêtes SQL

Matériel du serveur
Trafic de la carte réseau
E/S disque

  • QPS et TPS ultra-élevés

Risque : SQL avec une faible efficacité (QPS : requêtes traitées par seconde)

  • Une grande quantité de concurrence et une utilisation ultra-élevée du processeur

Risque : grande quantité de concurrence (le nombre de connexions à la base de données est saturé (max_connections par défaut est 100))

Risque : utilisation ultra-élevée du processeur (temps d'arrêt dû à l'épuisement des ressources du processeur)

  • E/S disque

Risque : les performances d'E/S disque chutent soudainement (utilisez un périphérique de disque plus rapide)

Risque : Autres tâches planifiées qui consomment beaucoup de performances du disque (ajustez tâches planifiées)

  • Trafic de la carte réseau

Risque : L'E/S de la carte réseau est pleine (1000 Mo/8=100 Mo)

Comment éviter de ne pas pouvoir se connecter à la base de données :

1. Réduisez le nombre de serveurs esclaves
2. Effectuez une mise en cache hiérarchique
3. Évitez d'utiliser "select *" pour la requête
4. Séparez les affaires réseau et réseau de serveurs

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!