适用于:MySQL Server - Version 8.0 and later
使用slave_parallel_workers=N设置时,如何确定活动线程的数量?
可以使用以下查询在performance_schema中找到所需事件的线程信息:
SELECT performance_schema.events_transactions_summary_by_thread_by_event_name.THREAD_ID AS THREAD_ID,
performance_schema.events_transactions_summary_by_thread_by_event_name.COUNT_STAR AS COUNT_STAR
FROM performance_schema.events_transactions_summary_by_thread_by_event_name
WHERE performance_schema.events_transactions_summary_by_thread_by_event_name.THREAD_ID IN
(SELECT performance_schema.replication_applier_status_by_worker.THREAD_ID
FROM performance_schema.replication_applier_status_by_worker);
这将显示每个线程的线程id和事务计数。
它们的大小应该大致相同,但是,如果有任何线程显示低计数或零计数,则说明线程太多。如果这个数字非常高,那么您可能想要尝试增加slave_parallel_workers的值,然后再次进行测试。
有关其工作原理的更多信息,请查看: https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_slave_parallel_workers