Hi,

Please properly subscribe to the user list (this way we will not have to
manually approve your emails). All you need to do is send an email to ì
[email protected]î and follow simple instructions in the
reply.

Do I understand you properly that every transaction performs 1000 put
operations? If so it means that the more nodes you have the more of them
will participate in every transaction at prepare/commit phases that will
lead to more network round-trips. 

If my understanding is correct I would suggest the following:
- don't use such big transaction unless there is a reason for that. Split
such big transaction on a smaller one that will correspond to your business
use case. Describe your use case if you need more details. 

- if the keys that are used in transactions, that are running in parallel,
are the same then it means that one transaction will block the other. If
this is not the case then use several Threads that will perform transactions
in parallel to improve the overall throughput.

- use optimistic serializable transactions whenever it's possible [1]
because in basic scenarios they should work faster then pessimistic ones.

If to follow this suggestions you shouldn't get any performance degradation
when your cluster scales horizontally.


[1]
https://apacheignite.readme.io/v1.6/docs/transactions#optimistic-transactions

--
Denis

---------------

Hello, 

We're trying to evaluate Ignite and have some concerns about the
performance. 

We create a cache using the following logic: 

        CacheConfiguration cfg = new CacheConfiguration(); 
        cfg.setName(cacheName); 
        cfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);         
        cfg.setCacheMode(CacheMode.PARTITIONED); 
        cfg.setBackups(1); 
        cfg.setIndexedTypes(PersonKey.class, Person.class); 

In a transaction (Committed every 1000 puts), we had a Person with a Person
key (Affinity on one field). When using only local 2 nodes, the time it
takes to insert 100,000 records is roughly 56 seconds. Very slow. As we add
more nodes (up to 7), the numbers get significantly worse (Minutes). We must
be doing something very wrong. The machine has lots of memory and CPU. 

The thought process is with one backup, a put for one key will talk to a max
of two nodes per put. However, the degradation that result from adding more
nodes suggest that a lot more chatter is taking place between the nodes. Any
pointers will be greatly be appreciated. 

Thank you. 



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Performance-Degredation-when-adding-more-nodes-tp5575p5612.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to