最近冬瓜哥比较忙,加上休假,没有写什么文章。上周看到某群里讨论stripe size,于是乎冬瓜哥就想写个文章论述一下这个话题。
PMC 的Adaptec Raid卡的Stripe Size指的是一个条带在每块硬盘上占据的那一小块的容量(也就是条带深度,所以说成是blocksize或者segment size更为合适),而LSI的Raid卡的Stripe Size指的是整个条带的容量。这个非常重要的背景知识恐怕很少有人知道。本文中的“stripe size”指的是“整个条带的容量”,而不是一个条带跨在每个盘上的容量。
如何调节Stripe Size来使系统性能最大化?这个问题,首先得看你的应用场景到底是什么样的,主要有以下几个维度来决定这个问题的答案:
-
你的业务属于OLTP型还是OLAP型
-
追求的是MB/s吞吐量还是IOPS吞吐量
-
IO Size
-
追求的是吞吐量还是时延
-
上层IO的调用方式:同步异步,dio/buffer-io,write back/write through
-
IO 控制器与硬盘之间有没有经过SASExpander,如果有,PHY宽度是多少
下面冬瓜哥就来分析一下这几个因素自己搅和在一起,以及与Stripe Size搅和在一起会是个什么场景。
1.