缓存和RAID如何提高IO
组成阵列的单个磁盘的随机读写的IOPS为140,读写缓存命中率都为10%,组成阵列的磁盘个数为4。
因为不管是那种阵列,磁盘的读取性能都是所有磁盘之和,所以可以得出下面的读取IOPS:
read IOPS = disk_IOPS/(1-read_cache_hit_ratio)*disk_num = 140/(1-10%)*4 = 622
而写入性能就完全不一样了,根据上面的讨论我们可以得出下面结论:
RAID0: 1 IO request => need 1 actual IO on disk
RAID1: 1 IO request => need 2 actual IO on disk
RAID5: 1 IO request => need 4 actual IO on disk
RAID6: 1 IO request => need 6 actual IO on disk
由此我们也可以计算出写入IOPS估算公式:
RAID0 write IOPS = disk_IOPS/(1-write_cache_hit_ratio)*disk_num/acture_IO_num = 140/(1-10%)*4/1 = 622
RAID1 write IOPS = disk_IOPS/(1-write_cache_hit_ratio)*disk_num/acture_IO_num = 140/(1-10%)*4/2 = 311
RAID5 write IOPS = disk_IOPS/(1-write_cache_hit_ratio)*disk_num/acture_IO_num = 140/(1-10%)*4/4 = 155
RAID6 write IOPS = disk_IOPS/(1-write_cache_hit_ratio)*disk_num/acture_IO_num = 140/(1-10%)*4/6 = 103
实际上从通过上面的计算方法我们还可以估算当给定一个要求的IOPS的情况下,估计下使用各个阵列级别所需要的磁盘的数量。当然我们上面的计算方法只是一个估算,我们忽略很多其他的因素,得出的只是一个大概的数值,不过在实际的应用还是有一定的参考作用的。
本篇最后附送一个计算磁盘系统IOPS的网站――wmarow"s disk & disk array calculator,这个网站提供的计算公式还考虑了诸如阵列条带大小以及主机方面的因素,很有参考价值,至于怎么选择合适的条带大小,以后还会撰文解释。
传输速度(Transfer Rate)/吞吐率(Throughput)
实际上估算除了随机读写的IOPS也就知道了随机读写的吞吐率。对于顺序读写的呢,还是跟前一篇所讲的一样,主要受限于磁盘的限制,不能再拿IOPS来衡量了。
random_throughtput = random_IOPS * IO_chunk_size
- 基于SDRAM文件结构存储方式的数据缓存系统(09-08)
- 基于SDRAM文件结构存储的数据缓存系统FPGA实现(10-25)
- 解析:SSD使用六“大忌”(05-26)
- 电脑组建RAID 0的要诀(03-01)
- 四大RAID存储详解(03-02)
- RAID内存:回写技术和热插拔容量技术(05-12)