Dear Sam and Nikolai, My case is similar to this one (Performance with increase in node) .
So, could you tell me how to deal with this problem about decreasing performances of cache with multi nodes? If any idea could be shared with me, I highly appreciate it. Rick From: linr...@itri.org.tw [mailto:linr...@itri.org.tw] Sent: Friday, April 13, 2018 3:23 PM To: user@ignite.apache.org Subject: RE: Slow Ignite Cache with multi-nodes Hi Roman, I think that my case is similar to this one: http://apache-ignite-users.70518.x6.nabble.com/Performance-with-increase-in-node-td9378.html (Performance with increase in node) From those discussions, I found the two tips to properly use cache in ignite node. 1. Cache has to be warmed up. When the cache is used for the second or third time, the speed of write is faster, as shown: 1-th experiment, Put 10000 KV data: spend 6,431 milliseconds 2-th experiment, Put 10000 KV data: spend 3,603 milliseconds 3-th experiment, Put 10000 KV data: spend 3,961 milliseconds 2. With increasing server nodes, it is better to increase the number of client nodes. Here, I do not know reasons about the above tips to accelerate cache. In addition, if the increased number of client nodes can improve performance of cache, how to set the configures between client nodes? Because I do not know to set these, experiment results about the tip 2 are not shown in here. In order to reproduce my situation, I provided my code to all. The configure in server node is: IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setClientMode(false); //server TcpDiscoveryMulticastIpFinder ipFinder = new TcpDiscoveryMulticastIpFinder(); ipFinder.setMulticastGroup("224.1.2.4"); TcpDiscoverySpi spi = new TcpDiscoverySpi(); spi.setIpFinder(ipFinder); cfg.setDiscoverySpi(spi); The configures in two client nodes are: One client: TcpDiscoveryMulticastIpFinder ipFinder = new TcpDiscoveryMulticastIpFinder(); ipFinder.setMulticastGroup("224.1.2.4"); ipFinder.setAddresses(Arrays.asList("ubuntu7","ubuntu9")); TcpDiscoverySpi spi = new TcpDiscoverySpi(); spi.setIpFinder(ipFinder); cfg.setDiscoverySpi(spi); the other client to write data into cache[igniteCachePut]): TcpDiscoveryMulticastIpFinder ipFinder = new TcpDiscoveryMulticastIpFinder(); ipFinder.setMulticastGroup("224.1.2.4"); ipFinder.setAddresses(Arrays.asList("ubuntu7","ubuntu9")); TcpDiscoverySpi spi = new TcpDiscoverySpi(); spi.setIpFinder(ipFinder); cfg.setDiscoverySpi(spi); IgniteCache cacheKeyvalue = igniteNode.cache("igniteCachePut"); Int datasize =10000; int expertime = 3; for (int j = 1; j <= expertime; j++) { long starttime, endtime; starttime = System.currentTimeMillis(); for (int i = 1; i <= datasize; i++) { cacheKeyvalue.put(Integer.toString(i), Integer.toString(i)); } endtime = System.currentTimeMillis(); System.out.println(j+"-th experiment"); System.out.println("Put " + datasize + " KV data: spend " + (endtime - starttime) + " milliseconds"); } If you have any idea about this problem, I am looking forward to hearing from you. Thanks Rick -----Original Message----- From: Roman Guseinov [mailto:ro...@gromtech.ru] Sent: Tuesday, April 10, 2018 1:56 PM To: user@ignite.apache.org<mailto:user@ignite.apache.org> Subject: Re: Slow Ignite Cache with multi-nodes Hi Rick, It seems that you need to increase clients number to achieve better performance when you increase server nodes number. You can try to put data from different threads as well. Also, you can set CacheConfiguration.setWriteSynchronizationMode(CacheWriteSynchronizationMode.PRIMARY_SYNC). The default value is FULL_SYNC which means that client node will wait for write or commit to complete on all participating remote nodes (primary and backup) [1]. Performance Tips can be found here [2]. Best Regards, Roman [1] https://apacheignite.readme.io/v1.1/docs/primary-and-backup-copies#section-synchronous-and-asynchronous-backups [2] https://apacheignite.readme.io/docs/performance-tips -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/ -- 本信件可能包含工研院機密資訊,非指定之收件者,請勿使用或揭露本信件內容,並請銷毀此信件。 This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- 本信件可能包含工研院機密資訊,非指定之收件者,請勿使用或揭露本信件內容,並請銷毀此信件。 This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient.