Rozetka UA

Способ уменьшения пиковых нагрузок на MS SQL Server

Обратил внимание- на MS SQL Server периодически возникает ситуация ненормальной но непродолжительной нагрузки.

Анализ показал, что причиной является вызов JOB-ов. Они вызываются по времени, создают синхронную нагрузку. Можно ли их как-то развести без серьезных изменений логики и шедулера?

Можно- очень просто. В один из самых напряженных скриптов был добавлен такой фрагмент:

 

DECLARE @wt VARCHAR(12)
SELECT @wt=’00:00:’+CONVERT(VARCHAR(2),CONVERT(NUMERIC(2,0),RAND()*59))
WAITFOR DELAY @wt

Перед выполнением скрипт ждет несколько секунд, до минуты. Период ожидания выбирается случайно и НЕ совпадает у различных JOB-ов.

Пиковая нагрузка размазывается на несколько секунд.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Pratik UaPratik UaPratik Ua