云計算

阿里云RDS與自建MySQL的性能對比

廣告
廣告

云,為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先到達瓶頸)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步驟“實例配置”中,可在如下位置選擇“高性能參數模板”

我還沒有學會寫個人說明!

騰訊云服務器操作系統內核正式開源,最強云原生設計

上一篇

2019最爛密碼榜單出爐,教你設置神級密碼!

下一篇

你也可能喜歡

阿里云RDS與自建MySQL的性能對比

長按儲存圖像,分享給朋友

ITPUB 每周精要將以郵件的形式發放至您的郵箱


微信掃一掃

微信掃一掃
双色球常规走势图 即时赔率网 微信登录欢乐麻将 南通麻将规则 皇冠比分90win 广东麻将规则图解说明 东北麻将打法和规则 188比分网即时比分 喜乐彩 pc蛋蛋 广东11选择5开奖 江西11元选5走势 龙江风采36选7开奖