騰訊雲和阿里雲對比哪個好?雲計算優勢測評

雲計算市場爭奪阿里雲作爲名副其實的國內業界第一,名聲非常大,不過最近 IT 之家的事鬧出來之後,我有點慶幸最終沒有選擇它。騰訊雲算是業界老二,而且有着騰訊這個強大的靠山,雲服務產品的種類和質量都不錯。


上個月阿里雲在雲棲大會上宣佈降價,昨天騰訊雲方面也推出了全線降價活動,對包年包月產品均提供了大幅度的降價優惠。阿里和騰訊在雲計算領域之爭繼續上演,雙方都想通過價格優勢帶來用戶的高增長,搶奪市場份額。


這對於雲計算用戶來說自然是一件好事,但是如果讓價格完全左右企業或個人用戶的購買決策的話,那麼最終很可能會出現已購產品無法滿足需求,從而不得不被迫遷移的情況。筆者的觀點很簡單,在考慮價格因素之前,應該先從產品性能、服務等多方面進行評估。
在選擇自己的雲服務器之前,我也在騰訊雲和阿里雲之間猶豫過,並對兩家的產品做過一些簡單的對比。下文中會簡要分享一下對比結果。

在對比每一款產品時,本文先通過一系列的標準化測試比較產品的性能,然後再結合產品的最新優惠價格因素進行評價。至於兩家的產品到底誰的性能更好、性價比更高,一切還是要用數據說話。

本文采用的測試工具和方法介紹,請查看配套文章:雲計算產品性能測試指南。對象存儲部分的腳本可在 Github 項目中查看。閱讀期間,如果你覺得具體對比過程太長,可以直接跳到本文結語部分查看對比結論。


選擇對比產品騰訊雲和阿里雲都是典型的 IaaS 服務商,產品種類繁多。限於時間和成本,沒辦法對所有產品進行一一對比,只能有選擇性地比較一些基礎產品和服務。

根據 AWS Web 應用參考架構,一個高可用、可伸縮的網站至少需要使用以下雲計算資源:雲服務器、雲數據庫、對象存儲服務、負載均衡、內容分發等。因此我們在本文中主要對比雲服務器、雲數據庫和對象存儲這三個比較基礎的產品。

wKioL1l1yMryDLYjAAH91Y6Ejyc553.png


網站參考架構圖:以 AWS 服務爲例。


wKiom1l1yRiSJUbgAACur1vYEKw471.png

對比產品的英文簡稱,下文在談到對應產品時,將使用其簡稱表示。


雲服務器對比雲服務器是所有云計算服務商提供的最基礎產品。廠商一般會根據分配的資源劃分雲服務器的級別和規格。但是由於採用的基礎硬件、架構和調優技術存在差別,類似配置的雲服務器之間也可能有較大的性能差異。


如果想了解並比較不同廠商雲服務器的差異,最好的方式就是運行基準測試。


性能測試準備在開始測試之前,我們先在兩家創建相同配置的兩臺雲服務器,儘量確保測試結果之間具備可比性。付費方法均採用按量計費,使用包年包月服務器進行測試的成本較高。


騰訊雲和阿里雲針對按量計費的雲服務器,均要求賬戶內有一定的餘額:騰訊雲好像沒有最低充值要求,充值 10 元即可;阿里雲要求賬戶內至少有 100 元餘額。
測試雲服務器的具體配置如下:


wKioL1l1yUiz0_WYAAHgm54FFYc689.png

這裏指出一點,由於阿里雲 ECS 雲硬盤最小爲 40G ,而騰訊雲 CVM 默認 Linux 系統贈送 20G ,爲了在後面對比二者價格時有可比性,將 CVM 的雲硬盤調整爲 40G 。

除了系統盤默認大小不同外,測試雲服務器在 CPU 、內存、操作系統等方面均爲同一規格的配置。這個規格的配置也是中小型網站部署的推薦配置,應該能夠滿足大部分用戶的需求。

性能測試過程由於測試的流程比較長,在本文中只簡要介紹下所使用的工具及對應關注的指標。具體的測試操作步驟,我會在雲計算產品性能測試指南中介紹。

在測試雲服務器之前,我參考了許多相關評測文章,最終決定使用如下工具和指標:

wKioL1l1yWKxKFd0AAGkof2Bcvs145.png

有關其中所使用工具和指標的具體說明,請移步到這裏:雲計算產品性能測試指南。

性能測試結果GeekBench 會將測試結果上傳到自己的網站,本文測試結果的訪問地址如下:

CVM

ECS

各項指標結果彙總如下:

wKioL1l1yX_BJigPAAF4G5gnQzg165.png

從數據來看,騰訊雲的 CVM 在 UnixBench 和 GeekBench 兩個綜合性測試工具下的得分都高於阿里雲的 ECS 。

wKioL1l1yZnTIFN5AAB_PBcMsZg488.png

CPU 延遲和內存性能方面, ECS 略勝一籌,但是優勢不大。在磁盤 I/O 性能上,阿里雲的表現接近在啓動實例配置時所介紹的 500 IOPS 。但是與騰訊雲相比遜色不少,CVM 的磁盤隨機讀 /寫的 IOPS (每秒的輸入輸出量,或讀寫次數)均在 4000 左右。

wKiom1l1yb7RXFBtAABxHLAeAL0190.png

其實看到二者在磁盤 I/O 性能上差距居然這麼大,筆者剛開始很詫異,還以爲測試命令輸入有誤,不過反覆測試確認之後,可以證實這個數據並沒有錯。同時也向客服方面瞭解,得到的回覆是: CVM 的磁盤 I/O 最大性能指標的確可以達到 4000 ,但是並不承諾一直保持該性能。這點可以理解,隨着租戶的增加,最大性能指標很有可能會逐步下降。

最後要注意的是,雖然我們使用了知名的基準測試工具,但是具體的數據可能並不能精確地說明雲服務器的性能。因爲雲服務器的性能和相鄰租戶使用情況是相關的,根據其他租戶的使用情況而不同,因此以上數據僅作參考使用。


考慮價格因素最後我們來加入價格因素。阿里雲此前在雲棲大會上宣佈雲產品大幅降價,近期騰訊雲方面也趁着雙十一宣佈了一輪降價,那麼我們結合上面的性能測試結果,來看看降價之後兩家的性價比如何。

wKiom1l1yduj59qSAAEQbrInzl8511.png

上圖中的價格信息取自 11 月 4 日創建實例時顯示的價格。


從包月費用來看,騰訊雲 CVM 比 ECS 要貴那麼一丁點,不過考慮到它的性能評分就會覺得貴的物超所值了。但是從之後的二、三年優惠價來看, CVM 的費用反而要低於 ECS 相應期限的成本了。如果兩家的降價幅度相同的話,那價格應該是阿里雲一直便宜一些纔對啊?

確實,背後的原因就是在於二者的降價幅度不同:阿里雲是中國區域實例最高 3 年 5 折,帶寬和系統盤並沒有這麼高的折扣,只有 8.5 折。

wKiom1l1yffCX1c2AANIKVQFieQ870.png

相比之下,CVM 是真正的全線降價,三年實例、帶寬和系統盤費用都是 5 折優惠。


因此,這段時間內購買騰訊雲 CVM 的性價比是要高於阿里雲 ECS 的,尤其是購滿 2-3 年的話。


雲數據庫對比我們接着對比兩家的基礎雲數據庫: CDB 和 RDS 。


目前虛擬化技術已經取得很大的進展,可以將物理機虛擬化爲多個雲服務器,而且能做到總體性能的損耗最小。因此,網站的性能差、響應慢,可能不是你的應用代碼寫的不好,瓶頸很可能就在於雲數據庫的性能。因此,選擇雲服務商的雲數據庫性能,也是決定購買決策的一個重要因素。


由於 MySQL 是網絡上使用最爲普遍的數據庫,騰訊雲和阿里雲兩家基礎的數據庫產品也都是基於 MySQL 的,因此在這項評測上我們選擇 MySQL ,版本爲 5.6 。

測試準備工作兩家的雲數據庫目前只提供一種配置類型,分別是高 IO 版( CDB )和雙機高可用版( RDS )。因此在這項測試中,使用一組完全相同配置的雲數據庫是不可能,只能轉而使用同價位級別的服務器。


基於上述原因,我們分別在騰訊雲和阿里雲創建最低配版的雲數據庫( CDB 和 RDS )。具體配置如下表所示:

wKioL1l1yhWjuSfJAADj0E0_Nm4001.png

從官方劃分的類型和內存大小來看,這應該是一組可比較的實例。另外,爲了降低測試時網絡的影響,我們繼續使用對比雲服務器時創建的實例,來運行測試代碼。
測試過程MySQL 雲數據庫有許多性能測試工具,如自帶的 mysqlap 。本文所選擇的是 sysbench 。


Sysbench 是一個模塊化的、跨平臺、多線程基準測試工具,主要用於評估測試各種不同系統參數下的數據庫負載情況。還可以用來測試 CPU 性能、磁盤 I/O 性能等指標。我們用到的是其提供的 OLTP 基準測試,默認支持 MySQL 數據庫。


Sysbench 的安裝及測試方法請看雲計算產品性能測試指南的雲數據庫部分。本文中執行了隨機讀寫、隨機只讀兩種測試。


OLTP 測試輸出結果如下圖所示:

wKiom1l1ykLi9TupAAHjbGmDwOs304.png

騰訊雲 CDB : sysbench 隨機只讀測試結果


我們需要關注的數據包括測試完成的事務總數,即圖中的 read/write requests ,表示數據庫的吞吐量;以及平均請求時間,即圖中 per-request 數據下的 avg 對應的值,表示數據庫請求的延遲。
性能測試結果這裏只用到了一種測試工具,而且測試的類型也不多,因此很快我們就可以得到測試結果,將其中我們需要的數據提取出來,可以得到下圖中的對比數據。

wKioL1l1ylqigkXpAACCdpbMXAU619.png

從結果可以看出,騰訊雲 CDB 的數據庫讀寫請求吞吐量相比 RDS 來說高很多,是後者的約 6-7 倍左右,請求的響應時間也非常快,在 10ms 以內。高 I/O 版本的表現的確強勁。


考慮價格因素最後我們考慮二者的價格因素。

兩家最新的優惠價格對比如下:

wKiom1l1ynnwSrf5AAEdq6E1-EU937.png

以上價格信息取自 11 月 4 日創建實例時顯示的價格,區域分別爲: CDB 廣州, RDS 華南 1

至於另一個費用來源——網絡流量費用,如果使用兩家對應的雲服務器的話,與雲數據庫之間就是內網流量,應該都是免費的。所以流量費用問題可以忽略。

從上圖我們可以得出,兩家在包月價格上差異不大,但是就此次降價幅度來看,騰訊雲 CDB 的優惠非常之高:二、三年的優惠價( 4 折、 3 折)是 RDS 的一半;一年、二年和三年購買期限處在同一個價位段,而且買兩年的價格比一年還低。


如果 Web 應用要求大量快速的數據庫讀取操作,那麼在購買期限爲二、三年的情況下,配置兩臺 CDB 高 IO 版也比選擇 RDS 的性價比要高。


如果數據庫請求在 RDS 測試結果之內,使用期限也不長,那麼可以考慮使用 RDS 。
另外提示一點,雖然說 CDB 的版本介紹爲高 I/O 版,但是據官方的產品文檔,每一個 CDB 實例都做了實時雙機熱備,因此在可用性方面的表現應該也不會差太多(這裏我們沒有對此進行測試)。


對象存儲服務對比到最後一個產品了。


對象存儲服務的對比有點麻煩,沒有比較好用的基準測試工具。在準備測試之前,我發現 Intel 公司開源了一個專門測試雲對象存儲的工具,叫做 COSBench ,不過可惜的是隻支持 Amazon S3 等國外雲廠商的服務,不支持騰訊雲和阿里雲。當然好像可以自己實現對應的適配器,但是對於本文這個較爲簡單的評測來說,有點太過麻煩了。


因此,在對比對象存儲服務時,我使用兩家提供的 Python SDK ,編寫了測試腳本來統計上傳、下載和刪除等三個任務的用時。注意,這裏並沒有測試高併發的情況。

性能測試方法爲了控制網絡環境對測試結果的影響,我在騰訊雲和阿里雲各自同區域的雲服務器上進行測試,這樣不僅測試起來會比較方便,而且能確保測試結果準確有效。我在兩家創建的對象存儲 Bucket 都是位於華南區的,因此在相應區域分別創建了一臺雲服務器實例。


同時,爲了儘量模擬實際用戶的使用場景,我們選擇 50KB 、 2MB 、 50MB 三種級別的文件進行測試。一般網絡圖片的大小在 50K - 2MB 左右,通過這兩個級別文件可以測試圖片數據存儲的效率。另外 50MB 級別用於測試大文件存儲性能。

具體來說,我們通過 dd 命令生成:

10000 個 50KB 文件

1000 個 20MB 文件

100 個 50MB 文件


測試時統計文件上傳 /下載 /刪除用時等指標,取平均值(單位毫秒)。在測試小文件下載用時時,並沒有將文件保存到磁盤,避免了磁盤成爲性能瓶頸。

性能測試結果由於測試文件數量不少,整個測試腳本跑下來可能要一個多小時。最終針對 COS 和 OSS 的測試結果(均爲單個文件平均值)如下。
50KB 小文件

wKioL1l1yr-xaitXAACH3A1jsDg585.png

在 50KB 小文件這個類別中,阿里雲 OSS 的上傳、刪除用時表現不錯,小文件下載用時方面騰訊雲 COS 用時較少。
2MB 小文件

wKioL1l1ytfzR3wWAAB0UjlJpzc334.png

隨着文件大小的增加,騰訊雲 COS 在上傳、下載用時這兩項指標上開始超越 OSS ,差距以倍數計。不過 OSS 在刪除用時上仍然保持在 10ms 左右。
50MB 大文件

wKiom1l1yvOQkh_QAACQSbmFcOU033.png

由於 50MB 文件的上傳、下載、刪除用時之間級別相差較大,因此我在繪製圖表時將縱軸改爲了對數可讀,方便閱讀。本文測試的實際數據如下表所示:

wKioL1l1ywySTlTXAADJh0TquTU062.png

在上傳大文件時, OSS 與 COS 之間的性能差異顯得尤爲突出。

綜合來看:


阿里雲 OSS 在處理文件上傳時,隨着文件大小增加,性能在逐步下降;下載用時與 COS 相差不大;文件刪除用時均優於 COS ,不過文件越大,用時會有對應增加。


騰訊雲 COS 在文件上傳上的性能比較突出,尤其是大文件;下載用時表現也不錯;文件刪除雖然總體不及 OSS ,但每類文件刪除用時均保持在相同的水平。


如果將三個指標結合在一起,騰訊雲 COS 的表現要好於阿里雲 OSS 。
考慮價格因素我們接下來看價格因素,以一個想象中的網站示例來對比。


假設一個網站的存儲數據有 1.5 TB (圖片、音頻、視頻),每月產生流量 600 GB ,月 PV 大約 300 萬,同時每月讀請求 600 萬次,寫請求 30 萬次(平均日請求 21 萬)。


我們使用上面的網站數據,通過官方提供的價格計算器(COS、OSS)來計算使用 OSS 和 COS 的價格。


由於騰訊雲 COS 目前只提供按量計費模式,因此對比的計費方式均選擇爲按量計費。
結果如所示:

wKiom1l1yyfR-kLYAAD-xKYPRn0995.png

阿里雲 OSS 按量計費價格(區域選擇爲華南): 616.7 元 /月。


騰訊雲 COS 按量計費價格: 593.4 元 /月。
上面在計算價格時,並沒有加入 CDN 因素。不過兩家在介紹產品時都提到了,如果設置 CDN 加速或回源,價格會更低。


騰訊雲在上面的計費對比中勝出的原因,可能與其推出的免費額度有關。目前,每個 COS 用戶都有每月 50G 的免費存儲空間, 10G 的免費流量,以及 100 萬次免費讀請求和 10 萬次免費寫請求。阿里雲在 2015 年時曾推出過免費 OSS 額度,但是目前已經沒有了。

結語至此,我們已經完成了對騰訊雲和阿里雲三個基礎性雲計算產品的評測對比,兼顧了性能指標和價格因素。具體的評測結果總結如下:


雲服務器:同等配置下,騰訊雲 CVM 的整體性能高出阿里雲 ECS 不少; CVM 的包月費用略高於 ECS ( 3 塊錢),但是此次降價幅度比 ECS 更大,一年期以上購買 CVM 的性價比更高。


雲數據庫:由於二者類別不同,測試了各自最低等級配置的 CDB 和 RDS , CDB 在吞吐量和延遲兩項性能指標上均大幅領先;同時降價力度也大於 RDS ,因此可以說 CDB 的性價比遠高於 RDS 。


對象存儲:在大小文件的上傳、下載和刪除幾項指標上,騰訊雲 COS 和阿里雲 OSS 各有得分, OSS 在文件刪除上表現不錯,但是在大文件上傳上要遜色不少; COS 在各項指標上的表現都可圈可點。


因此,僅僅從這三項產品的性價比來看,騰訊雲這次降價進一步增加了其產品的優勢。如果讓我在這場價格戰下選擇雲計算服務商的話,我會選擇騰訊雲。而這也是我之前遷移網站時所做的選擇。


不過話又說回來,要評估一家雲計算廠商,除了性能和價格之外,還要考慮可用性、可靠性等其他諸多指標(各家之間的差異可能不大)。對後者進行評測涉及的操作更爲複雜,並不是本文所能涵蓋的。而我上面所做的選擇,也主要是基於性能和價格兩個因素來考慮的。

由於時間有限,無法將國內其他雲計算廠商的產品一併加入測試,歡迎有興趣的朋友按照本文所介紹方法對自己所使用的雲計算產品進行測試,並將結果分享給我,方便大家參考。也希望本文能夠幫助大家選購到滿意的雲計算產品。

本文和配套評測指南中如有任何錯誤,還請大家指正。


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