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 № 1Versuchen
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