Online Documentation for SQL Administrator for SQL Server

Параллелизм


На вкладке Parallelism можно задать настройки для параллельного использования процессора экземпляром сервера.

 

Server properties - Parallelism

 

 

Используйте параметр Query plan cost threshold for parallelism, чтобы указать порог, при котором Microsoft SQL Server создает и выполняет параллельные планы для запросов. SQL Server создает и выполняет параллельный план для запроса, только если ожидаемая стоимость выполнения последовательного плана для того же запроса выше значения, установленного в параметре Query plan cost threshold for parallelism. Стоимость связана с ожидаемым количеством затраченного времени в секундах, необходимого для выполнения последовательного плана на определенной аппаратной конфигурации. Параметр Query plan threshold for parallelism следует устанавливать только в симметричных многопроцессорных системах.

 

Если SQL Server 2005 работает на многопроцессорном компьютере, он определяет оптимальную степень параллелизма, то есть количество процессоров, задействованных для выполнения одной инструкции для каждого из планов параллельного выполнения. Для ограничения количества процессоров в плане параллельного выполнения может быть использован параметр Maximum degree of parallelism in query executions. Установленное по умолчанию значение 0 использует все доступные процессоры. Чтобы отключить формирование параллельных планов, присвойте параметру Maximum degree of parallelism in query executions значение 1. Значение выше 1 (до 64) позволяет ограничить максимальное количество процессоров, используемых при выполнении одного запроса. Если указано значение, превышающее число доступных процессоров, используется фактическое число доступных процессоров. Если у компьютера только один процессор, то значение параметра Maximum degree of parallelism in query executions учитываться не будет.

 

Используйте параметр Maximum number of available locks, чтобы установить максимальное количество доступных блокировок, таким образом ограничивая объем памяти, используемой компонентом Database Engine для них. Значение 0 (по умолчанию) позволяет компоненту Database Engine динамически выделять и освобождать структуры блокировок в зависимости от изменяющихся системных требований.

Когда сервер запускается с параметром Maximum number of available locks, установленным в 0, диспетчер блокировок запрашивает у компонента Database Engine объем памяти, достаточный для начального пула в 2 500 структур блокировки. Если пул блокировки будет исчерпан, для пула будет запрошена дополнительная память.

Установите флажок !CheckBox Unlimited, чтобы разрешить серверу использовать блокировки динамически.

 

Используйте параметр Query wait for resources before timing out для указания времени в секундах (от 0 до 2147483647), в течение которого запрос будет ожидать ресурсы. Если используется значение по умолчанию (-1) или указано значение -1, то интервал ожидания равен предполагаемой цене запроса, увеличенной в 25 раз.

 

!CheckBox Use time-out calculated as 25 times of the estimated query cost

В Microsoft SQL Server требующие много памяти запросы (например, включающие сортировку и хеширование) помещаются в очередь, если для выполнения запроса не хватает памяти. Время истечения запроса истекает после установленного времени, рассчитанного SQL Server (25-кратная рассчитанная стоимость запроса), или времени, указанного неотрицательной величиной времени ожидания запроса.