體驗阿里雲SSD雲盤+ECS(I/O優化)的性能

阿里雲推出SSD雲盤+I/O優化的ECS已有一段時間,這個功能優化能夠爲ECS服務器與SSD雲盤提供更好的網絡能力。據阿里雲官網介紹,SSD雲盤最高提供20000次隨機讀寫IOPS、256MB/S吞吐量的存儲性能。這裏須要解釋一下若是想要達到20000次IOPS,須要SSD雲盤容量達到667GB以上。下面的文章中會對這個作進一步解釋。近期拿到了這款產品的公測機會,下面就讓咱們一塊兒開啓一段體驗之旅吧。html

首先在訂購頁面中選擇本身所需的配置,因爲我是測試體驗就先按照最低配置來進行購買(CPU:2核,內存:4GB,SSD雲盤:20GB),以下圖。服務器

aliyunorder

建立成功以後就可使用ECS了,經過Google瞭解到AnvilPro是用來測試SSD硬盤經常使用的軟件,那我就用這款工具來對阿里雲的SSD雲盤進行測試。目前對於SSD硬盤測試最主要的測試指標就是——IOPS,這個有表明什麼意思呢? IOPS的全稱是Input/Output Per Second,即每秒的輸入輸出量(或讀寫次數),指單位時間內系統能處理的I/O請求數量,通常以每秒處理的I/O請求數量爲單位,I/O請求一般爲讀或寫數據操做請求。網絡

wmarow-iops-calc

既然有了測試依據,那麼我就在服務器上打開AnvilPro軟件,分別以C盤1G、E盤4G、E盤16G爲測試,獲得以下圖的測試數據。併發

301345321181322

301345095099994

301345206815815

這款軟件讀取部分以Seq 4MB(連續讀取)、4K(隨意讀取,併發1個隊列)、4K QD4(隨意讀取,併發4個隊列)、4K QD16(隨意讀取,併發16個隊列)、32K、128K劃分;寫入部分爲Seq 4MB、4K、4K QD4(隨意讀取,併發4個隊列)、4K QD16(隨意讀取,併發16個隊列)。從圖中能夠看出IOPS與MB/S能夠直接進行換算,好比以C盤1G的測試標本,4K讀取是1201.75,即每秒能夠讀取1201個4K文件,即1201*4K/1024 = 4.69MB/S。dom

經過這幾天的學習以及阿里雲童鞋的指導,得知目前SSD雲盤的性能是跟存儲容量有關係,按照官方介紹的計算標準,SSD雲盤每1GB空間提供30個IOPS,30GB空間提供900個IOPS,以此類推100GB空間提供3000個IOPS,若是想要達到20000個IOPS,須要667GB。那麼根據這個計算標準,我以前購買的配置是按照SSD雲盤最小標準——20GB,根據上圖所測試出來的IOPS,阿里雲的SSD雲盤在20GB下的性能已經很不錯啦。可是我又真的想體驗一下20000個IOPS是什麼水準?那麼就繼續下單購買,分別購買了Windows Server 2012 配置以下:CPU:2核,內存:4GB(I/O優化),數據盤:700G,帶寬:1M(峯值)。同時我也購買了相同配置的Ubuntu服務器,測試一下SSD雲盤在Linux下的性能。高併發

此次在Windows Server下測試我依舊選擇了以上次測試一樣的軟件——AnvilPro,而沒有使用朋友推薦的HD Tune,主要是爲了與上次的測試條件達到統一。只不過此次我根據本身的選擇進行測試,好比我選擇了以Block Size:4K、32K、64K,Queue Depth=16爲標準,進行了三組測試,以下圖:工具

Red Hat VirtIO SCSI Disk Device_751GB_TH-R-IO_20150707-2101

Red Hat VirtIO SCSI Disk Device_751GB_TH-R-IO_20150707-2102

Red Hat VirtIO SCSI Disk Device_751GB_TH-R-IO_20150707-2103

而後又測試了隨機寫入數據的,此次以Block Size:32K、64K,Queue Depth=16爲標準進行測試性能

Red Hat VirtIO SCSI Disk Device_751GB_TH-W-IO_20150707-2103

Red Hat VirtIO SCSI Disk Device_751GB_TH-W-IO_20150707-2104

經過上面的Random Read和Rand Write 結果得出,SSD雲盤的性能確實是跟容量大小有關係,我上週作的以最小容量爲基準的測試雖然也能反應出SSD雲盤的性能,可是要想獲取最大性能的SSD雲盤仍是建議在有條件的狀況下購買大容量的SSD雲盤。下面看一下在Ubuntu服務器下面的測試結果,在Linux環境下會使用FIO進行測試,只須要經過命令行輸入:學習

fio -direct=1 -iodepth=64 -rw=randwrite -ioengine=libaio -bs=16k -size=10G -numjobs=1 -runtime=1000 -group_reporting -name=/data/testfile

FIO_RandomWrite

這段測試的含義是測試隨機寫,每次寫入大小16K,文件大小爲10G,ioengine=libaio,運行1000秒(runtime),跳過buffer 下面的測試結束,每秒寫速bw=235413KB/s,IOPS=14713。測試

經過上面的性能測試獲得的數據,SSD雲盤能夠解決隨機讀取IOPS性能的問題,就如產品介紹那樣1GB提供30個IOPS,100GB提供300個IOPS。那麼問題來了,如何來選擇ECS的配置?下面瞭解一下目前按量付費的計算公式(以1000元爲準)。4核16G的配置可使用13天,16核16G的配置可使用9天。剩下的就按照本身的需求來訂購配置了。

目前這款產品是適合對數據可靠性要求高的I/O密集型等核心業務系統或者中大型開發測試環境。若是你的業務發展碰到用戶訪問量大、高併發等問題,那麼仍是經過這種硬件上的投入來解決問題。由於當你的業務發展遇到這樣的狀況,說明你的網站或是App等產品是有用戶羣體和知名度的,因此對於基礎設施產品的投入會隨着愈來愈多的增加用戶攤薄投入成本。

總之如今的互聯網行業,用戶體驗是每一個開發人員和運營者所追求的目標,能爲本身的用戶帶來更好的使用體驗是一件幸福的事情。其實這也是雲計算廠商所追求的目標,經過爲網站開發者提供有針對性、適合各類業務場景的產品來解決咱們的問題,讓咱們開發者聚焦在本身熟悉的領域,關注本身的產品開發,提高產品競爭力,這纔是一個有序的發展生態。

相關文章
相關標籤/搜索