线程池功能包括以下组件:
插件库文件为线程池代码以及几个提供有关线程池操作信息的关联监视表实现了一个插件:
从MySQL 8.0.14开始,监视表是Performance Schema表。请参见 第26.12.16节“性能架构线程池表”。
在MySQL 8.0.14之前,监视表是 INFORMATION_SCHEMA表格;请参见 第25.52节“ INFORMATION_SCHEMA线程池表”。
INFORMATION_SCHEMA现在不推荐使用 这些表,并将在将来的MySQL版本中将其删除。应用程序应从旧表过渡到新表。例如,如果应用程序使用此查询:
SELECT * FROM INFORMATION_SCHEMA.TP_THREAD_STATE;
应用程序应改为使用以下查询:
SELECT * FROM performance_schema.tp_thread_state;
注意
如果不加载所有监视表,则某些或所有MySQL Enterprise Monitor线程池图将为空。
有关线程池如何工作的详细说明,请参见 第5.6.3.3节“线程池操作”。
几个系统变量与线程池有关。该 thread_handling系统变量的值, loaded-dynamically当服务器成功加载线程池插件。
其他相关变量由线程池插件实现。除非启用,否则它们不可用:
thread_pool_algorithm:用于调度的并发算法。
thread_pool_high_priority_connection:如何安排会话的语句执行。
thread_pool_prio_kickup_timer:线程池将等待执行的语句从低优先级队列移至高优先级队列的时间。
thread_pool_max_active_query_threads 每个组允许多少个活动线程。
thread_pool_max_unused_threads:允许多少个睡眠线程。
thread_pool_size:线程池中的线程组数。这是控制线程池性能的最重要参数。
thread_pool_stall_limit:执行语句被认为停止之前的时间。
如果在启动时将插件实现的任何变量设置为非法值,则插件初始化失败,并且不会加载插件。
有关设置线程池参数的信息,请参见 第5.6.3.4节“线程池调整”。
性能架构的工具公开了有关线程池的信息,可用于调查操作性能。要识别它们,请使用以下查询:
SELECT * FROM performance_schema.setup_instruments
WHERE NAME LIKE ‘%thread_pool%’;
有关更多信息,请参见 第26章,MySQL性能模式。




