Hi @ Fernando Gutierrez,
I apologize for any confusion caused by the earlier closure of this thread as a duplicate, and I appreciate your patience.
I understand your concern about whether a Standard DTU tier—such as one offering 50 or 100 DTUs—provides sufficient capacity for the concurrent connections your workload requires.
It’s important to note that Azure SQL Database doesn’t enforce a strict, fixed limit on the number of concurrent connections based solely on the DTU level. In other words, you won’t find a rule like “50 DTUs equals 50 connections” or “100 DTUs equals 100 connections.” Instead, the DTU model provides an overall pool of resources (CPU, memory, and I/O) that must service all active sessions and requests.
Here are a few key points to consider:
Workload Characteristics vs. Connection Count: While a database can technically maintain many connections, the performance of each connection is determined by how much work it’s doing. Idle connections or those executing lightweight queries have a minimal impact, but resource-intensive queries can quickly consume available DTU capacity. The errors you observed on the premium Elastic Pool suggest that the connections were likely consuming more resources than the service tier could comfortably handle at that moment.
The Role of Connection Pooling: It is generally advisable to implement connection pooling. This practice helps manage connections efficiently by reusing active sessions rather than creating brand-new ones for every request. With pooling, even if multiple logical connections are made, the physical open connections can be kept to a manageable number that the available DTUs can support.
Moving from 50 to 100 DTUs: Upgrading from 50 to 100 DTUs effectively doubles your resource pool, which can allow your database to handle more active, resource-demanding requests concurrently. However, it isn’t as simple as doubling the “number” of connections; rather, it increases the overall capacity for processing the workload that those connections generate. The actual number of connections you can support effectively will depend on the complexity and resource demands of the queries they run.
In summary, the DTU model is not about a fixed headcount of concurrent connections but about the total workload that your set of connections imposes on the system. If your application is reaching resource limits at 40 or 50 active connections, you may benefit from connection pooling or performance tuning. Upgrading to 100 DTUs will provide more capacity, but it’s essential to monitor how each connection impacts overall resource usage.
I hope this helps clarify your concerns. Please feel free to reach out if you need any further details or assistance with optimizing your connection management and performance.
If this answers your query, do click "Accept the answer” for the same, which might be beneficial to other community members reading this thread. And, if you have any further query do let us know.