For modern applications, there are many layers and moving parts that need to seamlessly work together to deliver our application to the end user.
Figure: Bottlenecks can happen anywhere! Call out diagrammatically where you think the bottlenecks are happenning
The issues can be in:
SQL Server
Slow queries
Timeouts
Bad configuration
Bad query plans
Lack of resources
Locking
Business Logic
Front end
Connection between SQL and Web
Lack of bandwidth
Too much chatter
Connection between Web and Internet
Connection between Web and End users
Infrastructure
Misconfiguration
Resource contention