性能模式实现了几个状态变量,提供了关于无法加载或创建的仪表信息,因为内存约束:
mysql> SHOW STATUS LIKE 'perf%';
+-------------------------------------------------------+-------+
| Variable_name | Value |
+-------------------------------------------------------+-------+
| Performance_schema_accounts_lost | 0 |
| Performance_schema_cond_classes_lost | 0 |
| Performance_schema_cond_instances_lost | 0 |
| Performance_schema_digest_lost | 0 |
| Performance_schema_file_classes_lost | 0 |
| Performance_schema_file_handles_lost | 0 |
| Performance_schema_file_instances_lost | 0 |
| Performance_schema_hosts_lost | 0 |
| Performance_schema_index_stat_lost | 0 |
| Performance_schema_locker_lost | 0 |
| Performance_schema_memory_classes_lost | 0 |
| Performance_schema_metadata_lock_lost | 0 |
| Performance_schema_meter_lost | 0 |
| Performance_schema_metric_lost | 0 |
| Performance_schema_mutex_classes_lost | 0 |
| Performance_schema_mutex_instances_lost | 0 |
| Performance_schema_nested_statement_lost | 0 |
| Performance_schema_prepared_statements_lost | 0 |
| Performance_schema_program_lost | 0 |
| Performance_schema_rwlock_classes_lost | 0 |
| Performance_schema_rwlock_instances_lost | 0 |
| Performance_schema_session_connect_attrs_longest_seen | 131 |
| Performance_schema_session_connect_attrs_lost | 0 |
| Performance_schema_socket_classes_lost | 0 |
| Performance_schema_socket_instances_lost | 0 |
| Performance_schema_stage_classes_lost | 0 |
| Performance_schema_statement_classes_lost | 0 |
| Performance_schema_table_handles_lost | 0 |
| Performance_schema_table_instances_lost | 0 |
| Performance_schema_table_lock_stat_lost | 0 |
| Performance_schema_thread_classes_lost | 0 |
| Performance_schema_thread_instances_lost | 0 |
| Performance_schema_users_lost | 0 |
+-------------------------------------------------------+-------+
有关使用这些变量检查性能模式状态的信息,请参阅 第 29.7 节,“性能模式状态监控”。
性能模式状态变量具有以下含义:
-
Performance_schema_accounts_lost
无法将行添加到
accounts
表中的次数,因为它已满。 -
Performance_schema_cond_classes_lost
无法加载的条件仪表数量。
-
Performance_schema_cond_instances_lost
无法创建的条件仪表实例数量。
-
Performance_schema_digest_lost
在
events_statements_summary_by_digest
表中无法仪表的摘要实例数量。这可能是因为performance_schema_digests_size
的值太小。 -
Performance_schema_file_classes_lost
无法加载的文件仪表数量。
-
Performance_schema_file_handles_lost
无法打开的文件仪表实例数量。
-
Performance_schema_file_instances_lost
无法创建的文件仪表实例数量。
-
无法将行添加到
hosts
表中的次数,因为它已满。 -
Performance_schema_index_stat_lost
统计信息丢失的索引数量。这可能是因为
performance_schema_max_index_stat
的值太小。 -
Performance_schema_locker_lost
事件“丢失”或未记录的数量,因为以下条件:
-
事件是递归的(例如,等待 A 导致等待 B,导致等待 C)。
-
嵌套事件栈的深度超过了实现的限制。
性能模式记录的事件不是递归的,因此该变量应该总是 0。
-
-
Performance_schema_memory_classes_lost
无法加载的内存仪表数量。
-
无法在
metadata_locks
表中instrument的元数据锁的数量。如果performance_schema_max_metadata_locks
的值太小,这个值可能不为零。 -
无法创建的仪表数量。
-
无法创建的度量仪表数量。
-
无法加载的互斥锁仪表数量。
-
无法创建的互斥锁仪表实例数量。
-
存储程序语句的统计信息丢失的数量。如果
performance_schema_max_statement_stack
的值太小,这个值可能不为零。 -
无法在
prepared_statements_instances
表中instrument的预备语句数量。如果performance_schema_max_prepared_statements_instances
的值太小,这个值可能不为零。 -
存储程序的统计信息丢失的数量。如果
performance_schema_max_program_instances
的值太小,这个值可能不为零。 -
无法加载的读写锁仪表数量。
-
无法创建的读写锁仪表实例数量。
-
除了性能模式对连接属性大小限制检查外,服务器还执行预先检查,对连接属性数据的聚合大小施加了 64KB 的限制。如果客户端尝试发送超过 64KB 的属性数据,服务器将拒绝连接。否则,服务器将考虑属性缓冲区有效,并在
Performance_schema_session_connect_attrs_longest_seen
状态变量中跟踪最长的缓冲区大小。如果该值大于performance_schema_session_connect_attrs_size
,DBA 可能需要增加后者的值,或者调查哪些客户端发送了大量的属性数据。有关连接属性的更多信息,请参阅 第 29.12.9 节,“性能模式连接属性表”。
-
Performance_schema_session_connect_attrs_lost
连接属性截断发生的连接数。对于给定的连接,如果客户端发送的连接属性键值对的聚合大小大于
performance_schema_session_connect_attrs_size
系统变量所允许的存储大小,性能模式将截断属性数据并增加Performance_schema_session_connect_attrs_lost
。如果该值不为零,您可能需要将performance_schema_session_connect_attrs_size
设置为更大的值。有关连接属性的更多信息,请参阅 第 29.12.9 节,“性能模式连接属性表”。
-
Performance_schema_socket_classes_lost
无法加载的套接字仪器数量。
-
Performance_schema_socket_instances_lost
无法创建的套接字仪器实例数量。
-
Performance_schema_stage_classes_lost
无法加载的阶段仪器数量。
-
Performance_schema_statement_classes_lost
无法加载的语句仪器数量。
-
Performance_schema_table_handles_lost
无法打开的表仪器实例数量。这可以是
performance_schema_max_table_handles
的值太小。 -
Performance_schema_table_instances_lost
无法创建的表仪器实例数量。
-
Performance_schema_table_lock_stat_lost
锁定统计信息丢失的表数量。这可以是
performance_schema_max_table_lock_stat
的值太小。 -
无法加载的线程仪器数量。
-
无法在
threads
表中instrument的线程实例数量。如果performance_schema_max_thread_instances
的值太小,这个值可能不为零。 -
由于
users
表已满,无法添加行的次数。