Monitoring SQL Server Resources

Set Metrics

From the Resource Graph, you can click on the pin to open it up in a larger screen. You can set a range of time to view the demand on your database for the past period (hour, day, week,
month) or a specific date/time range. By default, the past hour appears.

By default, the DTU Percentage is shown, but to make it clearer, we've found by unchecking that and seeing the DTU Used and DTU Limit is
better if we're changing the DTU Limit.

This is set on the list of available metrics:

Weekly Monitor Seems Reasonable

We can see the DTU usage against the maximum DTU for this database. The cyan line across the top is the DTU limit. The dark blue line is the DTU used. The limit is what we pay, so it's
important to make sure we scale it to what the application needs.

Looking at the activity for the past week, there are times when the usage is zero (non-business hours) with expected spikes of usage that are well below the maximum capacity.

It hit the max one day, but overall, the usage level and limits seem reasonable.

One could increase the DTU level to avoid the maximum use that one day, accept the current settings, or even lower it. It depends on the urgency and value of what is running
when the maximum is reached. In some cases, users may not even notice because they've launched something that they wouldn't expect to finish immediately. In other cases, it could be critical
that more resources are available.

It's a classic capacity utilization question of how many power plants need to be built to make sure there's enough electricity on the hottest summer day, knowing that much of that
investment sits idle the rest of the year.

These are completely different displays of the same period of time. The 65 minute graph never hits the maximum DTU. What's going on?

With help from the Microsoft Azure support team, it turns out the data is calculated and displayed differently for 60 minutes or less versus more than 60 minutes.

For < 60 minutes, usage is binned in 15 second intervals. Limited usage during that period could show maximum use in that interval, but does not mean it's actually being used to
capacity all 15 seconds.

For > 60 minutes, usage is binned in 5 minute intervals. A lot more queries and activity is necessary to fill up a 5 minute interval and is less susceptible to short data spikes.

By collaborating with the Microsoft Azure team, we concluded that we need to focus on the >60 minute time ranges to monitor and set our resource limits. Our resources are set at
the right level for our application, and we will continue to monitor it to ensure it's adequate over time.

We hope this information helps you avoid the confusion we experienced since we didn't find any documentation explaining this distinction at the 60 minute mark.