配置 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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例