"How do we size shared_buffers? A common starting rule of thumb is:"
I have an improved rule of thumb:
Give a lot of RAM. Give it all the RAM you can. And then buy some more and also give it to shared_buffers. Buffering data in RAM/CPU cache is crucial for performance.