Hard-Drive
測量磁碟使用情況
確定磁碟使用量的最公平單位是什麼(總儲存使用量除外,例如以 GB 為單位)?
- IOPS?
- 字節讀/寫?
- 通過網路傳輸的字節數(將等於 Bytes r/w)?
- 其他?
而在Linux下他們又是如何確定的呢?
這是關於虛擬儲存實例的計費,由虛擬伺服器通過網路訪問。
您可以使用以下命令進行磁碟監控:
# sar -p -d 1 1
(如果您的系統上安裝了 sar 軟體包),您還可以使用 sar 從 /var/log/sa/sar-01 文件的歷史記錄中檢查您的磁碟讀/寫。
和
# iostat -d -x 3 3
其中最後兩個數字是以秒為單位的間隔和重複次數,
-d : Display the device utilization report (d == disk) -x : Display extended statistics including disk utilization
答案更複雜,因為這是一個微妙的問題。並非所有儲存都是平等的,不同類型的工作需要不同類型的儲存。
最常見的儲存類型及其測量特性是:
- 小塊密集型隨機 IO:通常是數據庫,有時是辦公室文件共享,許多執行此類工作的工作負載的瓶頸是 IO/s,假設主要是讀取,主要是隨機(不可預測),主要是小塊 IO。這種類型的工作通常在小型數據集上完成,因此 SSD 是最佳選擇。SSD 沒有移動元件,每個通常可以提供數千個 IO/s。記憶體在這裡非常有效,因為寫入通常比讀取少得多,並且所有寫入都會被記憶體,從而導致非常低的延遲。此儲存的度量是延遲和最大 IO/s(以及當 IO/s 成為瓶頸時延遲有多高)。
- 流式 IO:通常是備份,有時是媒體源的文件共享,瓶頸更可能是每秒的字節數你可以流式傳輸。此處的寫入也受益於記憶體,但如果它真正流式傳輸的時間超過活動的短暫峰值,記憶體就會飽和,您觀察到的速度本質上就是記憶體可以將寫入轉移到磁碟的速度。在這個類別中,儲存的大小更可能是大的,因為 SSD 雖然仍然是最快的,但對於流式 IO 的速度並不比磁碟快一個數量級(就像它們對於小型隨機 IO 一樣),你會看到這個的正常驅動器。15k RPM、10k RPM、7.2k RPM。很多時候,如果大小比速度更重要,您會看到容量為 1TB-6TB 和 7.2k RPM 主軸速度的大型慢速驅動器(近線 SAS 或 SATA)。
- 混合工作負載:通常是管理程序。他們需要一堆流式 IO 虛擬機、一堆小塊隨機 IO 虛擬機和一堆系統任務,這些任務允許管理程序功能(如快照和在儲存池之間移動機器)並將它們放入同一個 IO 隊列中。您將很難使用單層磁碟為此類 IO 提供服務,因此共享儲存(如 SAN 或 NAS)的最佳實踐是使用多種類型的磁碟和儲存層智能來嘗試服務隨機帶有 SSD 的 IO 熱點和帶有主軸驅動器的流式 IO。衡量這種類型的儲存是延遲和峰值 IOPS,以及字節/秒吞吐量。