Tengo muchos esquemas de bases de datos en el servidor mysql 5.6, ahora el problema aquí es que quiero capturar las consultas para un solo esquema.
No puedo habilitar el registro de consultas para todo el servidor ya que uno de mis esquemas está muy cargado e impactará en el servidor.
Es de cualquier manera, cualquier herramienta a través de la cual solo podía registrar las consultas por esquema único.
Encontré un gráfico de evaluación comparativa que muestra el impacto en las transacciones / segundo cuando el registro de consultas está habilitado.
Respuestas:
Pregunta interesante y un +1. Esto me interesó porque puedo ver varios casos de uso para esta funcionalidad.
Desafortunadamente, para su caso en el que no puede activar el registro general, solo hay una solución alternativa bastante inadecuada.
Es utilizar la variable SQL_LOG_OFF para deshabilitar el registro de una conexión determinada. Una solución ideal hubiera sido tener una variable "SQL_LOG_ON" como se puede hacer en Oracle (equivalente), ¿tal vez podría intentar desactivar el cierre de sesión para todas las conexiones que no sean de interés?
Además, y lamentablemente, esto requiere el
SUPER
privilegio. De nuevo, esto puede no ser (incluso probablemente no) posible en su caso.Dependiendo de la gravedad de su problema, las horas de trabajo y la carga del servidor en momentos determinados, es posible que pueda encontrar un uso para el pt-query-digest de Percona que puede ayudar con el análisis de registros. Pequeña comodidad, pero como es habitual, PostgreSQL está muy por delante de MySQL ( 1 , 2 ).
Si desea presentar una solicitud de función, me complacería seguir con un "yo también" si publica el enlace aquí.
fuente
Si está tan cerca de caerse que no puede activar el registro general en ARCHIVO, tiene problemas peores; necesitan arreglarse.
Sospecho, sin ningún conocimiento real, que el registro lento tendría un impacto similar, especialmente con
long_query_time = 0
.5.7 tiene una función de "reescritura de consultas". Algún truco podría usarse allí. (Pero, de nuevo, hay algunos gastos generales, que deben ser comparados).
¿Cuánto tiempo quieres atrapar las consultas? ¿Estás buscando la fuente de una acción traviesa? ¿O está tratando de recopilar consultas para crear un punto de referencia realista para esa tabla? ¿O algo mas?
¿Tiene activada la replicación? ¿Te interesan las lecturas? O escribe? ¿O ambos?
¿Cuántos hilos están activos simultáneamente? El punto de referencia que mostró indicó que para 1, el registro tiene una sobrecarga baja. Es el bloqueo de la tabla en MyISAM o CSV lo que está matando el procesamiento por alta concurrencia.
Su segundo gráfico señala que los clientes realmente deberían estar restringidos a aproximadamente 5-8 conexiones concurrentes; de lo contrario, el rendimiento en realidad disminuye. ¿Qué fueron
max_connections
yMax_used_connections
para ese gráfico?fuente