ЦП / DTU максимально загружены для базы данных SQL Azure, но количество запросов к ним меньше 1%, а для базы данных - всего несколько МБ - PullRequest
0 голосов
/ 08 октября 2019

Я только что запустил базу данных SQL Azure, и использование DTU и ЦП ведет себя странно. База данных получает только около 30 запросов в минуту, и CPU / DTU будут чрезвычайно низкими в течение нескольких часов, а затем подскочат до 100% и останутся там (без увеличения количества запросов, вызывающих это). Когда я нажимаю, чтобы просмотреть самые популярные запросы, ни один из них не превышает 1% использования ЦП. Я начал с плана с 5 DTU, а вчера обновил до 20 DTU, и происходит то же самое поведение. Любая идея, что еще может привести к максимальной производительности DTU / CPU? См. Изображения ниже:

https://i.imgur.com/LdbYTPw.png

https://i.imgur.com/jlus3FM.png

Заранее благодарим за любой совет!

Джо

РЕДАКТИРОВАТЬ:Я все ближе, я нашел эти повторные записи в журнале ошибок. (около 8 - 10 в секунду)

"Входящий запрос имеет слишком много параметров. Сервер поддерживает максимум 2100 параметров. Уменьшите количество параметров и повторите запрос."

Дело в том, что служба приложений, которая запрашивает базу данных, выполняет только простые операции выбора, обновления и вставки ... ни одна из которых не использует сложный оператор WHERE IN. Кроме того, каждый запрос заключен в блок try / catch, и я никогда не вижу исключения, подобного этому.

Откуда могут исходить эти большие запросы?

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Вы видите только компонент ЦП графика DTU, а как насчет компонентов "Data IO" и "Log IO"? Посмотрите на верхние 5 запросов в 3 разделах и дайте мне знать, если вы найдете запрос, который начинается с "SELECT Statman ...". Если вы видите это, то процесс автоматического обновления статистики создает эти пики DTU.

0 голосов
/ 08 октября 2019

Я бы предложил установить скрипт sp_whoisactive, чтобы вам было проще видеть, что происходит:

http://whoisactive.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...