===== Опция SQL Server "Maximum worker threads" ===== {{:1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190417-170845.png }} Максимальное количество потоков (опция **Maximum worker threads**) в конфигурации по умолчанию в **SQL Server 2016** установлено в **0**. C таким значением сервер не создает больше потоков, чем рассчитано по формуле, описанной в документе [[https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-the-max-worker-threads-server-configuration-option?view=sql-server-2016|Configure the max worker threads Server Configuration Option]]. В этом документе приводится таблица расчётных значений в зависимости от количества процессоров и битности сервера. Например, в нашем случае используется x64 сервер с 12 ядрами. В этом случае расчёт будет выполняться по формуле 512 + ((12 logical CPU’s - 4) * 16) = 640 Увеличивая значения **Maximum worker threads** от рассчитываемого автоматически предела по вышеуказанной формуле, стоит помнить о том, что с увеличением этого значения повышаются накладные расходы на обслуживание экземпляра SLQ Server, выходящие за рамки параметра **Maximum server memory**. То есть с увеличением **Maximum worker threads**, нужно не забыть про [[1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:maximum-and-minimum-server-memory-sql-server-options|перерасчёт показателя]] **Maximum server memory**. Есть [[https://infostart.ru/public/65955/|мнение]] что, используемого по умолчанию автоматически вычисляемого SQL Server ограничения может не хватать при большом количестве одновременных транзакций. Разумеется, чтобы сделать такое умозаключение, требуется дополнительный анализ производительности SQL Server под нагрузкой. К тому же если верить [[https://docs.microsoft.com/ru-ru/sql/database-engine/configure-windows/configure-the-max-worker-threads-server-configuration-option?view=sql-server-2017|официальной документации]], в некоторых ситуациях не увеличение, а напротив, - уменьшение **Maximum worker threads** от рассчитываемого автоматически значения, может приводить к улучшению производительности экземпляра SQL Server. В общем случае лучше оставить это значение опции **Maximum worker threads** в конфигурации по умолчанию, то есть равным **0**. {{ :1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190213-115757.png }} ---- Проверено на следующих конфигурациях: ^ Версия ОС ^ Версия SQL Server ^ | Microsoft Windows Server 2012 R2 Standard EN (6.3.9600) | Microsoft SQL Server 2016 SP2 CU4 (13.0.5233.0) | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 13.02.2019 11:58 {{tag>"SQL Server" "SQL Server 2016" "1C 8.3" "1C" Sizing Perfomance}} ~~DISCUSSION~~ ~~NOTOC~~