Re: Improving Get operation performance

2019-12-11 Thread Denis Magda
Good to hear that you got to the root cause, Viktor! Do you have any suggestions for extra performance/troubleshooting tips/tricks that you had to learn hard way as long as the information was not documented? - Denis On Fri, Dec 6, 2019 at 4:11 AM Victor wrote: > Update, > > 1. So there were

Re: Improving Get operation performance

2019-12-05 Thread Victor
Update, 1. So there were 2 issues, there was old batch processing app that periodically ran, that loaded lot of data in memory. Which i think was causing some memory contention. So i shut that down for me tests. 2. Thread dumps showed some odd wait times between 2 get calls. I had overtly

Re: Improving Get operation performance

2019-12-02 Thread ezhuravlev
As you have 4 nodes on the same machine now, you have a lot of context switching, probably all the nodes just competing for CPU resources with each other. Evgenii -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Improving Get operation performance

2019-11-29 Thread Ilya Kasnacheev
Hello! Not if there's enough parallelism, since nodes are not busy while requests do round trips. I recommend gathering jstack stack traces from all nodes, seeing what threads are up to. Regards, -- Ilya Kasnacheev чт, 28 нояб. 2019 г. в 21:58, Victor : > Not sure i follow. The data is on

Re: Improving Get operation performance

2019-11-28 Thread Victor
Not sure i follow. The data is on server node/s. Even for a single/multiple requests, 'get' from a client will need to make a n/w round trip if server and client are on different boxes vs both being on the same box. So n/w latency becomes quite relevant. -- Sent from:

Re: Improving Get operation performance

2019-11-28 Thread Ilya Kasnacheev
Hello! I don't understand why the network hop is relevant here, if you are (supposedly) running those gets in parallel. Regards, -- Ilya Kasnacheev чт, 28 нояб. 2019 г. в 04:09, Victor : > Performed one more test. Moved the client on the same box, and changed the > off & on heap values. > >

Re: Improving Get operation performance

2019-11-27 Thread Victor
Performed one more test. Moved the client on the same box, and changed the off & on heap values. The Employee record is barely about 75-100bytes. So 500k records would just range between 40-50mb + 1 backup, so another 40-50mb, so about 100mb worth of data. I set the off-heap to 1GB and -Xmx to

Re: Improving Get operation performance

2019-11-27 Thread Evgenii Zhuravlev
Victor, Then, I would recommend to check if you have a swapping enabled in OS. If you have only 75gb on the machine and you started 3 nodes with 14 gb off heap and something like a 16gb heap each, probably OS started a swapping process, which will affect a performance. Additionally, there is no

Re: Improving Get operation performance

2019-11-27 Thread Victor
Yes, ran Cassandra on the same box. Similar config, 3 nodes on one box and client on another. Have about 75G on both boxes. However for now, i am keeping Cassandra aside, since my primary goal around evaluating Ignite is to see similar performance numbers for "get" as seen in the benchmark. --

Re: Improving Get operation performance

2019-11-27 Thread Victor
Thanks Denis for confirming the benchmarks are real. I am using the latest ignite version i.e. 2.6.7. I tried with Atomic as well, don't see much variation. Marginal changes. So currently, in my test, I am using /examples/config/persistentstore/example-persistent-store.xml, with persistence

Re: Improving Get operation performance

2019-11-27 Thread Evgenii Zhuravlev
Hi Viktor, It looks like you're running 3 server nodes on the same physical machine, right? How do you run Cassandra benchmarks? Do you use the same 2 machines? How many Cassandra instances do you have? Also, how much memory do you have on this machine? Best Regards, Evgenii ср, 27 нояб. 2019

Re: Improving Get operation performance

2019-11-27 Thread Denis Magda
Hello Viktor, The benchmarks you're referring to are real and list all the configuration parameters as well as the source code. No cheating. The first catchy difference between your and those benchmarks is that you're using TRANSACTIONAL mode for Ignite. This involves a 2-phase-commit protocol

Re: Improving Get operation performance

2019-11-26 Thread Victor
It's 500k unique gets, spread across multiple threads. Max i tried with 30 threads. I cant use getAll for this usecase, since it is user driven and the user will load one record at a time. In any case i expected event the single gets to be pretty fast as well. Given the benchmark reference -

Re: Improving Get operation performance

2019-11-26 Thread Mikael
Hi! The numbers sound very low, I run on hardware close to yours (3 nodes (X5660*5) and 1 client), and I get way more than 1500/sec, not sure how much, I will have to check, but as long as you do single get's there is not so much you can do, each get will be one roundtrip over the network,

Improving Get operation performance

2019-11-26 Thread Victor
I am running some comparison tests (ignite vs cassandra) to check how to improve the performance of 'get' operation. The data is fairly straightforward. A simple Employee Object(10 odd fields), being stored as BinaryObject in the cache as IgniteCache empCache; The cache is configured with, Write