Otras vistas misceláneas | Comprensión completa de la biblioteca del sistema sys

En "Vista de estadísticas de eficiencia estadística | Una comprensión completa de la biblioteca del sistema sys" , presentamos una vista rápida de la eficiencia de ejecución de las sentencias de consulta utilizando la biblioteca del sistema sys. Este número le presentará algunas vistas mixtas clasificadas de manera inconveniente. El último artículo de la serie que presenta las vistas.

PD: Debido a la particularidad de la función de vista mencionada en este artículo (DBA puede necesitar consultar alguna información para algunos análisis de datos en el trabajo diario), el texto de la declaración de selección en algunas vistas se enumerará a continuación, para que todos puedan ser más intuitivos. Aprender.


01

métrica

Indicadores de recuento de servidores, incluidas algunas métricas internas en Innodb, variables de estado global y hora actual del sistema, ordenadas por tipo de variable y nombre de forma predeterminada. Fuente de datos: global_status, memory_summary_global_by_event_name, information_schema.innodb_metrics, NOW () y UNIX_TIMESTAMP () funciones de performance_schema

  • La vista contiene las siguientes partes de información 
    * de los nombres de las variables de estado global y sus valores estadísticos en la tabla performance_schema.global_status 
    * de las variables indicadoras innodb y los valores estadísticos en la tabla information_schema.innodb_metrics
    * de la suma  de las asignaciones actuales en la supervisión de la memoria performance_schema Las estadísticas históricas totales de memoria asignada 
    * provienen de la hora actual del sistema (usando marcas de tiempo Unix en un formato legible) 
    * PD: hay algunas estadísticas duplicadas entre la tabla global_status y la tabla innodb_metrics, deduplicación en la vista de métricas

  • Esta vista se agregó en MySQL 5.7.9

Echemos un vistazo a los resultados devueltos por la consulta usando esta vista

admin@localhost : sys 10:49:59> select * from metrics where type='global status' limit 5;
+----------------------------+----------------+---------------+---------+
| Variable_name              | Variable_value | Type          | Enabled |
+----------------------------+----------------+---------------+---------+
| aborted_clients            | 0              | Global Status | YES    |
| aborted_connects          | 0              | Global Status | YES    |
| binlog_cache_disk_use      | 0              | Global Status | YES    |
| binlog_cache_use          | 1159          | Global Status | YES    |
| binlog_stmt_cache_disk_use | 0              | Global Status | YES    |
+----------------------------+----------------+---------------+---------+
5 rows in set (0.17 sec)

admin@localhost : sys 11:04:01> select * from metrics where type='InnoDB Metrics - transaction' limit 5;
+---------------------------+----------------+------------------------------+---------+
| Variable_name            | Variable_value | Type                        | Enabled |
+---------------------------+----------------+------------------------------+---------+
| trx_active_transactions  | 0              | InnoDB Metrics - transaction | NO      |
| trx_commits_insert_update | 0              | InnoDB Metrics - transaction | NO      |
| trx_nl_ro_commits        | 0              | InnoDB Metrics - transaction | NO      |
| trx_rollbacks            | 0              | InnoDB Metrics - transaction | NO      |
| trx_rollbacks_savepoint  | 0              | InnoDB Metrics - transaction | NO      |
+---------------------------+----------------+------------------------------+---------+
5 rows in set (0.02 sec)

Los significados de los campos de vista son los siguientes:

  • Variable_name: el nombre de la variable métrica, el tipo de la variable métrica determina la fuente de los datos 
    * Para las variables de estado global, este valor de campo corresponde a la columna VARIABLE_NAME de la tabla performance_schema.global_status 
    * Para la variable indicadora innodb, este valor de campo corresponde a la columna NAME de la tabla information_schema.innodb_metrics 
    * Para las métricas de monitoreo de memoria de performance_schema, use memory_current_allocated proporcionada por la vista de métricas para representar el uso de memoria actual, y memory_total_allocated para representar la asignación de memoria histórica total. 
    * Para métricas de marca de tiempo del sistema, use unix generado por now () y unix_timestamp (ahora ()) Formato de hora y marca de tiempo

  • Variable_value: valor de la variable de medida. El tipo de variable métrica determina la fuente de los datos: 
    * Para variables de estado global: este campo corresponde a la columna VARIABLE_VALUE de la tabla performance_schema.global_status 
    * Para variables indicadoras InnoDB: este campo corresponde a la columna COUNT de la tabla information_schema.INNODB_METRICS 
    * Para la memoria de performance_schema Indicadores de monitoreo, uso de memoria actual y asignación de memoria histórica total, respectivamente, para sumar CURRENT_NUMBER_OF_BYTES_USED y SUM_NUMBER_OF_BYTES_ALLOC en la tabla performance_schema.memory_summary_global_by_event_name 
    * Para el valor de tiempo actual: use ahora () y unix (marca de tiempo) para generar Y marca de tiempo

  • Tipo: tipo de variable métrica: 
    * Para variables de estado global: el valor de esta columna es 'Estado global' 
    * Para métricas InnoDB: el valor de esta columna es 'Métricas de InnoDB-%', donde el signo% usa información_esquema al generar los indicadores de variables métricas correspondientes El valor de la columna SUBSYSTEM de la tabla .INNODB_METRICS se reemplaza y se genera la salida (función de conversión: CONCAT ('InnoDB Metrics-', SUBSYSTEM) AS Type) 
    * Para los indicadores de memoria monitoreados en performance_schema: el valor de la columna es 'Performance Schema' 
    * Para la hora actual del sistema: El valor de la columna es 'System Time'

  • Habilitado: si la variable de medición está habilitada 
    * Para las variables de estado global: el valor de la columna siempre se muestra como 'Sí' 
    * Para los indicadores InnoDB: Si la columna ESTADO de la tabla information_schema.INNODB_METRICS está habilitada, el valor de la columna se muestra como 'Sí', de lo contrario es 'No' 
    * Para medición de memoria: los valores posibles de esta columna son NO, YES, PARTIAL (actualmente, PARTIAL solo se usa para indicadores de memoria, lo que significa que todos los indicadores de monitoreo de memoria no están habilitados. Todos los indicadores de monitoreo de memoria que comienzan con performance_schema están habilitados por defecto). No se puede cerrar) 
    * Para la hora actual del sistema: el valor de esta columna siempre se muestra como 'Sí'

PD: con respecto a la vista de métricas, se trata de una tabla innodb_metrics en information_schema, que registra algunas unidades de medida detalladas del motor Innodb, la mayoría de las cuales están desactivadas de forma predeterminada. Puede usar innodb_monitor_disable, innodb_monitor_enable, innodb_monitor_reset, innodball_monitor_reset_reset, innodball_monitor_reset_ , Cerrar, restablecer el recuento y otras operaciones, consulte el enlace para obtener más detalles:

  • https://dev.mysql.com/doc/refman/5.7/en/innodb-metrics-table.html

  • https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_monitor_reset

02

ps_check_lost_instrumentation

El usuario consulta el valor de la variable de estado correspondiente al instrumento que ha perdido la monitorización. Si se encuentra un valor no nulo, significa que hay datos de estado de ejecución que no pueden ser monitorizados por performance_schema. Fuente de datos: performance_schema.global_status

Ver texto de consulta

SELECT variable_name, variable_value
FROM performance_schema.global_status
WHERE variable_name LIKE 'perf%lost'
AND variable_value > 0;

Echemos un vistazo a los resultados devueltos por la consulta usando esta vista

# 默认设置值可能很难出现监控丢失的情况,如果你需要查看到该视图输出结果,你可以通过调整相关系统变量阀值来实现
admin@localhost : sys 11:11:20> select * from ps_check_lost_instrumentation;
+----------------------------------------+----------------+
| variable_name | variable_value |
+----------------------------------------+----------------+
| Performance_schema_rwlock_classes_lost | 1 |
+----------------------------------------+----------------+
1 row in set (0.00 sec)

Los significados de los campos de vista son los siguientes:

  • variable_name: el nombre de la variable de estado de "performance_schema" para mostrar qué tipo de monitorización del instrumento se pierde

  • variable_value: el valor correspondiente al nombre de la variable de estado que ha perdido la monitorización del instrumento

03

session_ssl_status

Ver información de estado del enlace SSL (mostrar la versión SSL, la contraseña y el recuento de la sesión SSL reutilizada), fuente de datos: performance_schema.status_by_thread

  • Esta vista se agregó en MySQL 5.7.9

Ver texto de consulta

SELECT sslver.thread_id,
  sslver.variable_value ssl_version,
  sslcip.variable_value ssl_cipher,
  sslreuse.variable_value ssl_sessions_reused
FROM performance_schema.status_by_thread sslver
LEFT JOIN performance_schema.status_by_thread sslcip
ON (sslcip.thread_id=sslver.thread_id and sslcip.variable_name='Ssl_cipher')
LEFT JOIN performance_schema.status_by_thread sslreuse
ON (sslreuse.thread_id=sslver.thread_id and sslreuse.variable_name='Ssl_sessions_reused')
WHERE sslver.variable_name='Ssl_version';

Echemos un vistazo a los resultados devueltos por la consulta usando esta vista

admin@localhost : sys 12:45:27> select * from session_ssl_status;
+-----------+-------------+------------+---------------------+
| thread_id | ssl_version | ssl_cipher | ssl_sessions_reused |
+-----------+-------------+------------+---------------------+
|        45 |            |            | 0                  |
|        46 |            |            | 0                  |
|        47 |            |            | 0                  |
|        48 |            |            | 0                  |
|        49 |            |            | 0                  |
+-----------+-------------+------------+---------------------+
5 rows in set (0.00 sec)

Los significados de los campos de vista son los siguientes:

  • thread_id: el ID del hilo de la conexión

  • SSL_VERSION: versión SSL utilizada para la conexión

  • ssl_cipher: el cifrado SSL utilizado para la conexión. Si el cliente usa una conexión SSL, el nivel de sesión consultado por la conexión tiene un valor de cadena similar a 'DHE-RSA-AES128-GCM-SHA256'

  • ssl_sessions_reused: el número de sesiones SSL reutilizadas por la conexión (las conexiones ssl pueden ser almacenadas en caché y reutilizadas por otros clientes que admiten conexiones ssl)

04

versión

Ver la biblioteca del sistema sys actual y la versión del servidor MySQL, fuente de datos: valor fijo de selección similar '1.5.1' y salida de función de versión () en la declaración de definición de vista

Ver texto de consulta

SELECT '1.5.1' AS sys_version,
    version() AS mysql_version;

Echemos un vistazo a los resultados devueltos por la consulta usando esta vista

admin@localhost : sys 12:57:53> select * from version;
+-------------+---------------+
| sys_version | mysql_version |
+-------------+---------------+
| 1.5.1      | 5.7.18-log    |
+-------------+---------------+
1 row in set (0.00 sec)

El significado de los campos de vista es el siguiente

  • sys_version: versión de la biblioteca del sistema sys

  • mysql_version: versión del servidor MySQL

05

x $ ps_digest_95th_percentile_by_avg_us

La vista de ayuda (intento de asistente) calcula el valor de distribución del tiempo de ejecución promedio del 95% de la declaración, y la vista de declaraciones de ayuda_con_runtimes_in_95th_percentile genera la información estadística de la declaración cuyo tiempo de ejecución promedio es superior al 95% del valor de distribución promedio, ordenada por el valor porcentual del histograma de forma predeterminada. Fuente de datos: performance_schema.events_statements_summary_by_digest, sys.x $ ps_digest_avg_latency_distribution

Echemos un vistazo a los resultados devueltos por la consulta usando esta vista

admin@localhost : sys 12:59:57> select * from x$ps_digest_95th_percentile_by_avg_us;
+--------+------------+
| avg_us | percentile |
+--------+------------+
| 450384 |    0.9528 |
+--------+------------+
1 row in set (0.02 sec)

El significado de los campos de vista es el siguiente

  • avg_us: el tiempo medio de ejecución de la declaración (en microsegundos)

  • percentil: el valor porcentual del histograma, que representa un intervalo de distribución del tiempo de ejecución promedio de la declaración

06

x $ ps_digest_avg_latency_distribution

Vista de ayuda (intento asistido), utilizada para ayudar a x $ ps_digest_95th_percentile_by_avg_us vista para generar el 95% del valor de distribución del tiempo de ejecución promedio de las declaraciones, fuente de datos: performance_schema.events_statements_summary_by_digest

Echemos un vistazo a los resultados devueltos por la consulta usando esta vista

admin@localhost : sys 01:00:38> select * from x$ps_digest_avg_latency_distribution limit 3;
+-----+--------+
| cnt | avg_us |
+-----+--------+
|  2 |    38 |
|  1 |    43 |
|  1 |    57 |
+-----+--------+
3 rows in set (0.00 sec)

Los significados de los campos de vista son los siguientes:

  • cnt: el valor del recuento de agrupaciones según el tiempo medio de ejecución de la declaración

  • avg_us: el tiempo medio de ejecución de la declaración (en microsegundos)

07

x $ ps_schema_table_statistics_io

Vista de ayuda (intento de asistencia), utilizada para ayudar a schema_table_statistics, x $ schema_table_statistics, schema_table_statistics_with_buffer, x $ schema_table_statistics_with_buffer vista de estadísticas de tabla para generar estadísticas de tabla, fuente de datos: performance_schema.file_summary_by_instance

Echemos un vistazo a los resultados devueltos por la consulta usando esta vista

admin@localhost : sys 01:00:42> select * from x$ps_schema_table_statistics_io limit 3;
+-----------------+-----------------+------------+--------------------------+----------------+-------------+---------------------------+-----------------+------------+----------------+
| table_schema    | table_name      | count_read | sum_number_of_bytes_read | sum_timer_read | count_write | sum_number_of_bytes_write | sum_timer_write | count_misc | sum_timer_misc |
+-----------------+-----------------+------------+--------------------------+----------------+-------------+---------------------------+-----------------+------------+----------------+
| @5c0f@841d@535c | @5c0f@841d@535c |        11 |                  115897 |    40409405625 |          0 |                        0 |              0 |        11 |    6395506125 |
| binlog          | mysql-bin      |        279 |                  411513 |    4898542125 |        459 |                    408800 |      9443458500 |        455 |  2049668827875 |
| charsets        | Index          |          1 |                    18710 |    16713311625 |          0 |                        0 |              0 |          2 |      83737125 |
+-----------------+-----------------+------------+--------------------------+----------------+-------------+---------------------------+-----------------+------------+----------------+
3 rows in set (0.01 sec)

Los significados de los campos de vista son los siguientes:

  • table_schema: el nombre del esquema que contiene table_name

  • table_name: nombre de la tabla

  • count_read: el número total de ocurrencias de eventos de E / S de lectura de archivo de la tabla correspondiente

  • sum_number_of_bytes_read: el número total de bytes de eventos de E / S de lectura de archivo correspondientes a la tabla

  • sum_timer_read: El tiempo de retardo total (tiempo de ejecución) del evento de E / S de lectura de archivo de la tabla correspondiente

  • count_write: el número total de ocurrencias de eventos de E / S de escritura de archivo correspondientes a la tabla

  • sum_number_of_bytes_write: el número total de bytes de eventos de E / S de escritura de archivo correspondientes a la tabla

  • sum_timer_write: El tiempo de retardo total (tiempo de ejecución) del evento de E / S de escritura de archivo de la tabla correspondiente

  • count_misc: el número total de ocurrencias de eventos de E / S varios de archivo en la tabla correspondiente

  • sum_timer_misc: El tiempo de retardo total (tiempo de ejecución) del evento de E / S varios de archivo de la tabla correspondiente

08

x $ schema_flattened_keys

Vista de ayuda, utilizada para ayudar a schema_redundant_indexes a ver información de índice redundante de salida, fuente de datos: INFORMATION_SCHEMA.STATISTICS

Echemos un vistazo a los resultados devueltos por la consulta usando esta vista

admin@localhost : sys 01:01:20> select * from x$schema_flattened_keys limit 3;
+--------------+-------------+-------------------+------------+----------------+---------------+
| table_schema | table_name  | index_name        | non_unique | subpart_exists | index_columns |
+--------------+-------------+-------------------+------------+----------------+---------------+
| luoxiaobo    | public_num  | PRIMARY          |          0 |              0 | id            |
| luoxiaobo    | public_num  | public_name_index |          0 |              0 | public_name  |
| luoxiaobo    | t_luoxiaobo | PRIMARY          |          0 |              0 | id            |
+--------------+-------------+-------------------+------------+----------------+---------------+
3 rows in set (0.00 sec)

Los significados de los campos de vista son los siguientes:

  • TABLE_SCHEMA: el nombre del esquema que contiene la tabla de índice

  • TABLE_NAME: el nombre de la tabla que contiene el índice

  • INDEX_NAME: nombre del índice

  • NON_UNIQUE: el número de columnas no únicas en el índice

  • subpart_exists: si el índice es un índice de prefijo

  • index_columns: nombres de columna en el índice

El contenido de este número se presenta aquí, y el enlace de referencia para el contenido de este número es el siguiente:

https://dev.mysql.com/doc/refman/5.7/en/sys-metrics.html

https://dev.mysql.com/doc/refman/5.7/en/sys-ps-check-lost-instrumentation.html

https://dev.mysql.com/doc/refman/5.7/en/sys-session-ssl-status.html

https://dev.mysql.com/doc/refman/5.7/en/sys-version.html

| Sobre el autor

Luo Xiaobo · Experto en tecnología de bases de datos

Uno de los autores de "A Thousand Golden Recipes-MySQL Performance Optimization Pyramid Rule", "Data Ecology: MySQL Replication Technology and Production Practice". Familiarizado con la arquitectura MySQL, bueno en el ajuste general de bases de datos, me gusta especializarse en tecnología de código abierto y interesado en la promoción de la tecnología de código abierto, ha compartido muchos temas de bases de datos públicas en línea y fuera de línea, y ha publicado casi 100 artículos de investigación relacionados con bases de datos.

Se acabó el texto completo.

Disfruta MySQL :)

La clase "MySQL Core Optimization" de Teacher Ye se ha actualizado a MySQL 8.0, escanee el código para comenzar el viaje de la práctica de MySQL 8.0

Supongo que te gusta

Origin blog.csdn.net/n88Lpo/article/details/110411916
Recomendado
Clasificación