Optimizar Disco Duro (HD) para MySQL

Iniciado por Skeletron, 24 Febrero 2010, 20:40 PM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

Hola gente.
Tengo la unidad D pura y exclusivamente para MySQL.. Ahí está instalado, y ahí tiene todos los datos. la carpeta File y Data..
Mi unidad D es una particion del unico disco (tengo notebook)

Hoy miré la fragmentacion de la unidad D, con mis ya 14.000.000 entradas en la base de datos (algo de 2 gigas), y la fragmentacion (Segun Defragler) era del 79%.... Demasiado.

Obviamente que eso retraza MUCHO el sistema de Entrada/Salida... Y teniendo en cuenta que las E/S son lo que mas retrazan a las PC.. entonces, estamos frente un gran problema.

Hay algun tipo de recomendacion? Alguna optimizacion que se le pueda dar al disco para mejorar el trabajo de MySQL?

^Tifa^

Si te estas refiriendo a la velocidad de RPMS de lectura que posee un disco duro, recuerda que aqui influye muchisimas cosas... yo no soy la mas adecuada para hablarte de este tipo de cosas, pero, si tengo una nocion basica que me dice, que el tiempo de respuesta de lectura en milisegundos de tu disco duro dependera de su capacidad, del tipo de disco duro del cual hablamos (si es IDE o si es SATA), velocidad definida de RPMS por segundos (esto lo puedes ver en la parte de atras del disco duro, sacalo y lee cual es su velocidad maxima de RPMS) Asi como el sistema de archivos que utilizes.  ;)

Yo tengo una particion en mi portatil exclusiva para Oracle, ya que Oracle exhige mas demanda de recursos que MySQL, como tengo un simple disco duro IDE que es inferior a un SATA en cuanto a velocidad, pero me apoyo un poquito en el sistema de archivos XFS para poder leer mas de lo que otros sistemas de ficheros pueden. Por ejemplo, si tu tienes digamos un disco duro SATA no se de digamos una lectura de 10 mil archivos por segundos, tu disco duro en la parte trasera de lectura maxima de velocidad dice que su capacidad maxima es leer 10 mil archivos por segundo. Perfecto, tu vienes y instalas un sistema de ficheros digamos que Ext3 por ejemplo o NTFS, que ocurre si ese sistema de ficheros tiene como capacidad maxima leer 5 mil archivos por segundos... aunque tu disco duro tenga como maximo 10 mil archivos por segundos en cada lectura, tu sistema de archivos leera 5 mil archivos por segundos.... no mas. En cambio sistema de archivos como XFS por ejemplo que estan optimizados para 64bits (pero aplica para 32 bits tranquilo).. y maneja gran cantidad de data a una gran velocidad, podria tener capacidad digamos de leerte 8 mil o 9 mil archivos por segundo del disco duro.

Ahora si te refieres al desempeno del motor MySQL eso ya es otra cosa... muy diferente a la capacidad y velocidad de data en tu disco duro.

Skeletron

A lo mejor hay alguna opcion para mejorar el rendimiento de MySQL a nivel HADRWARE.. como por ejemplo: CACHE.
O algun tipo de configuracion para que MySQL escriba la base de datos sin tanta fragmentacion.
Tal vez utilizar celdas de menos de 4kb puede obtimizar un poco, para evitar fragmentacion interna... o celdas de mas de 4b para evitar fragmentacion externa como la que tuve que acomodar hoy

^Tifa^

Vamos a ver.... creo que o me estoy liando yo, o estas mezclando manzanas y limones.

El software Defragler es un analizador de la fragmentacion del disco duro no??? Dicho software es para Windows, asumo entonces que usas Windows.
Si esto es asi, el resultado que te lanzo esa aplicacion de 79% fragmentacion en tu disco, no hace referencia a como MySQL ordena los datos ni mucho menos, sino que hace referencia a como el sistema de archivos (filesystem) organiza la informacion en tu disco duro, habla del resultado del filesystem (sistema de archivos) no de MySQL como tal... en este caso la fragmentacion ocurre a causa del filesystem por ende desfragmentar el disco duro seria lo que mas te conviene.

Ahora a nivel de MySQL (que la info de fragmentacion me temo no la veras con el software anterior, que analiza el disco duro, no MySQL como tal). la data que suele fragmentarse mucho hasta lo que me concierne es el tipo de dato VARCHAR que al no tener un tamanio fijo o constante sino dinamico, la data se va guardando fragmentada. Por lo general en estos casos, si tu tabla esta en motor Myisam o Innodb  usan:

OPTIMIZE TABLE

Para optimizar los indices:

ANALYZE TABLE

Pero esto es meramente si tienes campos con tipo de data de longitud variable como VARCHAR.

Si quieres optimizar el motor en relacion a cuanta ram utilizar para su buffer cache, index cache, innodb buffer cache, etc... me temo que vas a tener que leer.. y mucho  :D  Para que asi puedas acomodar el archivo my.ini acorde a tu hardware y tus necesidades, tendras que indagar sobre el funcionamiento de las variables globales, para que la configures bien. Pero lo mas basico averigua sobre las variables que mencione anteriormente, que son digamos las que mas se utilizan por el motor myisam.



Skeletron

Perfecto..
He anotado todito..

Gracias!