No not at all. We already have this problem. Right now we are able to take the DB hit but we will eventually attack this problem from cache perspective. We will have replicated caches for this scenario. In worst case if a shard is overloaded we stop creating new users in it and put it on a dedicated physical machine. I dont think we will let the situation get there.
Totally agree with you. You dont really get 1000's of reqs/sec in a real world environment. All you need is a good server which is fast and memory efficient. Rest of the efforts should be focussed on the webapp side, more importantly DB. If you can work on your IO you will have a fast and efficient application.
Ok took 30 minutes to run some benchmarks on a AWS instance. I used a small instance run a simple Flask Hello World app with gunicorn (1 worker and 4 workers) and bjoern. Frankly I was not able to fund any speed difference between both the servers. Here is the gist of the benchmark results