Hi George,
As other responders have indicated, it is a big "it depends" on HW and your usage patterns.
But I will answer what I have found so far to try and give you a feel for what you can expect.
Our RAFT implementation is built using low latency Java techniques (specifically no memory allocations in a tight central loop), Aeron multi-cast messaging and RocksDB.
We are finalised development and currently deploying into server environment running Smart OS Solaris where we are doing performance tests.
Each server has dual CPU E5-2660 Xeon's, 256G RAM and SSD on a 1 & 10G networks.
One of our RAFT use cases is guaranteed messaging support. For relatively large messages (~5K), profiling is showing actual performance, matches
expected performance models against HW capability - particularly how fast one can write 5K log records to SSD. On my development mac, for example,
where I read 10K event records from disk, and then store in a three node replica these records, I am getting ~1K/ committed records per sec where 40% of time
is spent writing to disk (ball park Log Cabin Results). Apart from disk I/O, the next big performance issue is queuing behaviour due to a long tail. As we rollout into production
setup I am expecting a big leap in performance. The protocol in itself isn't adding measurable overhead.
On out 3 node cluster with 5K messages, I am expecting worst case performance 4K TPS but hoping for better.
As we employ a multi-cast design that allows us to scale horizontally.
Yes - you have to go through a strong leader and you get queuing behaviour.
Hope this helps. If you are interested, when I get final production hardware numbers I can
share this with you as well.
Kind Regards,
Philip