關於EBS磁盤的IOPS,以及IOPS是如何測量的

在給定磁盤卷其他設置參數的情況下,I/O特性決定着整塊磁盤的性能。預分配IOPS的EBS卷提供連續性的性能表現,無論I/O操作是隨機的還是順序的,也無論I/O操作是讀還是寫。由於測量方法的不同,讀寫操作的塊大小也對IOPS表現數值造成影響。爲了徹底瞭解預分配IOPS的EBS和它如何影響你的業務,我們需要知道什麼是IOPS以及它是如何測量的。

什麼是IOPS以及如何測量它?

IOPS就是每秒的讀寫操作。
亞馬遜EBS使用16KB的快大小來衡量EBS的IO表現。
當你創建一塊預設IOPS爲4000的EBS磁盤,並把他掛載到優化EBS的實例上(EBS-optimized instance,優化EBS的EC2實例鏈接EBS的IO通道是是專用的,可以保證足夠的IO帶寬),你可以每秒傳輸4000個16KB大小的塊。(這樣大概IO帶寬就是62.5MBps,或者500Mbps)(這個IOPS 4000就是這個衡量出來的)。
這樣的性能配置能夠每秒傳輸2000個32KB的塊,或者每秒1000個64KB的塊,上限應該約等於每秒傳輸4000個16KB大小的塊。(那傳輸4KB大小的塊,是不是就能每秒傳輸16000個呢?)
當塊大小大於16KB是,你的IOPS數值就變小,但是此時實例到EBS的IO帶寬還是等於你傳輸16KB塊對應IOPS數值時候的表現。當操作的塊大小爲16KB或者更小時,你能得到你預設的IOPS數值的表現。對於更小的塊操作,你可能會看到超過你預設的IOPS數值的表現(在客戶端測量時),這是因爲有的客戶端會將小的快合併成一個16KB大小的塊來傳輸。
如果你得到的IOPS數值小於你預設的IOPS,這可能是因爲你的EC2實例帶寬是IO性能的瓶頸:你的實例得是EBS優化型實例,或者是擁有明確標註爲10Gbps的網卡的類型的實例,而且你的EBS磁盤的IO帶寬至少得超過你預設的IOPS。另一個你沒有得到你預設的IOPS數值的原因很可能是因爲你讀寫操作次數根本就沒達到磁盤的上限,這樣也就沒法測量出EBS卷的真實IOPS表現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章