2014雲服務大測試 測試目的與架構

12
2014雲服務大測試架構 全球唯一、耗費數月的三大公有雲實際測試 (針對AWS、Azure、GCP進行運作效能與傳輸速率實測)

Upload: ken-lee

Post on 31-May-2015

613 views

Category:

Internet


8 download

DESCRIPTION

2012年7月份時我花了一個多月做了雲服務(AWS、Azure)的實測並整理成一份「雲服務-關鍵測試報告」,那時候AWS有7個Region、EC2只有11個等級(Linux);Azure有6個Region、VM只有5個等級;Google那時候也只有GAE而還沒有GCE… 時至今日,Google已有GCE(Google Compute Engine),共有3個Region(包括台灣機房)、VM有15個等級(只有Linux Image可用);AWS有8個Region、EC2已經成長到有34個等級(不過有些已經不能選用或有特定條件才能使用,故測試時會略過部份等級);而Azure也很厲害,現今已有11個Region、VM也有10個等級… 所以,在2014年6月時,決定要來再做一次全面性的大測試,這次將針對AWS、Azure、GCP等三大公有雲來做實測! 現在,完整的測試結果已經出爐了,有興趣購買報告的朋友歡迎來信至[email protected] 謝謝大家!

TRANSCRIPT

2014雲服務大測試架構

全球唯一、耗費數月的三大公有雲實際測試

(針對AWS、Azure、GCP進行運作效能與傳輸速率實測)

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

測試目的與架構測試的主要目的.雲服務(Cloud Service)正在全球掀起一股熱潮,而對台灣的軟體產業來說絕對是一個很正面的幫助,再加上智慧手

機的席捲市場、日益普及,與雲服務可以說是一個完美的應用結合,因為智慧手機的量太大了,若是手機上的應用

服務有需要後台資料匯整時,不用雲服務是無法承受的;我們甚至可以說因為智慧手機的蓬勃發展而加速了雲服務

的市場成長!

時至今日,AWS、Azure和GCP可以說是全球雲服務的前三大廠商,再加上各自提供的Region、VM等級也都越來

越多,實在令人感到不知所措:

#想採用雲服務,但到底該選擇哪一家?

#需要採用哪一個等級才夠用?

#需要注意哪些細節?

#需要哪些配套措施?

#使用Tokyo或Singapore的Region就一定會最好嗎?

#到底VM的等級和網路傳輸效能的關係為何?.......

在2012年時,我針對全球最大的兩家雲服務業者 (AWS、Azure)來與國內的雲服務業者進行實際的交叉測試,當

時還沒有GCP的出現(當時只有GAE,屬於PaaS),且當時並未針對不同Region、不同VM等級進行網路吞吐量

(iperf)與http下載(wget)的實際傳輸測試(當時只有針對不同Region的單一等級進行iperf和wget測試)。

此外,這次在效能測試上還加入了各雲服務廠商公認使用的測試工具:fio

當然,由於fio本身是可以下不同參數來進行測試,在這裡為了公平起見,採用同一個參數測試這三家公有雲,我相

信這樣的數據才會具有參考價值的!

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

AWS測試架構概圖(以台灣為中心點)

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

AWS測試架構概圖(以台灣為中心點)

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

Azure測試架構概圖(以台灣為中心點)

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

Azure測試架構概圖(以台灣為中心點)

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

GCP測試架構概圖(以台灣為中心點)

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

GCP測試架構概圖(以台灣為中心點)

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

此次雲服務測試的注意事項.#使用IaaS類型的雲服務,此次測試的雲服務廠商包括AWS(EC2)、Azure(VM)、GCP(GCE)

#以台灣為主要測試中心點,且為了避免因為台灣中華電信的頻寬限制而造成網路吞吐量、http下載速率的限制,

 故台灣的測試中心點有兩個:中華電信的固定制ADSL(50M/20M,光纖型)、GCE(選擇在台灣的機房)

#台灣中心點的ADSL測試設備為:Intel ATOM 1.6GHz、1GB RAM、128GB SSD(Toshiba)、CentOS 6.5 i686

 台灣中心點的GCE測試等級為:n1-standard-4(4 vCpus、15GB RAM)、CentOS 6.5 x86_64

#此次的測試均採用Linux CentOS 6.5為主,AWS的EC2則是用Amazon Linux AMI來進行測試

測試時的一些條件及相關工具.#測試用的VM (Virtual Machine)均是在沒有提供其他服務或負載的狀態下運作

#由於各家雲服務廠商可用的VM系統版本會有點小不同,但測試工具的版本均相同

#Linux的測試工具為UnixBench(5.1.3)、hdparm(9.43)、wget、iperf(2.0.5)、fio(2.1.x)為主

VM的主要測試重點.#整體運作效能(UnixBench)

#Disk I/O效能(hdparm、fio 4K read/write)

#網路吞吐量(iperf),且會互換Server、Client來做雙向測試

#http實際傳輸效能(wget),且會互換Server、Client來做雙向測試

 測試時均不啟用防火牆,且均以同一個639MB(Linux下則是為625MB)大小的檔案來做傳輸效能的實測!

#iperf和wget的測試:以AWS、Azure、GCP各個Region、各種VM等級來進行交叉測試

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

測試範圍.針對AWS、Azure、GCP的雲服務進行相關的測試:

#以三大雲服務業者現有的VM所有等級進行效能的測試(IaaS)

#AWS共有8個Region、每個Region的EC2有22~37種等級(沒有每個Region都有37種),一共測了266台EC2

#Azure共有11個Region、每個Region的VM有10種等級(沒有每個Region都有10種),一共測了102台VM

#GCP共有3個Region、每個Region的VM有15種等級,一共測了45台VM

#以台灣中華電信固定制ADSL為Server端,與上述三家雲服務各Region、各等級的VM進行iperf的測試

#以台灣中華電信固定制ADSL為Client端,與上述三家雲服務各Region、各等級的VM進行iperf的測試

#以GCE(台灣機房)為Server端,與上述三家雲服務各Region、各等級的VM進行iperf的測試

#以GCE(台灣機房)為Client端,與上述三家雲服務各Region、各等級的VM進行iperf的測試

#針對上述三家雲服務各Region、各等級的VM進行fio read/write的測試

#針對上述三家雲服務各Region、各等級的VM進行hdparm的測試

#針對上述三家雲服務各Region、各等級的VM進行UnixBench的測試

#可提供給台灣想採用雲服務的企業、創業家一個十分重要的參考依據

註:GCE是GCP(Google Cloud Platform)中的IaaS服務之一

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

常見的效能瓶頸.網站營運最常遇到的瓶頸:

#對外的網路頻寬

#CPU

#記憶體

#Disk I/O

#儲存空間

#資料庫

#網路I/O

#錢

為何要測試Disk I/O的效能?

Disk I/O包括從磁碟上讀寫資料的時間,或者至少包括應用程式等待讀寫資料的時間。

以往在採購電腦或伺服器時會特別注意實體硬碟的轉速、RAID機制、Cache快取等細部規格,因為這會連帶影響到

日後在運作時的效能(檔案開越多越明顯)。現今最快速的硬碟是SSD固態硬碟,但仍有其需要考量的風險問題(存取

次數有限制)。

而在一切以虛擬化為主的雲服務中,不管用的是Xen、VMWare、hyper-V或KVM的虛擬技術,通通都還是必須考

量到Disk I/O的效能(即便是Virtual Machine還是會有不同的差異)。

為何要測試Virtual Machine的效能?

#效能越好,代表可承載的負載數量越多

#效能越好,代表要啟用的VM越少,對於經營成本就越省

#效能越好,代表可反應的速度越快、越能讓客戶感到愉悅(使用者體驗會較佳)

優福網資訊有限公司 http://www.tts.bz/ Created by 李志文

ping的回應值、網路吞吐量與實際的http下載速率?

#ping的回應值:也就是常說的Latency(網路的延遲),Latency越小、回應速度越快,大多數人只會在意這個數值

#網路吞吐量:可以用來測試兩個點之間的網路最大傳輸量,大多用來測試網路的頻寬(iperf便是此類的工具)

#http下載速率:也就是網站的實際傳輸效能,會受到許多網路設備和QoS之類的軟體影響而有所限制;

 所以若想讓網站能夠跑得更快、更順,其實首先要重視的應該是實際的http下載速率,而非Latency

關於其他會遇到的瓶頸問題?

#對外的網路頻寬:得視提供雲服務的廠商所提供的最大頻寬而定

#CPU:慎選所需的VM等級、改善程式的問題或變更處理的流程與時間、適當進行分流

#記憶體:慎選所需的VM等級、改善程式的問題或變更處理的流程與時間、調整設定值

#Disk I/O:慎選所需的VM等級、改善程式的問題或變更處理的流程與時間

#儲存空間:慎選提供雲服務的廠商、慎選所需的VM等級、妥善規劃儲存空間的運用

#資料庫:注意CPU、記憶體、Disk I/O及儲存空間的問題,資料庫的效能會受到影響

#網路I/O:一般網路I/O較少會是瓶頸,除非流量超大或是對外的頻寬大於網卡速度

#錢:上面所有的問題都可以用「錢」來解決,但前提是要有足夠的「錢」才行

更進階的瓶頸問題?

#系統架構:系統架構的規劃會影響到日後是否能夠進行快速部署、除錯、擴展,務必要注意

#水平擴展:一般來說使用垂直擴展(Scale Up)還是會有一定的極限存在,屬於海量型服務的架構都會採用水平擴

 展(Scale Out)的規劃,但是水平擴展不是那麼容易做的,除了系統架構的影響之外,包括負載平衡、中介程式、

 資料庫、檔案儲存、Cache等等也都會影響到水平擴展的實作