Hello Ignite-Community! as some of you might have read, I'm using Ignite as local Off-heap caches only. I limited the discovery to localhost and therefore I don't need threads which are just active to handle e.g. grid topics.
I would like to reduce the amount of threads to an minimum. The Off-heap cache-access (read/write) should be fast, but everything else isn't needed. It might not matter a lot in an average case to have some additional threads, however, the server as well as the cache are under heavy load and therefore every useless context-switch should be avoided. I'm currently experimenting with the following config: IgniteConfiguration configuration = new IgniteConfiguration() .setDiscoverySpi(localNodeDiscovery) //limit to localhost .setDaemon(false); TcpCommunicationSpi communicationSpi = new TcpCommunicationSpi(); communicationSpi.setSelectorsCount(1); configuration.setCommunicationSpi(communicationSpi); ConnectorConfiguration connectorConfiguration = new ConnectorConfiguration(); connectorConfiguration.setSelectorCount(1); configuration.setConnectorConfiguration(connectorConfiguration); configuration.setClockSyncFrequency(Integer.MAX_VALUE); configuration.setUtilityCachePoolSize(1); configuration.setManagementThreadPoolSize(1); configuration.setPublicThreadPoolSize(1); configuration.setRebalanceThreadPoolSize(1); configuration.setSystemThreadPoolSize(4); and CacheConfiguration.setEagerTtl(false) for caches which don't need a TTL for its entries. 1) Do you see any issue with this config that impacts the described use-case? 2) Are there other threads I can get rid of as well? (currently there are still ~20 threads from Ignite on an average developer-machine.) I'm e.g. wondering about a) disco-event-worker b) exchange-worker c) grid-time-coordinator d) grid-time-server-reader e) ignite-clock f) nio-acceptor g) pub-* h) session-timeout-worker i) tcp-disco-msg-worker j) tcp-disco-srvr Any hint is appreciated, Peter