20.7.9 组复制内存使用监控与性能模式内存指标
MySQL 的性能模式 提供了对组复制内存使用进行性能监控的指标。要查看可用的组复制指标,请执行以下查询:
mysql> SELECT NAME,ENABLED FROM performance_schema.setup_instruments
WHERE NAME LIKE 'memory/group_rpl/%';
+-------------------------------------------------------------------+---------+
| NAME | ENABLED |
+-------------------------------------------------------------------+---------+
| memory/group_rpl/write_set_encoded | YES |
| memory/group_rpl/certification_data | YES |
| memory/group_rpl/certification_data_gc | YES |
| memory/group_rpl/certification_info | YES |
| memory/group_rpl/transaction_data | YES |
| memory/group_rpl/sql_service_command_data | YES |
| memory/group_rpl/mysql_thread_queued_task | YES |
| memory/group_rpl/message_service_queue | YES |
| memory/group_rpl/message_service_received_message | YES |
| memory/group_rpl/group_member_info | YES |
| memory/group_rpl/consistent_members_that_must_prepare_transaction | YES |
| memory/group_rpl/consistent_transactions | YES |
| memory/group_rpl/consistent_transactions_prepared | YES |
| memory/group_rpl/consistent_transactions_waiting | YES |
| memory/group_rpl/consistent_transactions_delayed_view_change | YES |
| memory/group_rpl/GCS_XCom::xcom_cache | YES |
| memory/group_rpl/Gcs_message_data::m_buffer | YES |
+-------------------------------------------------------------------+---------+
有关性能模式内存指标和事件的更多信息,请参阅第29章 20.10.10.10 “内存概述表”。
性能模式的组复制指标用于跟踪组复制的内存分配。性能模式中的 memory/group_rpl/
指标包含以下指标:
-
write_set_encoded
:在将写集广播给群成员之前用于编码写集的内存。 -
Gcs_message_data::m_buffer
:用于网络发送的事务数据载荷的内存分配。 -
认证数据
: 为接收到的交易分配的内存。 -
认证数据GC
: 每个成员发送给GTID_EXECUTED的内存,为垃圾回收提供支持。 -
认证信息
: 用于解决并发事务冲突的认证信息分配的内存。 -
事务数据
: 为插件管道排队的接收到的交易分配的内存。 -
消息服务接收到的消息
: 用于从群复制交付消息服务接收到的消息的内存。 -
SQL服务命令数据
: 用于处理内部SQL服务命令队列的内存分配。 -
MySQL线程排队任务
: 当一个依赖于MySQL线程的任务被添加到处理队列时分配的内存。 -
消息服务队列
: 用于群复制交付消息服务排队消息的内存分配。 -
GCS_XCom::xcom缓存
: 用于为群成员之间通过一致性协议进行通信和元数据交换的XCOM缓存内存。 -
一致成员必须准备的事务
: 用于保持准备事务以保证群复制交易的一致性的成员列表的内存分配。 -
一致事务
: 用于保持需要准备的事务及其成员列表,以保证群复制交易的一致性的内存分配。 -
一致事务准备中
: 用于存储事务信息的内存,用于集团复制的事务一致性保证。 -
一致事务等待中
: 用于存储在处理具有AFTER
和BEFORE_AND_AFTER
一致性的准备事务之前的交易信息的内存。 -
延迟视图更改的一致事务
: 用于存储由等待prepare确认的准备一致事务延迟的视图更改事件(view_change_log_event
)的内存。 -
集团成员信息
: 用于存储集团成员属性的内存,例如主机名、端口、成员权重和角色等。
以下在memory/sql/
分组中使用的工具还用于监控集团复制的内存:
-
日志事件
: 用于将事务数据编码为二进制日志格式的内存,这是集团复制传输数据时使用的相同格式。 -
写入集提取
: 在事务被提交之前生成的事务写入集所占用的内存。 -
GTID 集合::to_string
: 用于存储GTID集合字符串表示的内存。 -
GTID 集合::Interval_chunk
: 用于存储GTID对象的内存。