CyberTek - the future at the present!
Google

Optimisation de MySQL

Posté par: admin (juin 19)

Pas le temps de parler de la façon de créer des tableaux optimisé pour donner de meilleurs résultats. Je me souviens seulement que les champs indexés améliorer beaucoup le temps d'exécution. Parlez plutôt d'une petite astuce pour la rendre plus performante que MySQL est installé sur la plupart des distributions sans trop de paramètres de réglage. Les informations renvoyer une distribution Linux, mais peut être facilement adaptée à d'autres OS.

Le fichier de configuration se trouve généralement dans / etc / my.ini.

Eempio de my.ini:

[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
set-variable = key_buffer = 64M
set-variable = max_user_connections = 100
set-variable = query_cache_size = 64M
# Par défaut à l'ancien mot de passe en utilisant le format pour la compatibilité avec MySQL 3.x
# Clients (ceux qui utilisent le paquetage de compatibilité mysqlclient10).
old_passwords = 1

[mysql.server]
user = mysql
basedir = / var / lib

[mysqld_safe]
err-log = / var / log / mysqld.log
pid-file = / var / run / mysqld / mysqld.pid

les tampons: le tampon de toute incremeto sera une base de données beaucoup plus rapidement. Réglez ensuite le tampon en fonction de la quantité de mémoire disponible, en tenant compte de la consommation faite par le système d'exploitation et d'autres applications et services en cours d'utilisation. Si vous allouer trop de mémoire tout en n'ayant pas une disposition en mai exécuter les performances globales du système.

Wait_timeout: représente le temps qui s'écoule avant qu'il ne soit fermé automatiquement se connecter à MySQL en raison de leur inactivité. Chiffre inférieur de meilleures performances. Dans ce cas, vous devez également jouer le type de connexions et de leur prétendue de temps pour calibrer le meilleur paramètre.

back_log: Contrôle du nombre de connexions simultanées, il peut soutenir tout en crée de nouvelles Mysql fil. La diminution du nombre, plus la vitesse. Attention, il est facile de ne pas dégrader les performances en mettant ce paramètre correctement, utiliser seulement lorsque c'est absolument nécessaire.

Max_user_connections: Définit le nombre maximal de connexions autorisées à un utilisateur. Il est très utile dans les systèmes où le même serveur MySQL a accès à plusieurs utilisateurs simultanément.

Delayed_queue_size: nombre de lignes avec INSERT DELAYED. Seront moins dans le sens, le plus rapidement Mysql.

Sort_buffer_size: définit la taille de la mémoire tampon allouée à la mise en œuvre des clauses ORDER BY et GROUP BY. Pour effectuer des requêtes plus efficace il de mettre ce paramètre à une valeur de plus de 2M.

Table_cache: contrôle le nombre de tables ouvertes pour tous les fils, l'augmentation de cette variable va augmenter les tables chargées simultanément et à l'exécution de Mysql sera beaucoup plus rapide. Attention à ce paramètre, les systèmes d'exploitation ont une limite de pointeurs de fichiers ouverts à la fois, si vous dépassez cette limite, vous engager dans toute mai un mauvais fonctionnement du système.

Thread_cache_size: Définit le nombre de fils à garder en mémoire cache. Cette fonctionnalité rend l'utilisation de fils très rapide.

La commande SHOW STATUS nous permet de suivre en temps réel de ces variables, qui plus que d'autres pour nous aider à comprendre quels sont les plus importantes améliorations que nous pouvons faire:

  • Handler_read_first: Indique combien de fois le premier enregistrement a été lu à partir d'une table. Si cela arrive souvent, cela signifie que le tableau n'est pas indexé correctement.
  • Innodb_buffer_pool_wait_free: indique le nombre de fois que MySQL est d'attendre que le curage de pages de mémoire. Si la valeur de retour est élevé, le bassin tampon de taille n'a pas été configuré correctement pour le montant de l'objet d'opérations d'écriture par le serveur.
  • Key_reads: indique le nombre de fois que l'accès à MySQL, le système de fichiers de base de données d'indices. Cela ralentit la vitesse d'exécution de la requête, si cette valeur est élevé, cela signifie que la clé de mémoire tampon est trop faible et devrait être augmenté.
  • Max_used_connections: Indique le nombre maximum de connexions que MySQL a ouvert au cours de la dernière botte. D'une part, cela constitue un véritable repère (il permet de déterminer le nombre maximum de connexions que le serveur peut supporter) et l'autre est présenté comme une pratique d'analyse de traffic.
  • Open_tables: Indique le nombre de tables ouvertes. Cette valeur doit être analysée en combinaison avec la taille du cache de la table. Normalement, la taille de table_cache devrait être plus élevée pour cette variable. Si la valeur de open_tables est beaucoup plus faible que table_cache pour éviter les problèmes de performance, il est donc également de réduire la taille du cache. Si la valeur de open_tables est très élevé et se rapproche de la taille du cache, puis le soulever table_cache.
  • Select_full_join: Le nombre de rejoindre MySQL a réalisé pour répondre à la demande des clients. Une valeur élevée indique que, au lieu d'utiliser des index, MySQL a été forcé d'effectuer le plein rejoindre. Cela suggère la nécessité d'un fort indice de ces tableaux.
  • Slow_queries: indique le nombre de requêtes qui ont pris plus longtemps que d'habitude à faire. Une valeur élevée devrait nous conduire à analyser les log des requêtes lentes à identifier ce que sont la lenteur de requête à optimiser.
  • Threads_connected: Indique le nombre total de clients qui sont connectés au serveur, dans un tel moment.
  • Created_tmp_disk_tables: indique le nombre de tables temporaires, qui ont été créés sur le disque au lieu de la mémoire. Étant donné que l'accès des tableaux sur un disque est généralement plus lent que la mémoire, le contenu de la variable est inversement proportionnelle à la rapidité avec laquelle les requêtes sont en cours d'exécution de la commande CREATE TEMPORARY TABLE.
  • Uptime: Affiche le nombre de secondes sur le service.
Publié dans: mysql, conseils

Ajouter un commentaire

Powered by CyberTek - Assistance à distance