MySQL性能监控
MySQL性能监控
大宝???? 好吃的都给你原则
2020-11-04
MySQL 性能监控 performance_schema简介 performance_schema配置 事件记录 事件统计 复制状态与变量记录表 内部对象事件与属性统计 入门使用 开启情况 启用方式 表的分类 基本概念 consumers instruments 编译时配置 配置方法 运行时配置 启动时配置 语句事件 events_statements_history_long events_statements_history events_statements_current events_waits_current 等待事件 events_waits_history_long events_waits_history 等待事件统计表 阶段事件统计表 复制信息统计表 变量记录表 事件统计表 套接字事件统计 文件I/O事件统计 instance 统计表 prepare语句实例统计表 是什么 有什么 怎么用 performance_schema 生产者 用于监控MySQL Server在一个较低级别的运行 过程中的资源消耗、资源等待等情况。 <=5.6 >=5.7 版本 默认没有启用 默认启用 查看 show engines; 设置参数 performance_schema=ON|OFF 修改配置文件 performance_schema=ON|OFF 事件记录和统计 语句事件 等待事件 事务事件 监视文件系统层调用 监视内存使用 配置表 采集器配置项 查看 修改 select enabled,count(*) from setup_instruments group by enabled; select * from setup_instruments; UPDATE setup_consumers SET ENABLED = 'YES' where name like '%wait%'; UPDATE setup_instruments SET ENABLED = 'YES', TIMED = 'YES' where name like 'wait%'; events_statements_current events_statements_history events_statements_history_long events_statements_summary_by_account_by_event_name events_statements_summary_by_digest events_statements_summary_by_host_by_event_name events_statements_summary_by_program events_statements_summary_by_thread_by_event_name events_statements_summary_by_user_by_event_name events_statements_summary_global_by_event_name events_waits_current events_waits_history events_waits_history_long events_waits_summary_by_account_by_event_name events_waits_summary_by_host_by_event_name events_waits_summary_by_instance events_waits_summary_by_thread_by_event_name events_waits_summary_by_user_by_event_name events_waits_summary_global_by_event_name 阶段事件 events_stages_current events_stages_history events_stages_history_long events_stages_summary_by_account_by_event_name events_stages_summary_by_host_by_event_name events_stages_summary_by_thread_by_event_name events_stages_summary_by_user_by_event_name events_stages_summary_global_by_event_name events_transactions_current events_transactions_history events_transactions_history_long events_transactions_summary_by_account_by_event_name events_transactions_summary_by_host_by_event_name events_transactions_summary_by_thread_by_event_name events_transactions_summary_by_user_by_event_name events_transactions_summary_global_by_event_name file_instances file_summary_by_event_name file_summary_by_instance memory_summary_by_account_by_event_name memory_summary_by_host_by_event_name memory_summary_by_thread_by_event_name memory_summary_by_user_by_event_name memory_summary_global_by_event_name setup_actors setup_consumers setup_instruments setup_objects setup_timers 用于采集MySQL 中各种各样的操作产生的事件信息,对应配置表中的配置项我们可以称为监 控采集配置项,以下提及生产者均统称为instruments 消费者 对应的消费者表用于存储来自instruments采集的数据,对应配置表中的配置项我们可以称为 消费存储配置项,以下提及消费者均统称为consumers cmake . \ -DDISABLE_PSI_STAGE=1 \ #关闭STAGE事件监视器 -DDISABLE_PSI_STATEMENT=1 #关闭STATEMENT事件监视器 启动选项 mysqld --verbose --help |grep performance-schema |grep -v '\-\-' |sed '1d' |sed '/[0-9]\ +/d' 系统变量 show variables like '%performance_schema%'; 相关表 performance_timers 记录了server中有哪些可用的事件计时器 setup_timers 记录当前使用的事件计时器信息 setup_consumers 列出了consumers可配置列表项 events_stages_current events_stages_history events_stages_history_long events_statements_current events_statements_history events_statements_history_long events_transactions_current events_transactions_history events_transactions_history_long events_waits_current events_waits_history events_waits_history_long global_instrumentation thread_instrumentation statements_digest setup_instruments 出了instruments 列表配置项,即代表了哪些事件支持被收集 命名规则 前缀 表示instruments的类型 后缀 来自instruments本身的代码 eg. wait/io/file/myisam/log wait 前缀 io/file/myisam/log 代码 setup_actors 用于配置是否为新的前台server线程(与客户端连接相关联的线程)启用监视和历史事件日志 记录。 setup_objects 控制performance_schema是否监视特定对象 threads 对于每个server线程生成一行包含线程相关的信息 阶段事件 事务事件 events_stages_current events_stages_history events_stages_history_long events_transactions_current events_transactions_history events_transactions_history_long 事务事件统计表 语句事件统计表 内存事件统计表 events_statements_summary_by_account_by_event_name events_statements_summary_by_digest events_statements_summary_by_host_by_event_name events_statements_summary_by_program events_statements_summary_by_thread_by_event_name events_statements_summary_by_user_by_event_name events_statements_summary_global_by_event_name events_waits_summary_by_account_by_event_name events_waits_summary_by_host_by_event_name events_waits_summary_by_instance events_waits_summary_by_thread_by_event_name events_waits_summary_by_user_by_event_name events_waits_summary_global_by_event_name events_stages_summary_by_account_by_event_name events_stages_summary_by_host_by_event_name events_stages_summary_by_thread_by_event_name events_stages_summary_by_user_by_event_name events_stages_summary_global_by_event_name events_transactions_summary_by_account_by_event_name events_transactions_summary_by_host_by_event_name events_transactions_summary_by_thread_by_event_name events_transactions_summary_by_user_by_event_name events_transactions_summary_global_by_event_name memory_summary_by_account_by_event_name memory_summary_by_host_by_event_name memory_summary_by_thread_by_event_name memory_summary_by_user_by_event_name memory_summary_global_by_event_name summary表 以不同的方式汇总事件数据(如:按用户,按主机,按线程等等)。 时序表 _current表 _history表 _history_long表 每个线程只保留一条记录,且一旦线程完成工作,该表中不会再记录该线程的事件信息。 每个线程已经执行完成的事件信息,最多10条。 记录所有线程的事件信息,最多10000行。 表类型 表等待事件统计 表I/O等待和锁等待事件统计] cond_instances file_instances mutex_instances rwlock_instances socket_instances 锁对象记录 metadata_locks table_handles 属性统计表 连接信息统计表 accounts users hosts 连接属性统计表 session_account_connect_attrs session_connect_attrs replication_applier_configuration replication_applier_status replication_applier_status_by_coordinator replication_applier_status_by_worker replication_connection_configuration replication_connection_status replication_group_member_stats replication_group_members 用户自定义变量记录表 system variables记录表 tatus variables统计表 按照帐号、主机、用户统计的状态变量统计表 host_cache 动态对performance_schema进行配置 数据库对象事件与属性统计 复制状态与变量记录表 performance_schema的表 performance_schema小结 掌握 表的分类 配置采集器 基本概念 查看关键指标的方法 了解 每一张表的结构和内容 replication_applier_configuration replication_applier_status replication_applier_status_by_coordinator replication_applier_status_by_worker replication_connection_configuration replication_connection_status replication_group_member_stats replication_group_members 复制状态 变量 global_variables session_variables file_summary_by_event_name file_summary_by_instance table_io_waits_summary_by_table table_io_waits_summary_by_index_usage table_lock_waits_summary_by_table objects_summary_global_by_type socket_summary_by_instance socket_summary_by_event_name prepared_statements_instances