CyberTek - the future at the present!
Google

Otimizando MySQL

Publicado por: admin (19 de xuño)

Non falar agora sobre como crear táboas óptimo para dar mellores resultados. Só me lembro de que os campos indexadas mellorar bastante o tempo de execución. Imos falar en vez de un pequeno algúns trucos para facelo máis rápido MySQL é normalmente instalado na maioría das distro, sen parámetros de axuste moito. Información refírense a distro Linux pero poden ser facilmente adaptadas para outros sistemas operativos.

O ficheiro de configuración é xeralmente atopar en / my.ini / etc.

Eempio de my.ini:

[Mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql mysql.sock /
Variable buffer set = key = 64M
Variable set = max_user_connections = 100
Variable set = query_cache_size = 64M
# Usando o formato estándar para o contrasinal antiga para compatibilidade con MySQL 3.x
# Clientes (mysqlclient10 Os que utilizan o paquete de compatibilidade).
old_passwords = 1

[] Mysql.server
user = mysql
Based = / var / lib

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

buffers: o buffer, aumentando a calquera base de datos pode ir moito máis rápido. Define entón buffers de acordo coa cantidade de memoria dispoñible, tendo en conta o consumo feito polo sistema operativo e outras aplicacións e servizos para uso. Se reservar memoria aínda que non estea dispoñible, pode executar en peor o desempeño xeral do sistema.

Wait_timeout: representa o tempo que transcorre antes que unha conexión é automaticamente pechado debido á inactividade MySQL. menor número significa mellor rendemento. Neste caso, debe tamén desempeñar o tipo de ligazóns ea súa vida útil estimada para mellor calibrar o parámetro.

back_log: controla a cantidade de conexións simultáneas poden soportar MySQL, creando novos temas. Canto menor o número, maior a velocidade. Atención non é doado para degradar o desempeño definindo este parámetro correctamente, usalo só cando absolutamente necesario.

Max_user_connections: define o número máximo de conexións simultáneas permitidas para un usuario. É moi útil en sistemas onde MySQL ten acceso ao mesmo servidor varios usuarios ó mesmo tempo.

Delayed_queue_size: número de liñas engadidos con insert DELAYED. menos liñas serán engadidas, o máis rápido MySQL.

Sort_buffer_size: Establece o tamaño do buffer para a execución das cláusulas ORDER BY e GROUP BY. Para facer consultas máis eficacia debe definir este parámetro para un valor maior que 2M.

Table_cache: controla o número de táboas abertas para todos os segmentos, o aumento desta variable, os cadros cargados simultaneamente, aumentar a eficacia do MySQL é moito máis rápido. Atención a este parámetro, os sistemas operativos teñen un límite de punteiros para os arquivos poden ser abertos simultaneamente, se supera este límite poderá incorrer sistema anomalía.

Thread_cache_size: define o número de segmentos para manter na memoria caché. Esta característica fai uso de fíos moi rápida.

O comando SHOW status nos axuda a seguir en tempo real as variables que máis axudar a outros a entender cales son as melloras máis significativas que podemos facer:

  • Handler_read_first: cantas veces o primeiro rexistro foi lido desde o índice nunha táboa. Se isto ocorre con frecuencia, isto significa que a táboa non foi indexado correctamente.
  • Innodb_buffer_pool_wait_free: O número de veces que MySQL debe agardar a descarga de páxinas de memoria. Se o valor de retorno é alta, entón o tamaño do pool de buffer non foi configurado correctamente para a cantidade de tarefas de gravación sufrido polo servidor.
  • Key_reads: O número de veces que o sistema de arquivos para acceder base de datos MySQL índices. Isto diminúe a velocidade de execución da consulta, polo que se ese valor é alto, entón isto significa que o buffer de chaves moi pequeno e debe ser aumentado.
  • Max_used_connections: indica o número máximo de conexións que MySQL tivo que ser abertos simultaneamente durante a última inicialización. O primeiro representa unha verdadeira referencia (axuda a determinar o número máximo de conexións que o servidor pode soportar) eo outro é presentado como un analizador de tráfico práctica.
  • Open_tables: Indica o número actual de táboas abertas. Este valor debe ser analizado en asociación co tamaño do caché da táboa. Normalmente, o tamaño do table_cache debe ser definido maior que esa variable. Se o valor é moi inferior table_cache open_tables para evitar problemas de eficacia, debe, polo tanto, reducir o tamaño do caché. Se o valor da open_tables é moi alto e preto do tamaño da caché deberá aumentar table_cache.
  • Select_full_join: O número de adhesión plena MySQL ten feito para atender as solicitudes do cliente. Un valor alto indica que en vez de usar os índices, MySQL foi forzada a realizar intersección completa. Isto suxire a necesidade dun forte índice destas táboas.
  • Slow_queries: O número de consultas que levaron máis tempo que o habitual para realizar. Un valor elevado debe nos levar a considerar a Slow Query Log para identificar cales son as consultas lentas ser óptimo.
  • Threads_connected: o número total de clientes que están conectados ó servidor nese momento.
  • Created_tmp_disk_tables: O número de táboas temporais que foron creadas no disco, no canto de memoria. Dado que as táboas de acceso operación de disco é xeralmente máis lento que na memoria, o contido da variable é inversamente proporcional á velocidade con que as consultas son executar o CREATE Temporary TABLE.
  • Uptime: indica cantos segundos o servizo está activo.
Publicado en: mysql , consellos

Engadir un comentario

Spam protección por wp Captcha-Libre

Powered by CyberTek - Asistencia Remota