ClickHouse 使用来自**全局线程池**的线程来处理查询,以及执行合并和变异等后台操作。如果没有任何空闲线程可以处理查询,则会在池中创建一个新线程。
全局线程池的最大大小由 `max_thread_pool_size` 设置决定,默认为 10,000。您可以在您的配置文件中修改此值 - 在这里我们将其设置为 20,000
<max_thread_pool_size>20000</max_thread_pool_size>
如果您修改了 `max_thread_pool_size`,我们建议将 `thread_pool_queue_size` 更改为相同的值。`thread_pool_queue_size` 设置是可以在全局线程池上计划的最大作业数
<thread_pool_queue_size>20000</thread_pool_queue_size>
如果您的服务器有大量空闲线程,您也可以使用 `max_thread_pool_free_size` 设置释放资源。默认值为 1,000,这意味着您的全局线程池永远不会有超过 1,000 个空闲线程。以下示例将值增加到 2,000
<max_thread_pool_free_size>2000</max_thread_pool_free_size>
查看文档,了解更多关于上述设置以及影响全局线程池的其他设置的详细信息。