一起学习网 一起学习网

MySQL Variables thread_pool_algorithm 数据库 参数变量解释及正确配置使用

本站中文解释

thread_pool_algorithm参数是MySQL 8.0中新增的参数,该参数控制MySQL线程池使用的调度算法。该参数支持三种策略:RR(轮询调度)、OS(操作系统)和TS(目标调度)。

轮询调度是最常用的调度算法,它将每个线程分配到来自指定队列的任务,这样每个线程都可以进行任务处理。

操作系统调度使用操作系统底层的调度算法,即如果线程池中有任务来了,则操作系统将根据实施的调度算法为每个线程分配一个任务,以保证一致的线程分配。

目标调度用于处理更大的线程池,它将多个任务全部分配到不同队列中,并将增量部分分配给所有队列,以保持均衡性。

要设置thread_pool_algorithm参数,可以使用以下指令:
SET GLOBAL thread_pool_algorithm=;

官方英文解释

thread_pool_algorithm

Command-Line Format--thread-pool-algorithm=#
System Variablethread_pool_algorithm
ScopeGlobal
DynamicNo
TypeInteger
Default Value0
Minimum Value0
Maximum Value1

This variable controls which algorithm the thread pool plugin
uses:

  • A value of 0 (the default) uses a conservative
    low-concurrency algorithm which is most well tested and is
    known to produce very good results.

  • A value of 1 increases the concurrency and uses a more
    aggressive algorithm which at times has been known to
    perform 5–10% better on optimal thread counts, but
    has degrading performance as the number of connections
    increases. Its use should be considered as experimental
    and not supported.

This variable is available only if the thread pool plugin is
enabled. See Section 5.5.3, “MySQL Enterprise Thread Pool”.