iops计算的疑问

看到了一篇文章讲的的iops的计算,原作者已经不详了,阅读以后对其中的IOPS计算尚有点疑问,请教大家一下。原文如下:那我们假定一个case,业务的iops是10000,读cache命中率是30%,读iops为60%,写iops为40%,磁盘个数为120,那么分别计算在raid5与raid10的情况下,每个磁盘的iops为多少。 ra...显示全部
看到了一篇文章讲的的iops的计算,原作者已经不详了,阅读以后对其中的IOPS计算尚有点疑问,请教大家一下。原文如下:
那我们假定一个case,业务的iops是10000,读cache命中率是30%,读iops为60%,写iops为40%,磁盘个数为120,那么分别计算在raid5与raid10的情况下,每个磁盘的iops为多少。 raid5: 单块盘的iops = (10000*(1-0.3)*0.6 + 4 * (10000*0.4))/120 = (4200 + 16000)/120 = 168 这里的10000*(1-0.3)*0.6表示是读的iops,比例是0.6,除掉cache命中,实际只有4200个iops 而4 * (10000*0.4) 表示写的iops,因为每一个写,在raid5中,实际发生了4个io,所以写的iops为16000个 为了考虑raid5在写操作的时候,那2个读操作也可能发生命中,所以更精确的计算为: 单块盘的iops = (10000*(1-0.3)*0.6 + 2 * (10000*0.4)*(1-0.3) + 2 * (10000*0.4))/120 = (4200 + 5600 + 8000)/120 = 148 计算出来单个盘的iops为148个,基本达到磁盘极限 raid10 单块盘的iops = (10000*(1-0.3)*0.6 + 2 * (10000*0.4))/120 = (4200 + 8000)/120 = 102 可以看到,因为raid10对于一个写操作,只发生2次io,所以,同样的压力,同样的磁盘,每个盘的iops只有102个,还远远低于磁盘的极限iops。
我对里面不太明白的是,1.为什么每一个写,在raid5中,实际发生了4个io,而读的时候不是呢?读的时候不是从3个有效+1个校验出来的?我理解的是一个写需要写3个有效地数据加1个校验,读的时候难道有所不同?
2.为了考虑raid5在写操作的时候,那2个读操作也可能发生命中,对于这句不太明白,写的时候为什么会有读操作也可能发生命中,而且为啥是2个,这个是个经验的问题,还是?
初学,有很多的疑问,希望能得到各位的耐心解答,谢谢!

[ 本帖最后由 kkylee 于 2009-4-20 18:28 编辑 ]收起
参与8

查看其它 7 个回答kkylee的回答

kkyleekkylee学生电子科大
等待达人出来帮忙解答:
2009-04-21
浏览1524

回答者

kkylee
学生电子科大
擅长领域: AIX服务器Unix

kkylee 最近回答过的问题

回答状态

  • 发布时间:2009-04-21
  • 关注会员:0 人
  • 回答浏览:1524
  • X社区推广