雲,爲IT基礎設施的構建帶來很大的便利性。數據庫,做爲雲中很是重要的一類產品,正有愈來愈多的客戶選擇使用。但在使用雲端數據庫時,常常有兩類作法:一是經過ECS自建數據,二是直接使用雲提供的數據庫產品。那麼這兩類作法,有什麼差別?用戶又該如何選擇呢?下面經過在阿里雲平臺的一組測試,給你帶來答案!數據庫
1. 測試概述微信
本測試對比了阿里雲中ECS自建數據庫(5.7/8.0版本)和RDS通用實例,在OLTP讀寫混合模型下的性能。測試使用了標準的sysbench 1.0工具,選擇規格是用戶最廣泛使用的4核16GB規格數據庫,其中innodb_buffer_pool_size =12G。架構
1).測試場景併發
一共測試了3個場景,分別爲:編輯器
內存命中型(CPU先到達瓶頸)高併發
150張表,每張表25000行數據,數據量大約2GB。工具
小規模IO型(CPU先到達瓶頸)性能
150張表,每張表120萬行數據,數據量大約50GB。測試
大規模IO型(IOPS先到達瓶頸)flex
150張表,每張表500萬行數據,數據量大約200GB。
2).測試結論
在CPU先到達瓶頸的場景下,RDS通用實例相比於ECS本地盤自建,性能優點比較大。
在IOPS先到達瓶頸的場景下,RDS通用實例相比於ECS本地盤自建,性能優點不大。
在3個場景中,RDS通用實例相比於ECS本地盤自建,均有必定的性能優點,且總體表現穩定。
2. 測試環境
ECS自建環境的MySQL,採用了主從架構。
RDS採用4C 16GB,本地SSD,高可用版通用型,主從架構。
ECS自建MySQL與RDS,使用了相同的配置模板。
3. 測試數據(場景:內存命中型)
1).MySQL5.7 高性能模板
在不一樣併發條件下,RDS均較ECS自建MySQL性能更優。
在低併發(併發度=16)條件下,RDS性能表現更爲突出。其QPS指標比ECS本地盤高87%。
開源MySQL沒有線程池功能,高併發下抖動大。
2).MySQL8.0 高性能模板
在不一樣併發條件下,RDS均較ECS自建MySQL性能更優。
在低併發(併發度=16)條件下,RDS性能表現更爲突出。其QPS指標比ECS本地盤高70%。
開源MySQL沒有線程池功能,高併發下抖動很是大,基本處於不可用狀態。
4. 測試數據(場景:小規模IO型)
1).MySQL5.7 高性能模板
在不一樣併發條件下,RDS均較ECS自建MySQL性能更優。
在低併發(併發度=16)條件下,RDS性能表現更爲突出。其QPS指標比ECS本地盤高107%。
開源MySQL沒有線程池功能,高併發下抖動很是大。
2).MySQL8.0 高性能模板
在不一樣併發條件下,RDS均較ECS自建MySQL性能更優。
在低併發(併發度=16)條件下,RDS性能表現更爲突出。其QPS指標比ECS本地盤高82%。
開源MySQL沒有線程池功能,高併發下抖動很是大,基本處於不可用狀態。
❖ CPU先達到瓶頸
16個併發時,RDS的cpu開始打滿。整個壓測過程當中,IOPS並未到達瓶頸。
ECS本地盤的監控信息顯示,讀和寫的IOPS一直在3000左右,峯值讀3000,寫6000左右。
5. 測試數據(場景:大規模IO型)
1).MySQL5.7 高性能模板
在不一樣併發條件下,RDS均較ECS自建MySQL性能佔優。
由於RDS的IOPS先到達瓶頸。整個壓測過程當中,RDS的QPS相對於ECS本地盤的優點不是太大,高10%左右。
讀寫IOPS較大,ECS+ESSD雲盤的性能劣勢能夠體現出來。
開源MySQL沒有線程池功能,高併發下抖動很是大。
❖ IO先達到瓶頸
壓測過程當中,RDS的cpu未用滿。IOPS到達瓶頸,物理讀維持在6000左右。
ECS本地盤,IOPS超過了RDS的使用限額(7000)。
ECS的CPU能夠用滿。
2).MySQL8.0 高性能模板
RDS在IO壓力很大下,性能表現依然平穩。
因RDS的IOPS先到達瓶頸。壓測過程當中,RDS的QPS相對於ECS本地盤的優點沒有上一場景大。
讀寫IOPS較大,ECS+ESSD雲盤的性能劣勢凸顯,衰減嚴重。
開源MySQL8.0在高IO狀況下,性能退化嚴重。
6. 從測試中得到...
經過上述測試數據能夠看出,RDS較ECS自建模式在性能表現上更爲出色。這主要是基於雲廠商多年在數據庫領域的實踐深度優化所得。固然,用戶在作選擇時,不能僅僅依據性能表現,而應該基於更多維度考量。下表簡列一二,供各位參考。
RDS自己具備極高的可用性,自建方式需用戶維護。
外圍功能(例監控、備份、優化等),自建方式需用戶構建。
自建方式的自主性較大,用戶可定製化自身需求。
BTW:如何得到高性能參數模板
在購買RDS步驟「實例配置」中,可在以下位置選擇「高性能參數模板」
掃碼關注
有趣的靈魂在等你
本文分享自微信公衆號 - 韓鋒頻道(hanfeng_channel)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。