加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server-2008-r2 – SQL Server – 任何人都使用SUMA,跟踪标

发布时间:2021-01-13 07:30:53 所属栏目:编程 来源:网络整理
导读:最近包罗SQL Server启动跟踪符号8048,以办理SQL Server 2008 R2体系中严峻的螺旋锁争用题目. 有乐趣听取其他人发明跟踪符号8048(从每个NUMA节点到每个焦点晋升查询内存授予计策),跟踪符号8015(SQL Server忽略物理NUMA)或SUMA(通过跟踪符号8048提供机能值)的用

最近包罗SQL Server启动跟踪符号8048,以办理SQL Server 2008 R2体系中严峻的螺旋锁争用题目.

有乐趣听取其他人发明跟踪符号8048(从每个NUMA节点到每个焦点晋升查询内存授予计策),跟踪符号8015(SQL Server忽略物理NUMA)或SUMA(通过跟踪符号8048提供机能值)的用例.交织充实同一的内存会见,某些NUMA呆板上的BIOS选项).

跟踪符号8048
http://blogs.msdn.com/b/psssql/archive/2011/09/01/sql-server-2008-2008-r2-on-newer-machines-with-more-than-8-cpus-presented-per-numa-node-may-need-trace-flag-8048.aspx

跟踪符号8015
http://blogs.msdn.com/b/psssql/archive/2010/04/02/how-it-works-soft-numa-i-o-completion-thread-lazy-writer-workers-and-memory-nodes.aspx

体系事变负载的细节,来自妨碍体系的网络指标,以及过问后从体系网络的指标.

跟踪符号8048是一个’修复’,但它是最好的修复?因为跟踪符号8015,SQL Server忽略物理NUMA会完成同样的工作吗?怎样将BIOS配置为交织内存,让处事器仿照SMP仿照SUMA举动而不是NUMA举动?

僻静!
tw:@sql_handle

关于体系:
– 4个六核Xeon E7540 @ 2.00GHz,超线程
– 128 GB RAM
– WS2008R2
– MSSQL 2008 R2 SP2
– maxdop 6

关于事变量:
– 从2个陈诉应用措施处事器驱动的1000个批量打算/列队陈诉.
– 3种口胃的批次:逐日,每周,每月
– 全部报表应用措施处事器与SQL Server的毗连都是作为单个处事帐户成立的
– 最大陈诉并发度= 90

陷入逆境的体系的首要发明:
– 来自Perfmon,隔断15秒
– – 体系保持在95%-100%CPU忙
– – SQL Server缓冲区页面查找< 10000 /秒
>从守候和螺旋锁DMV,每隔5分钟
>
>高CMEMTHREAD处事员和守候时刻

>
>高SOS_SUSPEND_QUEUE旋转和退却

Bob Dorr的CSS工程师关于跟踪符号8048的博客文章表白,因为查询内存授予的瓶颈,每个NUMA节点具有高出8个焦点的体系也许会碰着相同的症状.跟踪符号8048将计策变动为每焦点而不是每NUMA节点.

过问

行使-T8048从头启动MSSQL.差别当即显而易见:缓冲区页面查找率上升高出100万,飙升至每秒800万.早年无法在24小时内完成的妨碍批处理赏罚事变量在不到4小时内完成.作为验证痕量符号8048的校正值(并确保其不须要的副浸染最小)的一部门,提交了另一个不是观测或过问重点的批量事变量.此陈诉批次先前在2小时内完成;跟踪符号8048到位,陈诉批量约莫在20分钟内完成.

夜间ETL也碰着了甜头. ETL时刻从约莫60分钟降落到40分钟.

从几个处所搜集信息,我展望陈诉列队的高度,并发陈诉计数大于硬件线程数,而且全部陈诉的单个用户帐户组合起来对一个NUMA节点施加压力,直到事变线程压力导致它对付统一用户帐户的下一个传入毗连哀求是不受接待的,此时下一个NUMA节点将当即得到一些毗连数.每个NUMA节点最终都有也许强观测询内存授予瓶颈.

为查询内存授予打开更多通道消除了瓶颈.可是,我不确定本钱. Bob Dorr的CSS帖子清晰地表白跟踪符号8048存在特另外内存开销.单页分派器地区内的开销是否受MSSQL 2008 R2最大处事器内存的节制?假如是这样,我想体系只会在缓冲池缓存中镌汰一些数据库页面.假如没有,是否应低落最大处事器内存以容纳?

办理要领

这是一个很棒的帖子.

为了答复你的最后一个题目,我展望你的答复是“是”.

也就是说,在行使跟踪符号之前,我也许会追求软numa.我以为你对numa节点的分派是正确的,这也许是你题目的来源.通过软numa,您可以扩展哀求,详细取决于您的numa节点数(4?) – 4,假如这是正确的数字,然后通过IP地点将每个主机分派给特定的numa节点,另外为此,我将禁用超线程.归并后,题目也许会镌汰,可是,它会以较少的调治措施为价钱.

在一个单独的设法,我会看到逼迫参数化 – 你的负载驱动你的CPU云云之高的究竟长短常风趣的,它也许值得研究.

最后,在多numa节点体系上,我凡是将以下查询的输出每N秒转储到一个表中.在实现事变负载变动或跟踪符号时举办一些风趣的说明:

SELECT getdate() as poll_time,node_id,node_state_desc,memory_node_id,online_scheduler_count,active_worker_count,avg_load_balance,idle_scheduler_count
FROM sys.dm_os_nodes WITH (NOLOCK) 
WHERE node_state_desc <> N'ONLINE DAC'

SELECT top 10 getdate() as sample_poll,wait_type,count (*)
FROM sys.dm_os_waiting_tasks
WHERE [wait_type] NOT IN
('CLR_SEMAPHORE','LAZYWRITER_SLEEP','RESOURCE_QUEUE','SLEEP_TASK','SLEEP_SYSTEMTASK','SQLTRACE_BUFFER_FLUSH','WAITFOR','BROKER_TASK_STOP','BROKER_RECEIVE_WAITFOR','OLEDB','CLR_MANUAL_EVENT','CLR_AUTO_EVENT' ) 
GROUP BY wait_type
ORDER BY COUNT (*) DESC

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读