/ / Begrenze die Anzahl der Threads in ThreadPool beim Erstellen von TransportClient in elasticsearch - java, multithreading, elasticsearch

Begrenzen Sie die Anzahl der Threads in ThreadPool beim Erstellen von TransportClient in elasticsearch - java, multithreading, elasticsearch

Ich erstelle eine TransportClient-Instanz inelasticsearch. Unten ist der Code für dasselbe. Das Problem ist, dass ich versuche, die Anzahl der Threads zu reduzieren, die mit dem Threadpool erzeugt werden, den der TransportClient initiiert. Aber egal welche Einstellungen ich benutze, mein elasticsearch initialisiert immer den Threadpool mit 12 Threads. Bitte lass mich wissen, wie ich das selbe konfiguriere Fäden.

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;
}

Antworten:

1 für die Antwort № 1

Versuchen

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

Kredit an JanuZ, entnommen aus http://www.lucidelectricdreams.com/2013/11/reducing-number-of-threads-created-by.html