7 votos

join_buffer_size >= 4 M no es aconsejable?

Me sale este mensaje de MysqlTunner.pl:

join_buffer_size >= 4 M Esto no es aconsejable

Por otro lado, he leído en Debian mi.cnf guía sobre jont_buffer_size que:

Este tampón se utiliza para la optimización de la plena Une (Une sin los índices). Tales Combinaciones son muy malo para el rendimiento en la mayoría de los casos de todos modos, pero la configuración de esta variable a un valor grande reduce la impacto en el rendimiento. Consulte la "Select_full_join" la variable de estado de un recuento completo de Combinaciones. Asignados por el hilo si completa unirse se encuentra

Entonces, me pregunto que uno debería creer? Actualmente me he fijado join_buffer_size = 64M como parte de los esfuerzos para lidiar con el problema de escalabilidad de un alto tráfico de sitio cuya consultas no son del todo optimizado. Agradezco sus consejos sobre este.

6voto

mcrumley Puntos 3551

join_buffer_size = 64 MB es un poco loco, eso es +64MB de memoria asignada a cada nuevo hilo.

El tamaño del búfer que se utiliza para el llano el análisis de índice, rango de índice de exploraciones, y se une a que no utilizan los índices y así realizar la tabla completa exploraciones. Normalmente, la mejor manera de llegar rápido une es para agregar los índices. Aumentar el valor de join_buffer_size para obtener una rápida pleno unirse cuando la adición de índices no es posible.

Me gustaría decir, se debe reducir join_buffer_size a un valor de entre 128K y 256K , mientras que la adición de los índices de las tablas y el uso de la memoria que acaba de guardar para aumentar key_buffer_size > +10x.

Más memoria, no siempre se traduce a más velocidad, ejemplos comunes: sort_buffer_size, read_buffer_size, read_rnd_buffer_size y table_open_cache. Google.

5voto

Zoredache Puntos 84524

Ambos parecen estar diciendo la misma cosa para mí. Ambos están diciendo que COMPLETA las COMBINACIONES son MALAS.

  • Mysqltuner es de señalar que algo acerca de su sistema es malo, en este caso tener a un gran unirse buffer es una señal de que tiene algo malo acerca de su base de datos.
  • La documentación está diciendo que no es malo, pero si usted no puede cambiar su código, a continuación, la adición de más memoria le permiten aceptar la maldad.

¿Has comprobado la Select_full_join variable? Se que el hecho de ver que este contador aumentará? Está usted seguro de arreglar el código o gritarle a la gente responsable de la fijación no es una opción?

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: