I want to make 2 clients concurrently calculate some values from a cache that
read from a database, and store the result in the database. I can't use
atomic cacheAtomicityMode as there is no lock so that the calculation might
get an old value. I also need a backup to avoid lost cache when a node fail.
Let's say I run 2 servers, and 2 clients. Right now, I'm able to do 50_000
transactions for two rows in 70 seconds (around 1400 TPS). If it's possible,
I want to increase the TPS.

My initial configuration is like this:
Server configuration:
1. CacheAtomicityMode = transactional
2. Read Through, Write Through, and Write Behind = true
3. Cache Mode = partitioned
4. Backup = 1
5. Query entities for my table
6. cacheStoreFactory for my CacheStore
7. DiscoverySPI which I set to my localhost

Client configuration have the same configuration as the server excluding
ReadThrough, WriteThrough, WriteBehind, QueryEntities, and
CacheStoreFactory.

The Transaction Concurrency is pessimistic while transaction isolation is
repeatable_read.
I didn't set Write synchronization mode (which by default will be
PRIMARY_SYNC). 

The transaction procedure is similar with the one in Ignite Documentation
[1].

Any suggestions?

Thanks,
Ricky

[1] https://apacheignite.readme.io/docs/transactions



-----
-- Ricky
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to