软件下载吧文章资讯

分类分类

sql server数据库中的任务调度与CPU深入讲解

2024-03-07 21:27作者:下载吧

一. 概述

我们知道在操作系统看来, sql server产品与其它应用程序一样,没有特别对待。但内存,硬盘,cpu又是数据库系统最重要的核心资源,所以在sql server 2005及以后出现了SQLOS,这个组件是sqlserver和windows的中间层,用于CPU的任务调度,解决I/O的资源争用,协调内存管理等其它的资源协调工作。下面我来试着讲讲SQLOS下的Scheduler调度管理。话不多说了,来一起看看详细的介绍吧。

二. CPU 的配置

在Sql server 里点击数据库实例右键到属性,选择处理器进行配置。最大工作线程数的默认值是0 (注意这里配置的是worker它是对CPU的真正封装)。这使得SQL Server能够在启动时自动配置工作线程的数量。默认设置对于大多数系统是最好的。但是,根据您的系统配置,将最大工作线程数设置为一个特定的值有时会提高性能。当查询请求的实际数量小于最大工作线程数时,一个线程处理一个查询请求。但是,如果查询请求的实际数量超过最大线程量时,SQLServer会将Worker Threads线程池化,以便下一个可用的工作线程可以处理请求。

配置如下图所示:

  sql server数据库中的任务调度与CPU深入讲解     

也可以通过T-sql配置,下例通过sp_configure将max worker线程选项配置为900

USE AdventureWorks2012 ;
GO
EXEC sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure ‘max worker threads’, 900 ;
GO
RECONFIGURE;

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消