Skip to content

Commit c6ca60a

Browse files
authored
Merge pull request #183679 from LitKnd/error-10928-worker-limit
Clarifying that 'request limit' is actually 'worker limit'
2 parents 4b3dfd1 + 7a51146 commit c6ca60a

8 files changed

+225
-133
lines changed

articles/azure-sql/database/migrate-dtu-to-vcore.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.custom: sqldbrb=1
99
author: dimitri-furman
1010
ms.author: dfurman
1111
ms.reviewer: kendralittle, mathoma, moslake
12-
ms.date: 07/26/2021
12+
ms.date: 01/18/2022
1313
---
1414
# Migrate Azure SQL Database from the DTU-based model to the vCore-based model
1515
[!INCLUDE[appliesto-sqldb](../includes/appliesto-sqldb.md)]
@@ -96,11 +96,11 @@ FROM dtu_vcore_map;
9696

9797
Besides the number of vCores (logical CPUs) and the hardware generation, several other factors may influence the choice of vCore service objective:
9898

99-
- The mapping T-SQL query matches DTU and vCore service objectives in terms of their CPU capacity, therefore the results will be more accurate for CPU-bound workloads.
99+
- The mapping Transact-SQL query matches DTU and vCore service objectives in terms of their CPU capacity, therefore the results will be more accurate for CPU-bound workloads.
100100
- For the same hardware generation and the same number of vCores, IOPS and transaction log throughput resource limits for vCore databases are often higher than for DTU databases. For IO-bound workloads, it may be possible to lower the number of vCores in the vCore model to achieve the same level of performance. Actual resource limits for DTU and vCore databases are exposed in the [sys.dm_user_db_resource_governance](/sql/relational-databases/system-dynamic-management-views/sys-dm-user-db-resource-governor-azure-sql-database) view. Comparing these values between the DTU database or pool to be migrated, and a vCore database or pool with an approximately matching service objective will help you select the vCore service objective more precisely.
101101
- The mapping query also returns the amount of memory per core for the DTU database or elastic pool to be migrated, and for each hardware generation in the vCore model. Ensuring similar or higher total memory after migration to vCore is important for workloads that require a large memory data cache to achieve sufficient performance, or workloads that require large memory grants for query processing. For such workloads, depending on actual performance, it may be necessary to increase the number of vCores to get sufficient total memory.
102102
- The [historical resource utilization](/sql/relational-databases/system-catalog-views/sys-resource-stats-azure-sql-database) of the DTU database should be considered when choosing the vCore service objective. DTU databases with consistently under-utilized CPU resources may need fewer vCores than the number returned by the mapping query. Conversely, DTU databases where consistently high CPU utilization causes inadequate workload performance may require more vCores than returned by the query.
103-
- If migrating databases with intermittent or unpredictable usage patterns, consider the use of [Serverless](serverless-tier-overview.md) compute tier. Note that the max number of concurrent workers (requests) in serverless is 75% the limit in provisioned compute for the same number of max vCores configured. Also, the max memory available in serverless is 3 GB times the maximum number of vCores configured, which is less than the per-core memory for provisioned compute. For example, on Gen5 max memory is 120 GB when 40 max vCores are configured in serverless, vs. 204 GB for a 40 vCore provisioned compute.
103+
- If migrating databases with intermittent or unpredictable usage patterns, consider the use of [Serverless](serverless-tier-overview.md) compute tier. Note that the max number of concurrent [workers](resource-limits-logical-server.md#sessions-workers-and-requests) in serverless is 75% of the limit in provisioned compute for the same number of max vCores configured. Also, the max memory available in serverless is 3 GB times the maximum number of vCores configured, which is less than the per-core memory for provisioned compute. For example, on Gen5 max memory is 120 GB when 40 max vCores are configured in serverless, vs. 204 GB for a 40 vCore provisioned compute.
104104
- In the vCore model, the supported maximum database size may differ depending on hardware generation. For large databases, check supported maximum sizes in the vCore model for [single databases](resource-limits-vcore-single-databases.md) and [elastic pools](resource-limits-vcore-elastic-pools.md).
105105
- For elastic pools, the [DTU](resource-limits-dtu-elastic-pools.md) and [vCore](resource-limits-vcore-elastic-pools.md) models have differences in the maximum supported number of databases per pool. This should be considered when migrating elastic pools with many databases.
106106
- Some hardware generations may not be available in every region. Check availability under [Hardware generations for SQL Database](./service-tiers-sql-database-vcore.md#hardware-generations).

articles/azure-sql/database/resource-limits-dtu-elastic-pools.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.topic: reference
1010
author: dimitri-furman
1111
ms.author: dfurman
1212
ms.reviewer: kendralittle, mathoma
13-
ms.date: 10/12/2021
13+
ms.date: 01/18/2022
1414
---
1515
# Resources limits for elastic pools using the DTU purchasing model
1616
[!INCLUDE[appliesto-sqldb](../includes/appliesto-sqldb.md)]
@@ -53,7 +53,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
5353
| Max storage per pool (GB) | 5 | 10 | 20 | 29 | 39 | 78 | 117 | 156 |
5454
| Max In-Memory OLTP storage per pool (GB) | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
5555
| Max number DBs per pool <sup>1</sup> | 100 | 200 | 500 | 500 | 500 | 500 | 500 | 500 |
56-
| Max concurrent workers (requests) per pool <sup>2</sup> | 100 | 200 | 400 | 600 | 800 | 1600 | 2400 | 3200 |
56+
| Max concurrent workers per pool <sup>2</sup> | 100 | 200 | 400 | 600 | 800 | 1600 | 2400 | 3200 |
5757
| Max concurrent sessions per pool <sup>2</sup> | 30000 | 30000 | 30000 | 30000 |30000 | 30000 | 30000 | 30000 |
5858
| Min DTU per database choices | 0, 5 | 0, 5 | 0, 5 | 0, 5 | 0, 5 | 0, 5 | 0, 5 | 0, 5 |
5959
| Max DTU per database choices | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
@@ -62,7 +62,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
6262

6363
<sup>1</sup> See [Resource management in dense elastic pools](elastic-pool-resource-management.md) for additional considerations.
6464

65-
<sup>2</sup> For the max concurrent workers (requests) for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
65+
<sup>2</sup> For the max concurrent workers for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
6666

6767
### Standard elastic pool limits
6868

@@ -72,7 +72,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
7272
| Max storage per pool (GB) | 500 | 750 | 1024 | 1280 | 1536 | 2048 |
7373
| Max In-Memory OLTP storage per pool (GB) | N/A | N/A | N/A | N/A | N/A | N/A |
7474
| Max number DBs per pool <sup>2</sup> | 100 | 200 | 500 | 500 | 500 | 500 |
75-
| Max concurrent workers (requests) per pool <sup>3</sup> | 100 | 200 | 400 | 600 | 800 | 1600 |
75+
| Max concurrent workers per pool <sup>3</sup> | 100 | 200 | 400 | 600 | 800 | 1600 |
7676
| Max concurrent sessions per pool <sup>3</sup> | 30000 | 30000 | 30000 | 30000 | 30000 | 30000 |
7777
| Min DTU per database choices | 0, 10, 20, 50 | 0, 10, 20, 50, 100 | 0, 10, 20, 50, 100, 200 | 0, 10, 20, 50, 100, 200, 300 | 0, 10, 20, 50, 100, 200, 300, 400 | 0, 10, 20, 50, 100, 200, 300, 400, 800 |
7878
| Max DTU per database choices | 10, 20, 50 | 10, 20, 50, 100 | 10, 20, 50, 100, 200 | 10, 20, 50, 100, 200, 300 | 10, 20, 50, 100, 200, 300, 400 | 10, 20, 50, 100, 200, 300, 400, 800 |
@@ -83,7 +83,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
8383

8484
<sup>2</sup> See [Resource management in dense elastic pools](elastic-pool-resource-management.md) for additional considerations.
8585

86-
<sup>3</sup> For the max concurrent workers (requests) for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
86+
<sup>3</sup> For the max concurrent workers for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
8787

8888
### Standard elastic pool limits (continued)
8989

@@ -93,7 +93,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
9393
| Max storage per pool (GB) | 2560 | 3072 | 3584 | 4096 | 4096 |
9494
| Max In-Memory OLTP storage per pool (GB) | N/A | N/A | N/A | N/A | N/A |
9595
| Max number DBs per pool <sup>2</sup> | 500 | 500 | 500 | 500 | 500 |
96-
| Max concurrent workers (requests) per pool <sup>3</sup> | 2400 | 3200 | 4000 | 5000 | 6000 |
96+
| Max concurrent workers per pool <sup>3</sup> | 2400 | 3200 | 4000 | 5000 | 6000 |
9797
| Max concurrent sessions per pool <sup>3</sup> | 30000 | 30000 | 30000 | 30000 | 30000 |
9898
| Min DTU per database choices | 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200 | 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600 | 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000 | 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500 | 0, 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500, 3000 |
9999
| Max DTU per database choices | 10, 20, 50, 100, 200, 300, 400, 800, 1200 | 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600 | 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000 | 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500 | 10, 20, 50, 100, 200, 300, 400, 800, 1200, 1600, 2000, 2500, 3000 |
@@ -104,7 +104,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
104104

105105
<sup>2</sup> See [Resource management in dense elastic pools](elastic-pool-resource-management.md) for additional considerations.
106106

107-
<sup>3</sup> For the max concurrent workers (requests) for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
107+
<sup>3</sup> For the max concurrent workers for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
108108

109109
### Premium elastic pool limits
110110

@@ -125,7 +125,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
125125

126126
<sup>2</sup> See [Resource management in dense elastic pools](elastic-pool-resource-management.md) for additional considerations.
127127

128-
<sup>3</sup> For the max concurrent workers (requests) for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
128+
<sup>3</sup> For the max concurrent workers for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
129129

130130
### Premium elastic pool limits (continued)
131131

@@ -135,7 +135,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
135135
| Max storage per pool (GB) | 2048 | 2560 | 3072 | 3548 | 4096|
136136
| Max In-Memory OLTP storage per pool (GB) | 16 | 20 | 24 | 28 | 32 |
137137
| Max number DBs per pool <sup>2</sup> | 100 | 100 | 100 | 100 | 100 |
138-
| Max concurrent workers (requests) per pool <sup>3</sup> | 3200 | 4000 | 4800 | 5600 | 6400 |
138+
| Max concurrent workers per pool <sup>3</sup> | 3200 | 4000 | 4800 | 5600 | 6400 |
139139
| Max concurrent sessions per pool <sup>3</sup> | 30000 | 30000 | 30000 | 30000 | 30000 |
140140
| Min DTU per database choices | 0, 25, 50, 75, 125, 250, 500, 1000, 1750 | 0, 25, 50, 75, 125, 250, 500, 1000, 1750 | 0, 25, 50, 75, 125, 250, 500, 1000, 1750 | 0, 25, 50, 75, 125, 250, 500, 1000, 1750 | 0, 25, 50, 75, 125, 250, 500, 1000, 1750, 4000 |
141141
| Max DTU per database choices | 25, 50, 75, 125, 250, 500, 1000, 1750 | 25, 50, 75, 125, 250, 500, 1000, 1750 | 25, 50, 75, 125, 250, 500, 1000, 1750 | 25, 50, 75, 125, 250, 500, 1000, 1750 | 25, 50, 75, 125, 250, 500, 1000, 1750, 4000 |
@@ -146,7 +146,7 @@ For the same number of DTUs, resources provided to an elastic pool may exceed th
146146

147147
<sup>2</sup> See [Resource management in dense elastic pools](elastic-pool-resource-management.md) for additional considerations.
148148

149-
<sup>3</sup> For the max concurrent workers (requests) for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
149+
<sup>3</sup> For the max concurrent workers for any individual database, see [Single database resource limits](resource-limits-vcore-single-databases.md). For example, if the elastic pool is using Gen5 and the max vCore per database is set at 2, then the max concurrent workers value is 200. If max vCore per database is set to 0.5, then the max concurrent workers value is 50 since on Gen5 there are a max of 100 concurrent workers per vCore. For other max vCore settings per database that are less 1 vCore or less, the number of max concurrent workers is similarly rescaled.
150150

151151
> [!IMPORTANT]
152152
> More than 1 TB of storage in the Premium tier is currently available in all regions except: China East, China North, Germany Central, and Germany Northeast. In these regions, the storage max in the Premium tier is limited to 1 TB. For more information, see [P11-P15 current limitations](single-database-scale.md#p11-and-p15-constraints-when-max-size-greater-than-1-tb).

articles/azure-sql/database/resource-limits-dtu-single-databases.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.topic: reference
1010
author: dimitri-furman
1111
ms.author: dfurman
1212
ms.reviewer: kendralittle, mathoma
13-
ms.date: 04/16/2021
13+
ms.date: 01/18/2022
1414
---
1515
# Resource limits for single databases using the DTU purchasing model - Azure SQL Database
1616

@@ -47,7 +47,7 @@ The following tables show the resources available for a single database at each
4747
| Included storage (GB) | 2 |
4848
| Max storage (GB) | 2 |
4949
| Max in-memory OLTP storage (GB) |N/A |
50-
| Max concurrent workers (requests) | 30 |
50+
| Max concurrent workers | 30 |
5151
| Max concurrent sessions | 300 |
5252
|||
5353

@@ -65,7 +65,7 @@ The following tables show the resources available for a single database at each
6565
| Included storage (GB) <sup>1</sup> | 250 | 250 | 250 | 250 |
6666
| Max storage (GB) | 250 | 250 | 250 | 1024 |
6767
| Max in-memory OLTP storage (GB) | N/A | N/A | N/A | N/A |
68-
| Max concurrent workers (requests)| 60 | 90 | 120 | 200 |
68+
| Max concurrent workers | 60 | 90 | 120 | 200 |
6969
| Max concurrent sessions |600 | 900 | 1200 | 2400 |
7070
||||||
7171

@@ -85,7 +85,7 @@ The following tables show the resources available for a single database at each
8585
| Included storage (GB) <sup>1</sup> | 250 | 250 | 250 | 250 | 250 |
8686
| Max storage (GB) | 1024 | 1024 | 1024 | 1024 | 1024 |
8787
| Max in-memory OLTP storage (GB) | N/A | N/A | N/A | N/A |N/A |
88-
| Max concurrent workers (requests)| 400 | 800 | 1600 | 3200 |6000 |
88+
| Max concurrent workers | 400 | 800 | 1600 | 3200 |6000 |
8989
| Max concurrent sessions |4800 | 9600 | 19200 | 30000 |30000 |
9090
|||||||
9191

@@ -99,7 +99,7 @@ The following tables show the resources available for a single database at each
9999
| Included storage (GB) <sup>1</sup> | 500 | 500 | 500 | 500 | 4096 <sup>2</sup> | 4096 <sup>2</sup> |
100100
| Max storage (GB) | 1024 | 1024 | 1024 | 1024 | 4096 <sup>2</sup> | 4096 <sup>2</sup> |
101101
| Max in-memory OLTP storage (GB) | 1 | 2 | 4 | 8 | 14 | 32 |
102-
| Max concurrent workers (requests)| 200 | 400 | 800 | 1600 | 2800 | 6400 |
102+
| Max concurrent workers | 200 | 400 | 800 | 1600 | 2800 | 6400 |
103103
| Max concurrent sessions | 30000 | 30000 | 30000 | 30000 | 30000 | 30000 |
104104
|||||||
105105

0 commit comments

Comments
 (0)