In the real world, all that matters is how the web app is actually built. There is always a bottleneck, and after you remove that bottleneck, there is always <i>another</i>. IO is just one of many things that can bottleneck an application, as your example points out.