There are jemalloc logs in the instances.
Not sure, I never saw such an option. Neither in docs or the code.
If just the leader died due to OOM. That means the whole load is in his back. I mean, in a single instance.
Nope, each transaction should go in a robin(or a better balancing algo) manner to each Alpha. Sharding you are already doing. Each new Alpha without replicas is a shard/group.
You say that you have 3 replicas with 3 Alphas. Humm. So you have no shard. In my conception, having 3 replicas is quite consuming. Cuz any data coming, will be immediately replicated to the other instances. In that case, I would put the replicas in separate machines, cuz you gonna stress out the machine. That’s my opinion. I would keep only shards in the same machine.
Sharding is really good for performance. You should use them.
Well, in the case of replicas, they are not split, they are replicated. So every transaction is copied to the next 2 Alphas. As they are replicas. But still, a single Alpha can happen to be overloaded with tasks if you not balance the transactions between them.
@dmai can you take a look?