5.5.3.1 线程池组件
线程池功能包括以下组件:
- 插件库文件为线程池代码以及几个提供有关线程池操作信息的关联监视 table 实现了一个插件。
有关线程池如何工作的详细说明,请参见第 5.5.3.3 节“线程池操作”。
INFORMATION_SCHEMA
table 分别命名为TP_THREAD_STATE,TP_THREAD_GROUP_STATE和TP_THREAD_GROUP_STATS。这些 table 提供有关线程池操作的信息。有关更多信息,请参见第 24.33 节“ INFORMATION_SCHEMA 线程池 table”。
- 几个系统变量与线程池有关。服务器成功加载线程池插件时,thread_handling系统变量的值为
loaded-dynamically
。
其他相关变量由线程池插件实现。除非启用,否则它们不可用:
-
thread_pool_algorithm:用于调度的并发算法。
-
thread_pool_high_priority_connection:如何安排会话的语句执行。
-
thread_pool_prio_kickup_timer:线程池将 await 执行的语句从低优先级队列移至高优先级队列的时间。
-
thread_pool_max_unused_threads:允许多少个睡眠线程。
-
thread_pool_size:线程池中的线程组数。这是控制线程池性能的最重要参数。
-
thread_pool_stall_limit:执行语句被认为停滞之前的时间。
-
如果在启动时将插件实现的任何变量设置为非法值,则插件初始化失败,并且不会加载插件。
有关设置线程池参数的信息,请参见第 5.5.3.4 节“线程池调整”。
- 性能架构的工具公开了有关线程池的信息,可用于调查操作性能。要识别它们,请使用以下查询:
SELECT * FROM performance_schema.setup_instruments
WHERE NAME LIKE '%thread_pool%';
有关更多信息,请参见第 25 章,MySQL 性能模式。