ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pavel Vinokurov <vinokurov.pa...@gmail.com>
Subject Re: Slow Ignite Cache with multi-nodes
Date Fri, 04 May 2018 03:34:48 GMT
Hi Rick,

I have tried your test on my local machine and haven't seen
for single node = "Put 100000 KV data: spend 3864 milliseconds"
for three nodes= "Put 100000 KV data: spend 10311 milliseconds".
It is not clear results due to all server nodes have been run on the same
physical vm, but running on different vms should show much better results.

I would highlight a few points:
1. Using an ignite client to populate data and perform warm-up before
checking performance.
2. Check network latency between ignite nodes.
3. All server and client nodes should be run of different physical vm.
4. It makes sense to look at ignite benchmark framework  and existing
performance results.

[1] https://apacheignite.readme.io/docs/perfomance-benchmarking

Thanks,
Pavel





2018-04-13 10:44 GMT+03:00 <linrick@itri.org.tw>:

> 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:* linrick@itri.org.tw [mailto:linrick@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:roman@gromtech.ru <roman@gromtech.ru>]
> Sent: Tuesday, April 10, 2018 1:56 PM
> To: 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.
>



-- 

Regards

Pavel Vinokurov

Mime
View raw message