Download - Configuracion de MySQL

Transcript

CONFIGURANDO MYSQL SERVER

CONFIGURANDO MYSQL SERVER

CONFIGURANDO MYSQL SERVER

05/04/2009CONFIGURANDO MYSQL SERVERPARA MEJORAR EL RENDIMIENTO EN EL PROYECTO DE SEREVIDHCONFIGURANDO MYSQL SERVER Pedro Luis Domingo VsquezMax Alejandro Cerna Flores

CONFIGURANDO MYSQL SERVERPARA MEJORAR EL RENDIMIENTO EN EL PROYECTO DE SEREVIDH

Motores de almacenamiento soportados por MYSQL MyISAM, predeterminado en MySQL 4.0 y anteriores. InnoDB, predeterminado en versiones superiores a MySQL 4.0 Otros motores que pueden ser seleccionados, tenemos: Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x

Caractersticas de MYSQL a instalar. Versin: 5.1.34 Plataforma: Windows Server 2003 R2 Motor de almacenamiento: InnoDB Tipo de Instalacin: MySQL Community Server Archivo de Configuracin: my.ini (my.cnf en la versin para Linux).

Aplicacin para configuracin visual de MySQL Versin: r17-win32 Plataforma: Windows cualquier edicin. Arquitectura de procesador: x86Descripcin de Variables del Archivo de ConfiguracinEn la optimizacin de toda aplicacin de software, la administracin de memoria es de alta prioridad. Por tanto muchas de las configuraciones de MySQL estn orientadas a la administracin de la memoria cach para diferentes funciones.A continuacin, se describen un grupo determinado de variables del archivo my.ini de configuracin, que son consideradas de alta importancia en la optimizacin de MySQL, las cuales las podemos clasificar en: Parmetros Generales Parmetros MyISAM Parmetros InnoDB. Avanzadas De seguridad Avanzadas de red Rendimiento

Definicin de Variables de Optimizacin en el archivo mysql.ini query_cache_size: Esta variable se utiliza para establecer el tamao de memoria cach disponible para almacenar temporalmente las consultas realizadas, esto es til si en un futuro la base de datos de la aplicacin es leda intensivamente, y entre las lecturas existe un consulta realizada previamente, esta cache permitir recoger la informacin de forma ms rpida ya que no se deber recorrer la BD nuevamente. Valores a partir los 32M a los 512M tienen sentido habitualmente.

sort_buffer_size: Este buffer es usado principalmente para ordenar los resultados, dicho ordenamiento es alojado ah cuando algn hilo de consulta solicita el sorting. Si se tienen consultas simples no hay un motivo por el cual se deba aumentar sort_buffer_size.

read_rnd_buffer_size: Esta variable usada para leer buffer de tablas MyISAM cuando se hace un Full Table Scan, dada nuestra versin de base de datos tiene como predeterminado el motor InnoDB y que las tablas estn construidas sobre este motor, por lo que esta variable resulta innecesaria de configurar.

read_rnd_buffer_size: Esta variable usada para leer filas ordenadas con sort, dada nuestra versin de base de datos tiene como predeterminado el motor InnoDB y que las tablas estn construidas sobre este motor, por lo que esta variable resulta innecesaria de configurar.

table_cache: En MySQL indica cuntas tablas se pueden tener abiertos en cualquier instante. Para las consultas SQL, usualmente varias tablas estn unidas mediante joins. La regla usual es que deben multiplicar el nmero mximo de conexiones con el nmero mximo de tablas utilizadas en las consultas unidas mediante joins.

key_buffer_size: Una variable exclusiva y muy importante para el motor de almacenamiento MyISAM, pero dada la versin instalada que tiene como motor a InnoDB hace que esta variable sea innecesaria.

innodb_buffer_pool_size: es la opcin ms importante ya que InnoDB utiliza un pool de buffer cach para ambos ndices y datos de la fila, esto para el buen rendimiento de InnoDB. 70-80% de la memoria es una buena opcin aunque todo depende del tamao de nuestra BD y los recursos disponibles. Si nuestra BD es pequea, configurado un buffer algo ms grande que nuestra BD sera suficiente. Debe tenerse en cuenta que en sistemas de 32 bits que puede ser limitado a 2-3.5G de memoria para un proceso a nivel de usuario, por lo que esta variable no debe ponerse demasiado alto.

innodb_additional_mem_pool_size: Esta variable finalmente no afecta el rendimiento demasiado, al menos en la memoria del Sistema Operativo bien configurado.

innodb_log_file_size: Muy til para escrituras intensivas cargas de trabajo, especialmente para los grandes conjuntos de datos. Conforme a mayor tamao mejor rendimiento, pero puede aumentar el tiempo de recuperacin, as que se debe tener cuidado. Normalmente los valores de uso 64M-512 MB de tamao dependiendo del servidor en que se aplique.

innodb_log_buffer_size: Esta variable determina el tamao del buffer que InnoDB utiliza para llevar un registro de los datos en memoria. Tan pronto como est llena, InnoDB tendr que paginar la informacin al disco. Est variable se limpia de forma rpida ya que no tiene sentido grandes cantidades de registros, incluso para operaciones grandes.

innodb_flush_logs_at_trx_commit: Si se puede encontrar que InnoDB es ms lento que MyISAM, puede ser que esta variable no est correctamente configurada. Esta variable puede tomar valores entre 0 y 2. Si la variable se configura con un valor de 1, el registro de transacciones pasan al disco en cada operacin de commit. Si existe un compromiso de seguridad y las transacciones son cortas, se puede tomar valores de 0 o 2, Valor 0 significa que el registro slo se escribe al archivo de registro y este se enva al disco una vez por segundo aproximadamente. Para el valor 2, el registro ser escrito en el archivo de registro en cada commit, pero el archivo de registro slo se enva al disco una vez por segundo.

max_connections: MySQL tiene una prohibicin en el nmero de conexiones paralelas que pueden mantener abiertas. A partir de MySQL 5.1.15, su valor por defecto es de 151 para optimizar el rendimiento cuando se utiliza MySQL con el servidor web Apache. Para las versiones anteriores MySQL 5.1.15, el valor predeterminado es de 100.

Parmetros Generales

Aqu definimos los parmetros generales de la base de datos, como el puerto en que funciona la BD o si tiene acceso a una conexin TCP/IP, as tambin se definen las direcciones de la instalacin como el de los datos.

Parmetros MyISAM

Si nuestra base de datos tiene como motor MyISAM, tendremos que configurar el motor en esta seccin, indicando si permite las inserciones concurrentes con MyISAM, tambin se puede indicar cul es el tamao del archivo para ordenamiento, para hacer los ordenamientos de forma ms rpida.

Parmetros InnoDB

Al igual que en la seccin de MyISAM, si usamos un motor de almacenamiento InnoDB indicaremos los parmetros en esta seccin, como el tamao del buffer Pool el cual sirve para almacenar los datos accesados del disco para evitar que en la siguiente peticin de la misma informacin sea trada nuevamente del mismo disco. As tambin se definen el tamao del archivo del log y del buffer para el log.

Avanzadas

En esta seccin se define informacin de la base de datos como el lenguaje, el conjunto de caracteres permitidos, los bloqueos de la memoria cuando la base de datos supera el lmite indicado, darle prioridad a las operaciones transaccionales.

De seguridad

Aqu se definen las caractersticas tales como bloquear la creacin de nuevos usuarios a quienes no tienen permisos, deshabilitar las Grant tables permitiendo un acceso completo a todas las tablas para cualquier usuario, hacer que todas las tablas existentes sean de solo lectura con algunas excepciones, entre otras caractersticas.

Avanzadas de red

En esta seccin se establece el lmite de conexiones de red que acceden a la base de datos, el mximo de conexiones por usuario, tiempos lmite de lectura y escritura, as como tambin de espera.

Rendimiento

En esta seccin se indica el lmite permitido en cache para una consulta, no se permiten consultas con valores superiores a este, as como tambin el tamao de la memoria almacenada con resultados de consultas viejas.

BIBLIOGRAFIA

http://es.wikipedia.org/wiki/InnoDBhttp://es.wikipedia.org/wiki/MyISAMhttp://www.rubenortiz.es/2009/01/30/mysql-variables-basicas-a-configurar/http://www.mt-soft.com.ar/2007/12/21/tuning-mysql-server-boost-performance/http://dev.mysql.com/doc/refman/5.1/en/too-many-connections.html

4

3