Hi Jose, 1. Yep, I would say, you'll get more profit in persistence. Because if you split between real machines, each may keep more hot data in memory and each has separate hard drive. The more data you can fit into RAM and more hard drive could work in parallel, the better performance you get.
2. The best way to communicate with cluster - via client nodes, they could be embedded in any application and doesn't carry any data. So here client is a client node and each has some resource limit. For example, it has limited number of workers that do serialization/de-serialization and sending/receiving data. In case of large amount of messages you may try increase task distribution by setting TcpCommunicationSpi.setConnectionsPerNode() more than 1. If you add more clients, I mean you start new client node from another app that runs queries - you will more effectively use cluster, because two clients could produce more work and serialize/de-serialize more messages, as well as reducing more data. Just because that work split on more workers. Thanks! -Dmitry -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/