Reference: https://www.rondb.com/post/100m-key-lookups-sec-with-rest-ap...
Reference: https://www.rondb.com/post/100m-key-lookups-sec-with-rest-ap...
All in all, it was a poor choice for Kubernetes to use this as its backend in the first place. Apparently, Google uses its own shim, but there is also kine, which was created a long time ago for k3s and allows you to use a RDBMS. k3s used sqlite as its default originally, but any API equivalent database would work.
We should keep in mind etcd was meant to literally be the distributed /etc directory for CoreOS, something you would read from often but perform very few writes to. It's a configuration store. Kubernetes deciding to also use it for /var was never a great idea.
If you just turned off file system syncs in etcd you could probably get an order of magnitude better performance as well.