gpt4 book ai didi

java - 在 Elasticsearch 中创建 TransportClient 时限制 ThreadPool 中的线程数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:00 25 4
gpt4 key购买 nike

我正在 elasticsearch 中创建一个 TransportClient 实例。下面是相同的代码。问题是我正在尝试减少使用 TransportClient 启动的线程池生成的线程数。但是我使用我的 elasticsearch 的任何设置总是用 12 个线程初始化线程池。请让我知道如何配置它以获得所需的线程。

public static TransportClient getTransportClient(String ip, int port) {

ImmutableSettings.Builder settings = ImmutableSettings
.settingsBuilder();
settings.put("cluster.name", "elasticsearch");
settings.put("threadpool.bulk.type", "fixed");
settings.put("threadpool.bulk.size" ,5);
settings.put("threadpool.bulk.queue_size", 5);
settings.put("threadpool.index.type" , "fixed");
settings.put("threadpool.index.size" , 5);
settings.put("threadpool.index.queue_size" , 10);
settings.put("threadpool.search.type", "fixed");
settings.put("threadpool.search.size" ,5);
settings.put("threadpool.search.queue_size", 5);

settings.build();

TransportClient instance = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(ip, port));

return instance;
}

最佳答案

尝试

Settings settings = ImmutableSettings.settingsBuilder()
.put("transport.netty.workerCount",NUM_THREADS)
.build();

归功于 JanuZ,摘自 http://www.lucidelectricdreams.com/2013/11/reducing-number-of-threads-created-by.html

关于java - 在 Elasticsearch 中创建 TransportClient 时限制 ThreadPool 中的线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27934404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com