How many Ignite nodes per Server + backup behavior

classic Classic list List threaded Threaded
2 messages Options
David David
Reply | Threaded
Open this post in threaded view
|

How many Ignite nodes per Server + backup behavior

Hi all,

Since Ignite uses only one thread/CPU for SQL reads per node.
It is using only a very small part of the available Server resources.
And so it is absolutly necessary to start multiple nodes per Server to
improve read performance.

Currently we testing Ignite with 4 Server each 8core/16thread

1. What would you recommend, how many Ignite nodes to run per Server?
Currently we running 4 Ignite nodes per server = 16 nodes in total.
But with that configuration Ignite behaves little slow compared to other
usual RDMBs.

2. Is backup parameter aware about the number of Servers in the grid?
How is the behavior of backup when creating tables.
If we run 4 nodes per server, does it mean we need to set backup=2.
and ignite knows that one backup needs to go to another server.

or do we need to set backup=5, because ignite is not aware about servers, it
just takes nodes into account. and to avoid that all 2 backups are on same
server, backup propperty needs to be > than number of nodes on server.

3. query parallelism
besides query parallelism has some heavy downsites, needs to be configured
at the start, cant be changed etc.
our tests also show that query parallelism=2 gives like 50% more speed,
while to just setup 2 nodes gives 90% more speed.

just wondering why, becasue this way query parallelism is basicaly useless

thx for you help






--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
ibelyakov ibelyakov
Reply | Threaded
Open this post in threaded view
|

Re: How many Ignite nodes per Server + backup behavior

Hello,

1. It's recommended to run 1 Ignite node per server, try to reduce nodes
count to 4.

2. In case you're going to use 4 nodes per server, you need to specify
backup=1 and also set excludeNeighbors on affinityFunction as described
here:
https://apacheignite.readme.io/docs/affinity-collocation#section-crash-safe-affinity
After that, data will be stored on 2 nodes (1 primary and 1 backup) and
these nodes will be on the different servers.
For 1 node per server case just set backup=1.

3. Try to set query parallelism equals to available threads on the server,
it should increase performance. (1 node per server, parallelism=16)

Regards,
Igor



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