本文主要是介绍配置 max worker threads 服务器配置选项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- SQL Server 2008 R2
- SQL Server 2008
- SQL Server 2005
本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中配置 max worker threads 服务器配置选项。 max worker threads 选项配置可用于 SQL Server 进程的工作线程数。 SQL Server 使用操作系统的本机线程服务,以便使一个或多个线程支持 SQL Server 同时支持的每一个网络,另一个线程处理数据库检查点,而线程池则处理所有用户。 max worker threads 的默认值为 0。 这使 SQL Server 在启动时自动配置工作线程数。 默认设置对于大多数系统为最佳设置。 不过,根据您的系统配置,有时将 max worker threads 设置为特定值会提高性能。
本主题内容
-
开始之前:
限制和局限
建议
安全性
-
配置 max worker threads 选项,使用:
SQL Server Management Studio
Transact-SQL
-
跟进: 在配置 max worker threads 选项之后
限制和局限
-
当实际的查询请求数量少于max worker threads 中设置的数量时,每一个线程处理一个查询请求。 但是,如果实际的查询请求数量超过了 max worker threads 中设置的数量,SQL Server 会将工作线程集中到池中,这样下一个可用的工作线程就可以处理请求。
建议
-
此选项是一个高级选项,仅应由有经验的数据库管理员或认证的 SQL Server 技术人员更改。
-
当服务器上连接有大量客户端时,线程池有助于优化性能。 一般情况下,会为每个查询请求创建一个单独的操作系统线程。 但是,当到服务器的连接达到数以百计时,为每个查询请求使用一个线程会占用大量的系统资源。 max worker threads 选项使 SQL Server 可以为更大数量的查询请求创建一个工作线程池,这将提高性能。
-
下表显示了针对各种 CPU 与 SQL Server 版本的组合自动配置的最大工作线程数。
CPU 数
32 位计算机
64 位计算机
<= 4 个处理器
256
512
8 个处理器
288
576
16 个处理器
352
704
32 个处理器
480
960
注意 我们建议对于 32 位计算机上运行的 SQL Server 实例,最大工作线程数为 1024。
-
如果所有工作线程因为长时间运行的查询而处于活动状态,SQL Server 可能停止响应,直到一个工作线程完成并变成可用。 虽然这不是缺点,但有时用户可能并不希望如此。 如果进程显示为停止响应并且不再处理新查询,则将使用专用管理员连接 (DAC) 连接到 SQL Server,并关闭此进程。 为避免此种情况发生,请增大最大工作线程数。
安全性
配置 max worker threads 选项
-
连接到数据库引擎。
-
在标准菜单栏上,单击“新建查询”。
-
将以下示例复制并粘贴到查询窗口中,然后单击“执行”。 此示例说明如何使用 sp_configure 将 max worker threads 选项的值配置为 900。
USE AdventureWorks2012 ; GO EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE ; GO EXEC sp_configure 'max worker threads', 900 ; GO RECONFIGURE; GO
有关详细信息,请参阅服务器配置选项。
[Top]
这篇关于配置 max worker threads 服务器配置选项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!