A bottleneck (in the world of data) is a point where the flow of data is restricted or stopped entirely. When you remove one bottleneck, the data then flows until it hits the next bottlenecks.
Many people assume that bottlenecks are caused by hardware. It is true that SOME Bottlenecks are caused by hardware, but you can also find and create application bottlenecks or database bottlenecks. You can create bottlenecks with hard drives or cables or JavaScript or C# .. There are many ways in which bottlenecks can be created.
The challenge is then to find your bottlenecks, eliminating each and then eliminating the ones that you find once the upstream bottlenecks are removed.
Ideally you want to move the bottleneck to the point where it is simply hitting how fast a user can work.
So where do we start?
One starting place is to prove that Microsoft Dynamics CRM does not have an application bottleneck. To do this a subset of awesome people did some testing on Microsoft Dynamics CRM Online. They published their findings in this new White Paper: Microsoft Dynamics CRM Online 2016 Update 1 Performance Benchmark
Take a Look