Параметр max worker threads
Изменения: 5 декабря 2005 г.
С помощью параметра max worker threads настраивается число потоков исполнителей, доступных процессам Microsoft SQL Server. SQL Server использует собственные службы потоков операционных систем Microsoft Windows 2000 и Windows Server 2003, так что один или несколько потоков работают с каждой из одновременно поддерживаемых SQL Server сетей, один поток обрабатывает контрольные точки баз данных, а пул потоков обслуживает всех пользователей.
Назначение параметра max worker threads
Пул потоков помогает оптимизировать производительность при подключении к серверу большого числа пользователей. Обычно для каждого клиентского соединения операционная система создает отдельный поток, чтобы снизить потребление системных ресурсов. Однако в случае сотен подключений к серверу использование одного потока на каждое соединение приводит к потреблению большого числа системных ресурсов. Параметр max worker threads позволяет SQL Server создавать пул рабочих потоков, обслуживающих большое число клиентских соединений, что улучшает производительность.
Вычисление максимального числа потоков исполнителей
Значение параметра max worker threads по умолчанию (0) дает возможность SQL Server автоматически определять число рабочих потоков при запуске. Это значение оптимально для большинства систем, однако, в зависимости от конфигурации системы, задание конкретного значения параметра max worker threads может иногда повысить производительность.
В следующей таблице показано автоматически настраиваемое максимальное число потоков исполнителей для различных сочетаний процессоров и версий SQL Server.
Число ЦП | 32-разрядный компьютер | 64-разрядный компьютер |
---|---|---|
<= 4 процессорам |
256 |
512 |
8 процессоров |
288 |
576 |
16 процессоров |
352 |
704 |
32 процессора |
480 |
960 |
Примечание. |
---|
Рекомендуется 1024 в качестве максимального значения для 32-разрядной версии SQL Server и 2048 для 64-разрядной версии SQL Server. |
Если реальное количество пользовательских соединений меньше значения, заданного параметром, max worker threads, каждое соединение обрабатывается одним потоком. Однако если реальное количество соединений превышает число, заданное параметром max worker threads, SQL Server использует пул рабочих потоков, так что следующий доступный рабочий поток сможет обработать запрос.
Обновление SQL Server 2000
По умолчанию в SQL Server 2000 значение параметра max worker threads было 255. При обновлении экземпляра компонента SQL Server 2000 Database Engine до SQL Server 2005 значение для параметра max worker threads сохраняется. Рекомендуется перед обновлением установить для параметра SQL Server 2005max worker threads значение 0, чтобы ядро СУБД смогло вычислить оптимальное количество потоков.
Установка максимального числа потоков исполнителей
Параметр max worker threads является дополнительным. Если для изменения параметра max worker threads используется системная хранимая процедура sp_configure
, его значение можно изменить, только если параметр show advanced options имеет значение 1. Чтобы изменение вступило в силу, сервер должен быть перезапущен.
Примечание. |
---|
Если все потоки исполнителей заняты выполнением длительных запросов, SQL Server может не отвечать на другие запросы, пока один из потоков не завершит работу и не станет доступным. Хотя это и не ошибка, такое поведение иногда нежелательно. Если процесс не отвечает и новые запросы не могут быть обработаны, подключитесь к SQL Server через выделенное административное подключение (DAC) и уничтожьте процесс. Во избежание этого увеличьте максимальное число потоков управления. |
См. также
Задачи
Как применять выделенное административное подключение со средой SQL Server Management Studio
Основные понятия
Установка параметров конфигурации сервера
Использование выделенного административного подключения
Другие ресурсы
RECONFIGURE (Transact-SQL)
Хранимая процедура sp_configure (Transact-SQL)
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
5 декабря 2005 г. |
|