The following sections describe some common bottleneck sources in various aspects of system architecture: http://highscalability.com/blog/2012/5/16/big-list-of-20-common-bottlenecks.html
Sources
Programming
We already looked at how algorithm and data structure choice can significantly impact performance and scalability. Besides this, other programming source of bottlenecks are as follows:
- Locks: There is no fun in having multiple threads doing something in parallel, only to take a lock and serialize themselves. Consistency is must in a thread-safe application, but you need to consider the granularity of the lock made. A common source of error is making the critical section (the part of code under the lock) too fat; not everything...