视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
SQLserver的workerthread工作线程讲解
2020-11-09 09:48:26 责编:小采
文档


我们都知道SQL server的worker thread是SQL server 用来执行task的工作线程。Worker threads 的数目缺省是SQL server 动态创建的,需要多少就会创建多少,直到到达max worker threads的上限。如果你想改变缺省的worker threads,那么可以使用下面的脚步修改

我们都知道SQL server的worker thread是SQL server 用来执行task的工作线程。Worker threads 的数目缺省是SQL server 动态创建的,需要多少就会创建多少,直到到达“max worker threads”的上限。如果你想改变缺省的worker threads,那么可以使用下面的脚步修改:

exec sp_configure'show advance',1

go

reconfigure with override

go

exec sp_configure'max worker threads',500

go

reconfigure with override

重新启动SQL Server 服务,然后运行,你就会发现SQL server的 max worker threads 参数已经生效:

exec sp_configure'max worker threads'

结果:

一般情况下,max worker threads的缺省值是0,表示SQL Server 就能够根据用户请求自动确定正确的活动工作线程数。这时候sp_configure 不会告诉你现在的 max worker threads的数目:

exec sp_configure'max worker threads'

结果:

你会注意到config_value 和 run_value都是0。那么如何得知SQL server 决定的那个 max worker threads是多少呢?答案就是察看DMV sys.dm_os_sys_info:

select max_workers_count,scheduler_count,cpu_count,hyperthread_ratio from sys.dm_os_sys_info

结果如下:

该DMV还输出一个比较有意思的column就是 hyperthread_ratio. 它表示一个物理处理器包公开的逻辑内核数与物理内核数的比,而并不能告诉您是否启用了hyperthread 模式。我上面的结果表示一个物理CPU socket 包含了4个CPU。

下载本文
显示全文
专题