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.12.20.10 节“内存摘要表”。
性能架构组复制检测组复制的内存分配。 memory/group_rpl/
性能架构检测包含以下检测
write_set_encoded
:分配给在将写入集广播给组成员之前对其进行编码的内存。Gcs_message_data::m_buffer
:分配给发送到网络的事务数据有效负载的内存。certification_data
:分配给传入事务认证的内存。certification_data_gc
:分配给每个成员为垃圾收集发送的 GTID_EXECUTED 的内存。certification_info
:分配给用于解决并发事务之间冲突的认证信息存储的内存。transaction_data
:分配给为插件管道排队的传入事务的内存。message_service_received_message
:分配给从组复制传递消息服务接收消息的内存。sql_service_command_data
:分配给处理内部 SQL 服务命令队列的内存。mysql_thread_queued_task
:在将依赖于 MySQL 线程的任务添加到处理队列时分配的内存。message_service_queue
:分配给组复制传递消息服务的排队消息的内存。GCS_XCom::xcom_cache
:分配给 XCOM 缓存的内存,用于在共识协议的一部分として组成员之间交换消息和元数据。consistent_members_that_must_prepare_transaction
:分配给保存为组复制事务一致性保证准备事务的成员列表的内存。consistent_transactions
:分配给保存事务和必须为组复制事务一致性保证准备该事务的成员列表的内存。consistent_transactions_prepared
:分配给保存为组复制事务一致性保证准备的事务信息列表的内存。consistent_transactions_waiting
:在处理具有AFTER
和BEFORE_AND_AFTER
一致性的先前准备好的事务时,分配给保存事务列表信息的内存。consistent_transactions_delayed_view_change
:分配给保存由已准备好的一致性事务(正在等待准备确认)延迟的视图更改事件 (view_change_log_event
) 列表的内存。group_member_info
:分配给保存组成员属性的内存。属性例如主机名、端口、成员权重和角色等。
memory/sql/
分组中的以下检测也用于监控组复制内存
Log_event
:分配给将事务数据编码为二进制日志格式的内存;这与组复制传输数据的格式相同。write_set_extraction
:分配给提交之前事务生成的写入集的内存。Gtid_set::to_string
:分配给存储 GTID 集的字符串表示形式的内存。Gtid_set::Interval_chunk
:分配给存储 GTID 对象的内存。