Хранимая процедура SQL Server долго работает с перерывами - PullRequest
0 голосов
/ 20 июня 2019

У меня есть 5 хранимых процедур, вызываемых API-интерфейсом, которые обычно выполняются менее чем за 100 мс, но с перерывами все хранимые процедуры внезапно начинают работать> 10 секунд. Мы сделали стресс-тест, прежде чем начать жить, и все было хорошо во время стресс-теста.

Для каждой из хранимых процедур я фиксирую время начала, используя SYSDATETIME(), и также записываю в него таблицу в конце хранимой процедуры с указанием времени окончания. Поэтому я запускаю профилировщик на производстве и замечаю странные вещи.

Например, сегодня RPC профилировщика RPC: время завершения завершенного события - 09: 18: 04.680, где, как указано в моих таблицах журнала выполнения хранимых процедур, выполнение началось в 09: 19: 54.288. Таким образом, существует 110-секундное несоответствие между запуском выполнения профилировщика и временем внутреннего запуска моей хранимой процедуры. Так происходит со всеми хранимыми процедурами в течение 2-3 минут, и все само очищается.

Я запустил perfmon, и ничто не показалось мне необычным. Сервер SQL обладает высокой пропускной способностью, и в настоящее время приложение работает только с несколькими пользователями, поэтому приложение с не очень высоким трафиком.

У меня также есть Redgate SQL Monitor, и он не показывает ненормальное время ожидания.

Я даже не уверен, где искать. Я не уверен, что его параметры прослушиваются, потому что одна из затронутых хранимых процедур не принимает никаких параметров. Через 2-3 минуты все хранимые процедуры запускаются как положено.

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