I know there are posts around Azure SQL connection timeouts, but have not found the following case.
I've been using Azure SQL (S3 plan). Normally the DTU is very low, and there are no timeouts when apps connect to this DB.
The problem starts when we run batch jobs against the DB, such as updating certain column value for millions of rows. It may take hours to complete these batch jobs. During this period, the DTU value reaches the max and other apps fail with timeouts.
Are there guidelines on what should be done? Here are options I thought of.
- Upgrade to higher tier. This option likely works, but not attractive as the DTU is usually very low.
- Increasing timeouts for the apps that connect to DB. Not sure if this works, because timeout would have to be a very long time.
If there is a way to allocate a certain portion of DTU to the batch job (say 70%) and always keeps some DTU left for others, that'd be ideal, but I don't think it's possible. Any suggestion would be appreciated!