performanceetcdrafthorizontal-scaling

Does scaling etcd affect write performance?


The distributed value-store etcd uses the raft algorithm. The docs link to animations explaining: how the replica nodes vote to make one node the leader (to be the recipient of external write instructions), and thereafter the leader broadcasts all instructions to all nodes (attaching those instructions to a heartbeat signal that is bounced off of the other nodes, in a star topology, with confirmation after a majority acknowledge).

The replication obviously provides resilience (against failures of individual nodes), and presumably the read performance scales up with replica count.

Is it correct to understand that write performance is constant, and does not scale with replica count?


Solution

  • It is true. write requires majority of nodes to ack new entry in order to commit it. It may happen that write is even slower with increased number of replicas (it is as fast as slowest node out of quorum). In regards to read, you might find etcd docs about linearizability interesting. TL;DR; default reads also need quorum.