


Clé des paramètres de configuration MySQL pour les performances (my.cnf)
Jul 03, 2025 am 01:15 AMLa clé du réglage des performances MySQL réside dans la configuration rationnelle des paramètres My.cnf. 1. Innodb_buffer_pool_size est recommandé de régler à 50% ~ 80% de la mémoire physique. Par exemple, 64 Go de mémoire peuvent être définis sur 48 g pour améliorer l'efficacité des données et du cache d'index; 2. Max_Connections peut être définie sur 500 ou plus en fonction des exigences de concurrence pour éviter les délais de connexion; 3. Pour MySQL 5.7 et les versions précédentes, le cache de requête doit être désactivé dans des scénarios qui écrivent plus et lisent moins (query_cache_type = 0, query_cache_size = 0), les scénarios en lecture seule peuvent être activés et définis sur 64m ~ 256m; 4. TMP_TABLE_SIZE et MAX_HEAP_TABLE_SIZE sont recommandés pour régler 64m ou plus pour réduire l'utilisation de tables de disque temporaires; 5. INNODB_LOG_FILE_SIZE est recommandé de régler 512m ou 1G pour améliorer les performances de l'écriture. D'autres optimisations incluent l'ajustement de la stratégie innodb_flush_log_at_trx_commit, table_open_cache améliore la vitesse d'ouverture du tableau et le type de disque d'adaptation innodb_io_capacity. Différentes charges commerciales doivent être configurées de manière flexible conformément aux conditions réelles, et le pool de tampon et le numéro de connexion doivent être ajustés en premier.
Une grande partie du travail du réglage des performances de MySQL se concentre sur le réglage my.cnf
(ou my.ini
). Si vous constatez que la réponse de la base de données est lente, la connexion est fréquente ou que l'utilisation des ressources est extrêmement élevée, ce n'est probablement pas un problème avec le code, mais la configuration n'est pas correctement ajustée.

Voici quelques paramètres clés de configuration MySQL qui ont un grand impact sur les performances et conviennent à la plupart des environnements de production pour s'adapter correctement.

1. Innodb_buffer_pool_size
Il s'agit de l'un des éléments de configuration les plus importants du moteur InNODB, qui détermine la taille de la mémoire des données et des index mis en cache.
- La valeur par défaut est généralement petite (comme 128 m), ce qui est loin d'être suffisant pour les applications avec un grand nombre d'opérations de lecture et d'écriture.
- Il est recommandé de le régler à 50% ~ 80% de la mémoire physique, mais laisse suffisamment d'espace pour le système et d'autres services.
- Si vous utilisez un serveur de base de données dédié et que la quantité de données n'est pas importante, vous pouvez envisager d'allouer environ 70% de la mémoire directement à ce paramètre.
- Si votre serveur dispose de 64 Go de mémoire, vous pouvez essayer de le définir sur
innodb_buffer_pool_size = 48G
.
Remarque: Si cette valeur est trop grande, elle peut entra?ner un échange de système, ce qui affectera les performances.
![]()
2. Max_Connections
Contr?le le nombre maximum de connexions simultanées autorisées par MySQL.
- La valeur par défaut est généralement 151, mais il est facile d'atteindre la limite supérieure dans les scénarios de concurrence élevés.
- Il peut être fixé à 500 ou plus en fonction des attentes commerciales, mais note également:
- Chaque connexion prendra une certaine quantité de mémoire, la définition trop élevée peut entra?ner l'épuisement des ressources.
- Si la limite supérieure est souvent approchée, il est recommandé d'optimiser les requêtes lentes ou d'ajouter du middleware de pool de connexion en même temps.
3. Query_cache_type et query_cache_size (uniquement disponible pour MySQL 5.7 et plus t?t)
Ces deux paramètres sont utilisés pour activer et contr?ler la fonction de mise en cache de requête.
- La mise en cache de requête peut considérablement améliorer les performances des requêtes en double, mais peut également conduire à écrire des goulots d'étranglement.
- Dans les scénarios où plus d'écrits se lit moins, il est recommandé de désactiver (
query_cache_type = 0
,query_cache_size = 0
). - Pour les données mises à jour en lecture seule ou à basse fréquence, l'espace de cache peut être activé et alloué de manière appropriée, tels que 64 m à 256 m.
MySQL 8.0 a supprimé la fonction de mise en cache de requête, donc ces paramètres ne sont pas nécessaires.
4. TMP_TABLE_SIZE et MAX_HEAP_TABLE_SIZE
Ces deux paramètres déterminent ensemble la capacité maximale de la table temporaire de mémoire.
- Lors de l'exécution de requêtes complexes (comme le groupe BY, Distinct, etc.), MySQL essaiera d'abord de créer des tables temporaires en mémoire.
- Si la limite est dépassée, elle sera automatiquement transférée à une table de disque, ce qui entra?nera une dégradation des performances.
- Il est recommandé de définir les deux sur 64 m ou plus, par exemple:
tmp_table_size = 64m max_heap_table_size = 64m
5. Innodb_log_file_size
Contr?le la taille de chaque fichier journal InNODB.
- Les fichiers journaux plus grands aident à améliorer les performances de l'écriture, en particulier lorsqu'il y a beaucoup d'opérations d'écriture.
- La valeur par défaut peut être de 48 m ou 128 m. S'il est trop petit, cela entra?nera un rin?age fréquent du disque.
- Le réglage recommandé est de 512 m ou 1g, comme:
innodb_log_file_size = 512m
Après avoir modifié ce paramètre, MySQL doit être redémarré et le fichier journal sera régénéré au démarrage du premier démarrage.
Autres points d'optimisation courants (facultatif)
innodb_flush_log_at_trx_commit
Contr?le la stratégie de rafra?chissement du journal des transactions, qui doit rincer le disque à chaque fois que vous vous engagez (le plus s?r). Si vous pouvez accepter certains risques, vous pouvez le définir sur 2 (balayez une fois par seconde) pour améliorer les performances.table_open_cache
Améliorez la vitesse des tables d'ouverture, en particulier les bases de données avec un grand nombre de tables. La valeur par défaut est 2000, qui peut être ajustée de manière appropriée en fonction de la quantité réelle.innodb_io_capacité
Définir la capacité d'IO, le disque dur mécanique est généralement réglé à 200 et le SSD peut être réglé sur 1000 ou plus.
Fondamentalement, ces paramètres My.CNF plus critiques sont tous. Différentes charges commerciales nécessitent différentes combinaisons de configuration, donc ne copiez pas aveuglément les expériences des autres. Vous pouvez d'abord commencer par le pool de tampon et le numéro de connexion, puis ajuster progressivement d'autres paramètres.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment optimiser les performances de SQLServer et MySQL afin qu'ils puissent fonctionner au mieux ? Résumé : Dans les applications de bases de données actuelles, SQLServer et MySQL sont les deux systèmes de gestion de bases de données relationnelles (SGBDR) les plus courants et les plus populaires. à mesure que la quantité de données augmente et que les besoins des entreprises continuent d’évoluer, l’optimisation des performances des bases de données devient particulièrement importante. Cet article présentera quelques méthodes et techniques courantes pour optimiser les performances de SQLServer et MySQL afin d'aider les utilisateurs à tirer parti de

Dans la base de données MySQL, l'indexation est un moyen très important d'optimisation des performances. Lorsque la quantité de données dans la table augmente, des index inappropriés peuvent ralentir les requêtes ou même provoquer des pannes de base de données. Afin d'améliorer les performances des bases de données, les index doivent être utilisés de manière rationnelle lors de la conception des structures de tables et des instructions de requête. L'index composite est une technologie d'indexation plus avancée qui améliore l'efficacité des requêtes en combinant plusieurs champs sous forme d'index. Dans cet article, nous détaillerons comment améliorer les performances de MySQL en utilisant des index composites. Qu'est-ce que l'indice composite

La cardinalité d'index a un impact significatif sur les performances de la requête MySQL. Des index de cardinalité élevés peuvent localiser les données plus rapidement et optimiser les requêtes; Des index de cardinalité faibles peuvent entra?ner une numérisation complète de la table. Les performances de la requête peuvent être efficacement améliorées en mettant régulièrement à la mise à jour les statistiques, en sélectionnant le type d'index approprié, en évitant l'oudeur et en utilisant un sur-indice.

Les performances de MySQL sous une charge élevée ont ses avantages et ses inconvénients par rapport aux autres SGBDR. 1) MySQL fonctionne bien sous des charges élevées via le moteur InNODB et les stratégies d'optimisation telles que l'indexation, le cache de requête et les tables de partition. 2) PostgreSQL fournit une lecture et écriture concurrents efficaces via le mécanisme MVCC, tandis qu'Oracle et Microsoft SqlServer améliorent les performances grace à leurs stratégies d'optimisation respectives. Avec une configuration et une optimisation raisonnables, MySQL peut bien fonctionner dans des environnements à haute charge.

Les principales raisons des mauvaises performances de requête MySQL incluent le non-utilisation d'index, la mauvaise sélection du plan d'exécution par l'optimiseur de requête, la conception de table déraisonnable, le volume de données excessif et la concurrence de verrouillage. 1. Aucun indice ne provoque une requête lente et l'ajout d'index ne peut améliorer considérablement les performances. 2. Utilisez la commande Expliquez pour analyser le plan de requête et découvrez l'erreur Optimizer. 3. Reconstruire la structure de la table et l'optimisation des conditions de jointure peut améliorer les problèmes de conception de la table. 4. Lorsque le volume de données est important, les stratégies de partitionnement et de division de table sont adoptées. 5. Dans un environnement de concurrence élevé, l'optimisation des transactions et des stratégies de verrouillage peut réduire la concurrence des verrous.

MySQL est actuellement l'un des serveurs de bases de données les plus utilisés, et PHP, en tant que langage de programmation c?té serveur populaire, ses applications interagissent généralement avec MySQL. Dans des conditions de charge élevée, les performances de MySQL seront grandement affectées. à ce stade, la configuration PHP doit être ajustée pour améliorer les performances de MySQL et ainsi augmenter la vitesse de réponse de l'application. Cet article explique comment améliorer les performances de MySQL grace à la configuration PHP. Pour configurer PHP.ini, vous devez d'abord ouvrir le fichier de configuration PHP (PHP.ini), afin de pouvoir modifier

Dans MySQL, le niveau d'isolation des transactions est un concept très important, qui détermine la manière dont la base de données gère l'accès simultané aux données lorsque plusieurs transactions sont exécutées en même temps. Dans les applications pratiques, nous devons choisir le niveau d'isolation approprié en fonction des besoins spécifiques de l'entreprise pour améliorer les performances de MySQL. Tout d’abord, nous devons comprendre les quatre niveaux d’isolation des transactions de MySQL?: READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ et SERIALIZA.

La mise en commun des connexions peut considérablement améliorer les performances de MySQL. 1) Il réduit le nombre de temps de création et de cl?ture de connexion en pré-créant et en maintenant un ensemble de connexions. 2) Initialisez le pool de connexion au démarrage de l'application, obtenez la connexion à partir du pool lorsque vous avez demandé et renvoyez-la après utilisation. 3) Configuration de la taille du pool de connexion, Définition des délais d'expiration et des contr?les de santé, gestion des transactions et assurer la lisibilité et la maintenance du code sont les meilleures pratiques d'implémentation.
