實踐概述
天翼云新一代XSSD云硬盤最大IOPS可達100萬,本文介紹使用FIO工具壓測XSSD云硬盤100萬IOPS性能的方法。云硬盤的配置和壓測條件都會對云硬盤的性能產生重要影響。您可以按照本文的示例配置XSSD云硬盤和測試參數,充分發揮出系統對不同類型IO模型的處理能力,壓測出100萬IOPS和200 us時延的性能指標。
XSSD云硬盤規格請參見X系列云硬盤。
操作前準備
開始測試前,請登錄云主機依次執行以下命令,安裝libaio和測試工具FIO。FIO工具的參數說明請參考如何測試云硬盤的性能。
sudo yum install libaio -y
sudo yum install libaio-devel -y
sudo yum install fio –y操作步驟
本文分為三個步驟:創建并配置XSSD-2云硬盤、掛載和初始化云硬盤、壓測云硬盤。
步驟一:創建并配置XSSD-2云硬盤
登錄控制中心,單擊“存儲>云硬盤”,進入云硬盤主頁面。
單擊“創建云硬盤”,進入云硬盤創建頁面。
在云硬盤創建頁面,選擇磁盤類型為XSSD-2,容量選擇2000GB及以上。
勾選“啟用IOPS”,并按提示將預配置IOPS配到最大值。配置完成之后,如下圖箭頭處提示云硬盤最大的IOPS為1000000,表示配置正確。
點擊下一步,并完成云硬盤的創建。
步驟二:掛載和初始化云硬盤
進行測試前,請首先完成云硬盤的掛載和初始化,操作請參考掛載云硬盤和初始化云硬盤。
注意
掛載云主機請選擇vCPU數量至少為96的c8或m8云主機實例,否則會由于云主機能力的限制,而無法壓測出100萬IOPS的磁盤性能。
測試磁盤性能時,建議直接測試裸數據盤(如 /dev/nvme0n1),但有可能會破壞磁盤上的文件系統結構,請在測試前提前做好數據備份。
強烈建議您不要將系統盤或者含有重要數據的數據盤作為測試對象。建議您在空白的數據盤上測試性能,避免造成數據丟失。
如測試的是磁盤分區,則登錄到測試云主機,執行以下命令,查詢待測試的磁盤分區是否已經4KiB對齊。
sudo fdisk -lu若返回結果中待測試磁盤的Start值能被8整除即是4KiB對齊。下圖中的回顯表示該磁盤分區已4KiB對齊。
如Start值不能被8整除,則表示未4KiB對齊,那么請刪除原有分區后再繼續測試,重新按照4KiB對齊選擇初始磁柱編號。
步驟三:壓測云硬盤
以下為壓測XSSD云硬盤性能的測試命令。
注意
以下命令中,filename參數指定的設備名為/dev/test_device,請您根據實際情況替換為磁盤設備名稱(如/dev/nvme0n1),或文件地址(如/opt/fiotest/fiotest.txt)。
測試云硬盤的隨機寫IOPS
fio -direct=1 -numjobs=32 -iodepth=32 -rw=randwrite -ioengine=libaio -bs=4k -size=100% -runtime=600 -time_based -group_reporting -filename=/dev/test_device -name=RandWrite_Testing測試結果如圖所示:
測試云硬盤的隨機讀IOPS
fio -direct=1 -iodepth=32 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=4 -runtime=1000 -group_reporting -filename=/dev/test_device -name=RandRead_Testing測試結果如圖所示:
測試云硬盤的隨機寫時延
fio -direct=1 -numjobs=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=100% -runtime=600 -time_based -group_reporting -filename=/dev/test_device -name=RandWrite_Latency_Testing測試結果如圖所示:
測試云硬盤的隨機讀時延
fio -direct=1 -numjobs=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=100% -runtime=600 -time_based -group_reporting -filename=/dev/test_device -name=RandRead_Latency_Testing測試結果如圖所示: