IOPS
IOPS(Input/Output Operations Per Second)是一個用於電腦儲存裝置(如硬碟(HDD)、固態硬碟(SSD)或存储区域网络(SAN))效能測試的量測方式,可以視為是每秒的讀寫次數。和其他效能測試一様,儲存裝置製造商提出的IOPS不保證就是實際應用下的性能[1][2]。
IOPS可以用應用程式來量測,例如一開始由微軟開發的Iometer,像IOzone及FIO也有類似功能[3],IOPS主要會用在伺服器,以找到最佳的儲存組態。
IOPS的數值會隨系統組態而有很大的不同,依測試者在測試時的控制變因而異,控制變因包括讀取及寫入的比例、其中循序存取及隨機存取的比例及配置方式、线程數量及存取佇列深度,以及資料區塊的大小[1]。其他因素也會影響IOPS的結果,例如系統設定、儲存設備的驅動程式、作業系統背景執行的作業等。若在測試固態硬碟時,是否先進行預調(preconditioning)機制也會影響IOPS的結果[4]。
性能特性
最常量測的性能特性是隨機存取及循序存取時的IOPS。循序存取是存取儲存裝置中相鄰位置的資料,一般和較大的資料區塊存取有關,例如128 KB,隨機存取是存取儲存裝置中非相鄰位置的資料.一般存取的資料區塊比較少,例如4 KB。
最常見的性能特性如下:
量測 | 說明 |
---|---|
總IOPS | 每秒讀寫次數的總和(混合讀取及寫入測試) |
隨機讀取IOPS | 每秒平均的隨機讀取次數 |
隨機寫入IOPS | 每秒平均的隨機寫入次數 |
循序讀取IOPS | 每秒平均的循序讀取次數 |
循序寫入IOPS | 每秒平均的循序寫入次數 |
對於硬碟或是其他類似的機電儲存裝置,其隨機存取IOPS主要和儲存裝置的尋址時間有關,若是固態硬碟及其他固態電子裝置,其隨機存取IOPS主要和儲存裝置的內部控制器及記億體介面速度有關。這兩種設備的循序存取IOPS(尤其是存取大資料區塊)一般會包括儲存設備可以持續的最大頻寬[1]。一般循序存取的IOPS會用MB/s表示,其公式如下:
(結果一般會轉換為MB/s)
有些硬體會因為其佇列深度增加而提昇其性能,這多半是因為硬碟處理佇列及重新排序(reordering)的先進控制器邏輯的結果,此邏輯一般稱為标记命令队列(TCQ)或原生指令排序(NCQ)。企業等級的SATA硬碟,例如Western Digital Raptor及希捷的Barracuda NL配合深佇列可以提昇效能到100%[5]。較常用在伺服器的高端SCSI硬碟,一般性能有更大的提昇。
傳統的硬碟讀取和寫入的IOPS大約相同,而大部份闪存SSD的寫入速度明顯比讀取慢很多,原因是無法寫入一個之前寫過的區域,會強制啟動垃圾資料回收功能[6][7][8]。因此硬體測試開始在測試IOPS性能時,分開測試寫入和讀取。
像Intel X25-E等較新的闪存SSD固態硬碟其IOPS會比傳統的硬碟要高,在Xssist進行的一個測試中,用IOmeter軟體,4 KB隨機存取,讀取/寫入比例為70/30,佇列深度4,Intel X25-E 64 GB G1的IOPS一開始有 10000 IOPs,在八分鐘後快速掉到4000 IOPS,之後的42分鐘持續的下降,自第50分鐘起到第八小時之間,IOPS在3000至4000之間變化[9]。即使第50分鐘IOPS快速下降,X25-E的IOPS仍較傳統硬碟要高。像OCZRevoDrive 3 x2 PCIe用SandForce控制器,其持續寫入性能和讀取速度大致相近[10]。
一些IOPS的範例
硬碟機
隨機存取處理下,一些常見的IOPS平均值,計算方式是1/(寻址時間 + 回應時間) = IOPS:
設備 | 形式 | IOPS | 介面 | 註解 |
---|---|---|---|---|
7,200 RPM SATA硬碟機 | 硬碟機 | ~75-100 IOPS[2] | SATA 3 Gbit/s | |
10,000 RPM SATA硬碟機 | 硬碟機 | ~125-150 IOPS[2] | SATA 3 Gbit/s | |
10,000 rpm SAS硬碟機 | 硬碟機 | ~140 IOPS[2] | SAS(串列SCSI) | |
15,000 rpm SAS硬碟機 | 硬碟機 | ~175-210 IOPS[2] | SAS(串列SCSI) | |
固態設備
設備 | 形式 | IOPS | 介面 | 註解 |
---|---|---|---|---|
英特尔Intel X25-M G2(MLC) | SSD | ~8,600 IOPS[11] | SATA 3 Gbit/s | 英特尔的資料表[12]聲稱在4 KB資料的寫入及讀取時,分別有有6,600/8,600 IOPS (80 GB/160 GB版本)及35,000 IOPS的速度。 |
英特尔 Intel X25-E (SLC) | SSD | ~5,000 IOPS[13] | SATA 3 Gbit/s | 英特尔數據表[14]聲稱在寫入和讀取的速度為3,300 IOPS及35,000 IOPS。寫入和讀取混和時為5,000 IOPS。英特尔的X25-E G1比X25-M G2快了約三倍[15] |
G.Skill Phoenix Pro | SSD | ~20,000 IOPS[16]。 | SATA 3 Gbit/s | SandForce-1200為基礎的固態硬體,配合加強版的韌體,最快可到50,000 IOPS,性能测试的結果是隨機讀取可到~25,000 IOPS,隨機寫入可到~15,000 IOPS[16]。 |
OCZ Vertex 3 | SSD | 最高可到60,000 IOPS[17] | SATA 6 Gbit/s | 隨機寫入4 KB (Aligned) |
Corsair Force Series GT | SSD | 最高可到85,000 IOPS[18] | SATA 6 Gbit/s | 240 GB Drive,循序讀取為555 MB/s,循序寫入為525 MB/s。隨機寫入4 KB (Aligned) |
參考資料
- Lowe, Scott. . techrepublic.com. 2010-02-12 [2011-07-03]. (原始内容存档于2011-06-29).
- . 2012-08-03 [2013-08-15]. (原始内容存档于2013-08-09).
- Axboe, Jens. . [2010-06-04]. (原始内容存档于2010-05-12).(source available at http://git.kernel.dk/ 页面存档备份,存于)
- Smith, Kent. (PDF). SandForce.com. 2009-08-11 [2015-05-05]. (原始内容存档 (PDF)于2015-06-29).
- . StorageReview.com. 2006-07-13 [2013-05-13]. (原始内容存档于2013-05-05).
- Hu, X.-Y. and E. Eleftheriou, R. Haas, I. Iliadis, R. Pletka. . IBM. 2009. CiteSeerX: 10.1.1.154.8668.
- (PDF). OCZ Technology. [2010-05-31]. (原始内容 (PDF)存档于2012-05-26).
- . Intel. [2010-05-31]. (原始内容存档于2010-05-26).
- . 2010-03-27 [2010-04-01]. (原始内容存档于2010-05-03).
- . 2011-06-28 [2011-06-30]. (原始内容存档于2011-07-01).
- Schmid, Patrick; Roos, Achim. . 2008-09-08 [2011-08-02].
- (PDF). [2010-07-20]. (原始内容 (PDF)存档于2010-08-12).
- 1. . Tomshardware.com. [2013-05-13].
- (PDF). [2009-03-18]. (原始内容 (PDF)存档于2009-02-06).
- . May 2010 [2010-05-19]. (原始内容存档于2010-05-16).
- . Tweakpc.de. [2013-05-13]. (原始内容存档于2013-02-12).
- (PDF). [2015-06-30]. (原始内容 (PDF)存档于2011-06-26).
- Force Series™ GT 240GB SATA 3 6Gb/s Solid-State Hard Drive. . Corsair.com. [2013-05-13]. (原始内容存档于2013-01-19).