配置 max worker threads 服务器配置选项

2024-04-04 06:38

本文主要是介绍配置 max worker threads 服务器配置选项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SQL Server 2012
其他版本
  • 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,并关闭此进程。 为避免此种情况发生,请增大最大工作线程数。

安全性

权限

默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要执行带两个参数的 sp_configure 以更改配置选项或运行 RECONFIGURE 语句,则用户必须具备 ALTER SETTINGS 服务器级别的权限。 ALTER SETTINGS 权限由 sysadmin serveradmin 固定服务器角色隐式持有。

用于“返回首页”链接的箭头图标 [Top]

使用 SQL Server Management Studio

配置 max worker threads 选项

  1. 在对象资源管理器中,右键单击服务器并选择“属性”

  2. 单击“处理器”节点。

  3. “最大工作线程数”框中,键入或选择一个介于 128 到 32767 之间的值。

    使用 max worker threads 选项配置可用于 SQL Server 进程的工作线程数。 max worker threads 的默认设置适用于大多数系统。 不过,根据您的系统配置,有时将 max worker threads 设置为较小的值会提高性能。

用于“返回首页”链接的箭头图标 [Top]

使用 Transact-SQL

配置 max worker threads 选项

  1. 连接到数据库引擎。

  2. 在标准菜单栏上,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 此示例说明如何使用 sp_configuremax worker threads 选项的值配置为 900

Transact-SQL
复制
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 选项之后

此更改将立即生效,而无需重新启动数据库引擎。

用于“返回首页”链接的箭头图标 [Top]

请参阅

参考
RECONFIGURE (Transact-SQL)
sp_configure (Transact-SQL)
概念
服务器配置选项
用于数据库管理员的诊断连接

这篇关于配置 max worker threads 服务器配置选项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875064

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定