www.6119.com

当前位置:www.189.cc > www.6119.com > >

答应外围设施与计较机体系内部硬件 (包罗 CP

发布时间:2019-10-13 关注次数:

  存储系统机能 - 带宽计较_计较机硬件及收集_IT/计较机_专业材料。1、 IOPS 和带宽对存储机能的影响? 说起存储产物的评价, 机能永久是第一主要的问题。关于机能的各类目标实 正在八门五花: 带宽 (Bandwidth) 、 IOPS、 挨次 (Sequential

  1、 IOPS 和带宽对存储机能的影响? 说起存储产物的评价, 机能永久是第一主要的问题。关于机能的各类目标实 正在八门五花: 带宽 (Bandwidth) 、 IOPS、 挨次 (Sequential) 读写、 随机 (Random) 读写、持续吞吐(Sustained Throughput)、突发处置能力(Burst I/O)等等看 似甚为专业的名词着处理方案和手艺阐发演讲。 存储产物的机能似乎被量化 得非分特别清晰,做为用户,只需要简单的比力两个数字,就能够清晰的得出孰优孰 劣的结论。然而,现实果实如斯吗? 就让我们走进那些八门五花的指数背后,去看看机能的线、带宽取 I/O 这是两个权衡存储设备机能最根基的概念,明白的区分两者也是对存储产物 机能领会的第一步。若是我们把存储设备比做一间会议室,被存取的数据就是前 来加入会议或从会议中分开的人,那么带宽机能就是指这间会议室大门的宽度, 大门越宽,能够同时进出的人也就越多,而 I/O 机能是指房门开合的屡次程度, 送来一批前来加入会议的人,就需要打开一次大门,送走一批人也是一样,哪怕 这“一批人”其实只是一小我。由此可见,当我们调查会议室的门设想得能否合理 时,必需连系会议本身的性质。 对规律严正的会议来说,等闲不会凌乱的进出会场,人们正在会议起头 时同一进入,竣事时再同一分开。对这种环境,门的宽度就十分主要,而能否易 于开合则显得不那么环节, 归正这扇门正在整个会议中只需要开合两次罢了。相反 的,对于联欢性质的而言,门设想得太宽除了显得气派之外,并没有什么实 际的意义,可是门开合的频次却很主要,由于会有客人屡次的进进出出。 对应到存储设备上,事理也是一样。大文件持续传输型的使用需要的是充实 的带宽机能,而小文件随机读写的使用则要求脚够的 I/O 能力。那么多大的文件 算“大文件”呢?一般而言,跨越 1MB 大小的文件就能够算做“大文件”了。若是您 的使用系统处置的材料中,最小的文件也有 4~5MB 以至几十 MB,就需要沉 点调查存储系统的带宽机能了。 若是您的使用是数据库形式, 或是电子邮件系统, 系统中有大量 KB 级大小的文件,那么就能够忽略掉产物引见中 MB/s 的字 样,沉点关怀 IOPS 就能够了。 2、影响机能的要素 当然,仅看产物彩页中的简单数字仍是远远不敷的。存储设备的标称指数只 是其最最抱负环境下的表示, 而现实使用中,存储设备表示出的处置能力往往取 其标称指数相去甚远。为了反映更多的细节,会议室的比方不脚以申明问题。所 以我们前面的例子再改良一下,把存储设备看做一栋有良多房间的大厦。人们从 门口进入大厦,先来到大堂,颠末走廊,最初达到房间。人们进大厦的体例也分 为两种:一种是所有人按房间号码挨次排好队,一路进入大厦,我们称之为“顺 序进入”;另一种是他们无纪律的进入,我们称为“随即进入”。 显而易见, “挨次进入”的效率要大大高于“随即进入”。 这就申明, 一般环境下, 挨次读写的机能要远高于随即读写的机能。还有一个结论也不罕见出,一个宽敞 的大堂更有益于偶尔性较大的“随机进入”,而对“挨次进入”的人群而言,颠末大 堂根基属于华侈时间。存储设备中的“大堂”就是高速缓存。也就是说,大容量高 速缓存能够提高随机读写机能,而对挨次读写的机能改良则不较着。 还记得前面会商的带宽和 I/O 的不同吗?带宽调查的是单元时间进入大厦的 人数,而 I/O 关怀的是单元时间进出大厦的批次。从次可见,若是走廊没有任何 变化, 那么大堂只需不是太小, 就不会影响带宽机能。 相对的, 对 I/O 机能而言, 大堂明显是越大越好。总之,影响带宽的要素次要是前端节制器(大门)和后端 磁盘通道(走廊)的带宽;而影响 I/O 的要素次要是节制器(大门)处置能力和 高速缓存(大堂)容量。 当然,前面的会商都基于一个假设前提:磁盘(房间)脚够多。如若只设置装备摆设 寥寥几个磁盘,它们就会成为整个系统的机能瓶颈。任凭其他设置装备摆设若何奢华,也 于事无补。那么,“脚够多”又是几多呢?对光纤通道存储设备来说,每个光纤通 道上的磁盘数量达到 50~60 个的时候机能达到最佳。所以一般中高端存储设备 都把每通道 50~60 个磁盘设想为扩展极限, 而不是光纤通道手艺的 126 个。 图 1. 磁盘数量影响光纤环机能 如许设想存储产物,能够让系统的机能跟着容量的添加而增加。可是同时, 用户必需大白, 正在容量没有设置装备摆设到最大值的时候,机能就无法达到厂商所的 目标。 一些厂商还声明其产物的机能能够跟着容量的增加而线性增加, 按如许讲, 当你的存储设备只设置装备摆设了最大容量的一半时, 你获得的机能也只要系统最佳机能 的一半。 3、机能曲线 这里所说的“最佳机能”就是厂商所的指数吗?很可惜,谜底是不必然,一 般都不是,并且可能会相差很远!我曾经听到有人正在叫“天啊!那厂商发布的数 字到底有什么意义啊。”别急,看到下面两个图示就清晰了。 图 2. IOPS 机能曲线. 带宽机能示例 这两个图示是典型的存储设备机能实测曲线, 所有曲线来自统一个存储设备 的统一个设置装备摆设。分歧产物正在纵向目标上表示各别,但曲线的外形都大体不异。从 图上能够看出, 用户中存储设备的机能表示严沉依赖数据块的大小。以挨次 读取操做为例,若是使用发生的数据块大小正在 8KB 摆布,那么带宽机能和 I/O 机能最多也只能达到峰值机能的一半摆布。若是但愿获得更好的 I/O 机能,就需 要尽量将数据块调整得更小。但倒霉的是,若是但愿带宽机能更好,就需要想办 法把数据块设置得更大。看来,带宽取 I/O 机能是鱼取熊掌,难以兼得啦。 不外不妨, 如我们前面提到的, 幸亏大大都用户其实只需要此中一种机能。 要么是大文件类型的使用,需要带宽机能;抑或是小文件类型使用,需要 I/O 能 力。 需要带宽的用户相对容易获得满脚。 从图 3 能够看出, 只需数据块大于 128KB, 挨次读的机能就根基能够达到系统饱和值。对挨次写,饱和数据块略大一些,但 256KB 也不算难以达到的尺寸。 获得最佳的 I/O 机能似乎就没那么容易了。从图 2 的曲线来看,I/O 机能并 没有一个饱和形态, 这就要求数据块无限尽的尽量小。然而所有使用都不成能支 持无限小的数据块。 现实上, 大大都的数据库使用发生的数据块都正在 2KB 或 4KB 摆布。正在这个标准上,使用获得的机能距离最高机能还有至多 20~30%的空间 呢。 4、持续和突发 回到我们阿谁关于大厦的例子。若是大厦姑且发生告急环境,好比火警,人 们力争上逛的簇拥正在门口,气象必然是一片紊乱。正在现实使用中,存储系统也可 能雷同的环境,一时间大量数据同时被拜候,形成系统严沉堵塞。这就像存 储系统内的交通高峰,往往需要雷同交通管制的手段才能提高系统效率。一些厂 商会他们的产物正在这种环境下的 “交通管制”能力有多强,致使能够从容应 付大规模的突发拜候。诸如“全互换布局”、“间接矩阵布局”等手艺均属此类。究 其素质,这些“交通管制”都是正在大堂(高速缓存)的设想上做文章,将本来一个 公共大堂的布局变成若干大堂的布局。以此来避免火警发生时,所有人都拥 挤到一个大堂里。 如许设想简直可正在拜候俄然迸发时缓解系统压力,可是需要留意,如许设想 的大厦内部必然布满了各类牌和标,对任何一个进入大厦的人而言,进入 房间的过程都将变得更复杂。其成果就是,非突发形态下,系统的持续读写能力 往往还不如划一计较能力的简单布局存储。 5、其他影响 除了前面所谈到诸多方面外,还有良多要素城市影响到存储设备正在现实运转 中的机能。 例如 RAID 级此外设置、 磁盘类型以至型号批次的婚配、 缓存的镜像、 SCSI 指令队列深度的设置,这些方面都取机能成果间接相关。并且,为了可以或许 获得最好的机能指数, 几乎所有的厂商正在测试本人产物机能的时候城市采用无冗 余的 RAID0、选用 15k rpm 的高速磁盘、将写缓存镜像封闭或者干脆封闭 写缓存、 将指令队列深度设置为最大。如斯设置装备摆设体例相信不是每个用户都能够接 受的。 别的,所有存储设备正在运转快照或近程镜像等附加功能之后,机能城市较着 下降, 有些环境以至会下降 60%之多。 若是用户的使用刚巧需要这些附加功能, 就需要正在选用存储设备之前认实的实地丈量一下实正在机能。 免得满怀但愿的买回 家,利用起来却失望至极。 结论和 想要晓得梨子的味道,最好的法子就是亲身尝一尝。对存储设备,这个事理 特别主要。只要正在用户需要的设置装备摆设体例下,正在现实的使用系统中,实实正在正在的运 行之后, 用户才能实正清晰的存储设备的实正在机能表示。夸夸其谈只怕会使 用户正在各类数据中丢失标的目的,难以做出准确结论。 2、 存储设备的带宽计较 计较公式: ? ? ? Real-world result = nominal * 70% - 我所标称的数据都是*70%以尽可能接近实 际数据,但若是别的供给了由材料获得的更为精确的数据,则以其为准 Bandwidth = frequency * bit-width QPI 带宽:假设 QPI 频次==2.8 Ghz × × × × 2 bits/Hz (double data rate) 20 (QPI link width) (64/80) (data bits/flit bits) 2 (unidirectional send and receive operating simultaneously) ÷ 8 (bits/byte) = 22.4 GB/s 术语: ? ? ? ? ? ? ? ? ? Westmere - Intel CPU 微架构的名称 GB/s - 每秒传输的 byte 数量 Gb/s - 每秒传输的 bit 数量 GHz - 根据具体操做而言,能够是单元时间内运算的次数、单元时间内传输的次数 (也能够是 GT/s) 1byte = 8bits IOH - I/O Hub,处于保守北桥的,是一个桥接芯片。 QPI -QuickPath Interconnect,Intel 前端总线(FSB)的替代者,能够认为是 AMD Hypertransport 的合作敌手 MCH - Memory Controller Hub,内置于 CPU 中的内存节制器,取内存间接通信 PCI Express(Peripheral Component Inteconnect Express, PCIe) - 一种计较机 扩展总线(Expansion bus), 答应外围设备取计较机系统内部硬件 (包罗 CPU 和 RAM) 之间的数据传输。 Overprovisioning - 好比 48*1Gbps access port 互换机, 凡是只要 4*1Gbps uplink, 那么 overprovisioning 比 = 12:1 PCI-E 2.0 每条 lane 的理论带宽是 500MB/s X58 – 相当于保守的北桥,只不外不再带有内存节制器,Code name = Tylersburg Ultrapoint - VNX/CLARiiON 后端 LCC(link control card)的互换拓扑,实现正在 一个 DAE 内点到点的链接,而非 FCAL 总线布局 Ultraflex - EMC I/O 模块(SLIC)的 Interconnect - PCIe 设备通过一条逻辑毗连(interconnect)进行通信,该毗连也 称为 Link。两个 PCIe 设备之间的 link 是一条点到点的通道,用于收发 PCI 请求。 从物理层面看, 一个 link 由一条或多条 Lane 构成。 低速设备利用 single-lane link, 高速设备利用更宽的 16-lane link。 Lane - 一条 lane 由一对发送/领受差分线(differential line)构成,共 4 根线, 全双工双向字节传输。一个 PCIe slot 能够有 1-32 条 lane,以 x 前缀标识,凡是 最大是 x16。 ? ? ? ? ? ? ? 相关术语: ? ? ? ? address/data/control line 资本共享 -资本仲裁 时钟方案(Clock Scheme) Serial Bus PCI-E Capacity: Per lane (each direction): ? ? ? ? v1.x: 250 MB/s (2.5 GT/s) v2.x: 500 MB/s (5 GT/s) v3.0: 1 GB/s (8 GT/s) v4.0: 2 GB/s (16 GT/s) 16 lane slot (each direction): ? ? ? v1.x: 4 GB/s (40 GT/s) v2.x: 8 GB/s (80 GT/s) v3.0: 16 GB/s (128 GT/s) 机能是【端到端】的,两头任何一个环节都有本人的机能极限,它并不像一根平均水 管,端到端机能分歧。存储系统明显是不服衡的 -overprovisioning。我将以中端存储系 统为例,高端存储过于复杂,硬件布局可能都是私有的。中端系统相对简单,就以一种双控 制器、SAS 后端、x86 架构的存储系统为例,为了便利名称援用,我们就成他为 TEST 吧。 节制器上看得见摸得着,又能够让我们算一算的工具也就是 CPU、内存、I/O 模块,不 过我今天会带上一些极为主要但却会忽略的组件。先上一张简图(字难看了点,见谅),这 是极为简化的计较机系统形成,很多中端存储节制器就是如斯。 CPU - 假设节制器采用 Intel Xeon-5600 系列处置器 (WestmereMicroarchiecture ) , 例如 Xeon 5660,支撑 DDR3-1333。CPU Bandwidth = 2.8GHz * 64bits / 8 =22.4 GB/s。 内存 – TEST 系统通过 DMA (Direct Memory Access) 间接正在 Front End,内存以 及 Back end 之间传输数据。因而需要晓得内存能否供给了脚够的带宽。3* DDR3,1333MHz 带宽==29GB/s(凡是内存带宽都是脚够的),那么 bit width 该当是 64bits。Westmere 集 成了内存节制器,因而极大的降低了 CPU 取内存通信的延迟。TEST 采用【X58 IOH】替代原 始的北桥芯片,X58 chipset 供给 36 lane PCIe2.0 = 17.578GB/s bandwidth(后面会有 更多注释)。 I/O 模块 (SLIC)- SLIC 是良多人关怀的,由于它间接领受/发送 I/O。需要注 意的是一个 SLIC 所能供给的带宽并不等于其所有端口带宽之和,还要看节制芯片和总线带 宽。 以 SAS SLIC 为例, 一个 SAS SLIC 可能由两个 SAS Controller 构成, 每个 SAS Controller 带广大约 2200MB/s realworld,一个 SAS port = 4 * 6Gbps /8 * 70% =2100MB/s;一个 SAS Controller 节制 2*SAS port,可见单个 SAS Controller 无法处置两个同时满负荷运转 的 SAS port (2200MB/s 4200MB/s) , 这里 SAS Controller 是个瓶颈 - Overprovisioning! 整个 SAS SLIC 又是通过【x8 PCI-E 2.0】 外围总线 PCIe bandwidth = 8 * 500MB/s * 70% = 2800MB/s。若是两个 SAS Controller 满负荷运做的线 PCIe 总线是个瓶颈 - Overprovisioning! 其实还能够计较后端磁盘的带宽和, 假设一个 Bus 最多能连 250 块盘, 若是 SAS 15K RPM 供给大约 12MB/s 的带宽(非挨次随机 64KB,读写未知),12 * 250 = 3000MB/s 2100MB/s - Overprovisioning! Tip :一个 SAS Controller 节制两个 SAS Port,所以若是只需要用到两根 bus,可 以错开毗连端口,从而使的得两个 SAS Controller 都能获得操纵。 同理,对任何类型的 SLIC,只需可以或许获得其端口速度、节制器带宽、PCIe 带宽,即可 晓得瓶颈的。我选择算后端带宽的缘由正在于,前端你能够把容量设想的很大,但问题是 流量过来【后端】可否吃下来?Cache Full 导致的 Flush 后端可否盖住?对后端带宽是个 ,所以以 SAS 为例大概能够让读者联想到更多。 PCI-Express – PCIe 是出名的外围设备总线, 用于毗连高带宽设备取 CPU 通信, 好比存储系统的 I/O 模块。X58 供给了 36 lane PCIe 2.0,因而 36*500/1024 = 17.578125GB/s 带宽。 QPI & IOH – QPI 通道带宽能够通过计较公式获得,我从手中材料间接获得的结 果是 19-24GB/s (运转正在分歧频次下的值) 。 IOH 芯片总线GB/s (List of Intel chipsets 这里获得,但不确定总线频次能否就是指 IOH 本身的运转频次) 17.578GB/s(36 Lane) - Overprovisioning! OK,算完了。能回覆 TEST 最大能供给几多带宽了吗?看下来 CPU、RAM、QPI 的带宽都 上 20GB/s,留给前后端的 PCIe 总线GB/s 不到,即便如许也曾经 overload 了 IOH(12GB/s)。所以看来整个系统的瓶颈正在 IOH,只要 12GB/s,不外我本人并不确定这一 点,仍是留个有乐趣的读者本人去判断吧,然后趁便回来教育我下。留意,下图有点旧了, 我把 PCIe 36 Lane 框成了 MAX Bandwidth,由于阿谁时候认为 IOH 该当有脚够的带宽,但 后来发觉可能不是如许,但图曾经被我擦了,所以就不改了 。 怎样算带宽并不是沉点(我本人都是摸瞎),更主要的正在于,让你看到了一些日常平凡被 忽略的组件,我们凡是只会从存储的 CPU、I/O 模块、磁盘来算机能极限。但却忽略了整个 系统中的其它部门,例如 IOH、QPI、MCH、PCI-E,必必要从整个硬件系统的角度对 I/O path 进行阐发。最初,欢送弥补和改正!