Heim  >  Artikel  >  Datenbank  >  SQLSERVER中的NUMA架构

SQLSERVER中的NUMA架构

WBOY
WBOYOriginal
2016-06-07 17:43:22959Durchsuche

SQLSERVER中的NUMA架构 之前看了园子里的宋大侠《浅谈SQL Server 对于内存的管理》的文章,里面讲到NUMA架构,究竟NUMA架构是啥东西 网上的资料说得让人一头雾水 刚好上星期在MSDN上找到一篇关于NUMA架构的文章,文章是2011年写的,现在分享给大家o(_)o 文章

SQLSERVER中的NUMA架构

之前看了园子里的宋大侠《浅谈SQL Server 对于内存的管理》的文章,里面讲到NUMA架构,究竟NUMA架构是啥东西

网上的资料说得让人一头雾水

刚好上星期在MSDN上找到一篇关于NUMA架构的文章,文章是2011年写的,现在分享给大家o(∩_∩)o 

文章:SQL SERVER在NUMA架构下实现性能最佳化

就目前而言,CPU主频速度的迅速提升以及CPU数量的高速增长,并没有能够促使CPU在访问内存时的速度有所长进。

尽管L3 Cache的提出解决了部分问题,美国空间,不过,CPU访问内存速度慢的现象并未有所改观,瓶颈依然存在。

为了更有效的解决CPU访问内存的速度问题,工业界引入了NUMA概念

首先介绍一下 NUMA  的架构,如下图:

 

 每个 NUMA 节点(硬件 NUMA 或软件 NUMA)都有一个用于处理网络 I/O 的相关 I/O 完成端口,这有助于跨多个端口分布网络 I/O 处理

上述结构中展现出两个NUMA结点,每个NUMA结点有一些CPU, 一个内部总线,和自己的内存,甚至可以有自己的IO。每个CPU有离自己最近的内存可以直接访问。

所以,使用NUMA架构,系统的性能会更佳。值得注意的是,在NUMA结构下,服务器空间,可以比较方便的增加CPU的数目。

而在非NUMA架构下,增加CPU会导致系统总线负载很重,性能提升不明显。

虽然每个CPU也可以访问其他NUMA结点上的内存,但付出的代价则是导致速度更慢,这是要尽量避免的。

应用软件如果没有意识到这种结构,在NUMA机器上,有时候性能会更差,网站空间,这是因为,他们经常会不自觉的去访问远端内存,从而导致整体性能下降。

通常而言,NUMA架构也有硬件和软件之分。

 

一、硬件NUMA

硬件NUMA是在硬件层面上得以支持。如何才能知道本机是否有硬件NUMA呢? 最好的办法是问硬件供应商了。

但如果想知道机器中有多少个NUMA结点,那就可以在SQL Server Management Studio下用如下的查询,看能返回几个NUMA结点

memory_node_id FROM sys.dm_os_memory_clerks

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Mssql 之 定期备份数据库Nächster Artikel: 面试常用SQL整理