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 对象的内存。