我們都知道硬盤順序讀寫很快,像HDD硬盤都能達到20萬每秒的iops,而隨機讀寫按照7200轉的HDD的iops在100左右,為什么那?
要搞清楚這個問題需要我們先來對磁盤有一個基本的認識;
一、磁盤的基本了解
基本的基本組成部分,磁盤主要有盤面、磁頭、懸臂組成如下圖
磁道:盤面上一個個的同心圓就是磁道,盤面是有多個磁道組成;扇面:是由懸臂和盤面所形成的扇形,扇面又組成了磁道;
柱面:有上下大小相等的盤面的扇面組成;
二、磁盤的平均延遲時間、平均尋道時間;
iops = 磁盤平均延遲時間+平均尋道時間;
平均延遲時間:
盤面旋轉,對准懸臂的時間;這個時間等於,1秒內半盤面訪問的時間,如7200轉的HDD,一秒能轉240 = 7200/60 * 2(平均只需要轉半盤面);
1S/240 = 4.17ms;
平均尋道時間:
是指懸臂找到對應的磁道,再找到扇面所花費的時間,一般在4-10ms;
所以 IOPS = 1S/8ms = 125 iops 或者 IOPS = 1S/14ms = 71 iops
所以我們一般都說HDD隨機讀iops在一百左右;
三、怎么提高隨機讀的iops
縮短尋道的時間,只用磁盤的1/4,或者1/2,由於大量的減少了尋道路徑,所以尋道的時間降低,從而降低了iops,在2010前期很多互聯網公司都是采用這種方式來提高iops,也能節約成本,因為磁盤的1/4的存儲也比提高磁盤的轉速便宜得多;