跳到主要内容

如何在 ClickHouse 中增加线程数

·一分钟阅读
了解如何通过调整 `max_thread_pool_size`、`thread_pool_queue_size` 和 `max_thread_pool_free_size` 等设置来配置 ClickHouse 中的全局线程池。

增加 ClickHouse 中的线程数

ClickHouse 使用来自全局线程池的线程来处理查询,并执行后台操作,如合并和 mutations。如果没有空闲线程来处理查询,则会在池中创建一个新线程。

全局线程池的最大大小由 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>

查看文档以获取有关上述设置以及影响全局线程池的其他设置的更多详细信息。