磁盘阵列的性能

磁盘阵列的性能

购买存储时需要的考虑性能如下: 1. 磁盘空间, 2. 磁盘组性能。磁盘空间主要取决于磁盘阵列类型及磁盘个数。而磁盘性能包括吞吐量(传输带宽)和磁盘 IOPS 。下面我们将一起来探讨磁盘性能的两个方面。
 
1磁盘阵列的吞吐量 (传输带宽)
传输带宽指的是硬盘或设备在传输数据的时候数据流的速度。他主要取决于磁盘阵列的构架,通道的大小以及磁盘的个数。不同的磁盘阵列存在不同的构架,但他们都有自己的内部带宽(如主线型或星型),不过一般情况下,内部带宽都设计足够充足,不会存在瓶颈。磁盘阵列与服务器之间的数据通道便对吞吐量的影响很大。下面是常用通道的带宽:
2Gbps 光纤通道 , 250MB/s , 4Gbps 光纤通道( 500MB/S ), SCSI 最高速度是 320MB/s SATA 150MB/s IED 133MB/s 。最后说一下是硬盘的限制,目前 SCSI 硬盘数据传输率最高在 80MB/s SAS 硬盘数据为传输率最高在 80-100MB/S 。对于数据库小数据的离散写入,其传输率快快达不到这个值。
下面举例来说明。   如果写一个 10M 的文件需要 0.1S ,则磁盘计算出磁盘带宽为 100M /s, 如果写 10000 个大小 1KB 的文件需要 10S ,则磁盘带宽只有 1M /s.
如果存储内部结构是总线型的,不建议使用超过 6 个块硬盘。超过 6 块磁盘后,存储在寻址过程中容易出现丢失的情况,同时 6 个块磁盘的传输速率大于磁盘阵列接口的传输速度,从而使用存储接口速度成了整个存储传输性能的瓶颈。而光纤存储和光纤硬盘就没有这个问题( DELL MD3000 就是主线型的存储)。
 

2 磁盘阵列的IOPS

决定 IOPS 的主要取决于磁盘阵列 RAID 类型, CACHE 命中率以及磁盘个数。 CACHE 的命中率取决于数据的分布, CACHE size 的大小,数据访问的规划,以及 CACHE 的算法。如果要详细讨论才复杂了,这里不做详细说明。但磁盘阵列读 Cache 的命中率越高,这样可以减少去读取存放在磁盘上的数据,而直接从 Cache 中直接将数据传送给客户端,从而提高磁盘的 IOPS 值。
根据厂商网站上给出的规范,数据库服务器的物理驱动器的吞吐能力的理论值为 300IOPS ,因为吞吐率一旦超过 85 %,一会出现 I/O 瓶颈,所以要确定生产环境中每个物理存储器的最大可接受吞吐量是 255IOPS 300 × 85 %= 255 )。但实际情况很难达到这个值。建议硬盘吞吐量按 200iops 比较好。
同样用上面的例子来说明磁盘 IOPS 对磁盘性能的影响。写入 10000 个文件时,根据文件分布情况和大小情况,可能需要做几万甚至,甚至十几万 IO 才能完成。而一个 10MB 的大文件,如果这个文件在磁盘上连续存放的话,只需要几十个 IO 就可以完成了。
 
综合影响磁盘的两个方面得出:具有高带宽的硬盘在传输大块连续数据时具有优势,而具有高 IOPS 的硬盘在传输小块不连续的数据时具体优势。而数据库中数据的写入多为不连续小数据,因此建议高 IOPS 磁盘及 RAID 类型。下面我们将一起来探讨磁盘 RAID 类型及特征。
 
对磁盘空间和 IOPS 都有很大影响的是磁盘阵列的组建类型(即 RAID 类型),具体请看我写的《 RAID 类型比较完整版》

你可能感兴趣的:(性能,职场,存储,休闲,磁盘阵列)