Запуск SQL Server 2008 Sproc с более низким приоритетом - PullRequest
3 голосов
/ 21 февраля 2010

У нас есть веб-приложение большого объема, основанное на ASP.NET 3.5 и SQL 2008, где мы надеемся поддерживать уровни высокой доступности 24x7 без необходимости технического обслуживания.

Со временем мы стали полагаться на некоторые хранимые процедуры, которые выполняют служебные операции для очистки ненужных данных, компиляции некоторых метрик и т. Д. Наша проблема заключается в том, что эти sprocs потребляют почти весь процессор на серверах, пока работа, что приводит к значительному влиянию на отзывчивость сайта.

Есть ли способ запустить эти звездочки с более низким приоритетом? Это действительно не имеет значения, сколько времени они занимают, пока мы можем уменьшить влияние на ЦП сервера базы данных.

1 Ответ

6 голосов
/ 21 февраля 2010

Вы можете использовать Resource Governor , чтобы указать ограничения на количество ЦП и памяти, которые могут использовать входящие запросы приложений.

BEGIN TRAN;
-- Create a new resource pool and set a maximum CPU limit.
CREATE RESOURCE POOL PoolAdhoc
WITH (MAX_CPU_PERCENT = 50);
-- Configure the workload group so it uses the new resource pool. 
-- The following statement moves 'GroupAdhoc' from the 'default' pool --- to 'PoolAdhoc'
ALTER WORKLOAD GROUP GroupAdhoc
USING PoolAdhoc;
COMMIT TRAN;
GO
-- Apply the changes to the Resource Governor in-memory configuration.
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...