本文介紹RDS MySQL 8.0及RDS MySQL 5.7版本高可用系列在開啟全密態功能後OLTP負載效能測試。
背景資訊
此次測試對比了兩種查詢情況下的資料庫效能(以QPS、RT為準)。
明文查詢:不設定任何加密規則。
密文查詢:對資料庫中所有列進行加密。
全密態對資料庫寫入無效能影響。
執行個體規格和測試方法
此次測試採用行業標準壓測工具SysBench,分別針對唯讀(oltp_read_only)、讀寫(oltp_read_write)兩個基準,在不同的線程數下類比資料庫不同壓力下的效能表現。
執行個體配置:
規格:mysql.n2.xlarge.2c
規格類型系列:通用型
系列:高可用系列
儲存類型:ESSD PL1 雲端硬碟
版本:RDS MySQL 8.0 20240229,RDS MySQL 5.7 20240229
測試參數:
單表資料量:25000
表數量:250
測試結果
RDS MySQL 5.7
唯讀

線程 | 明文QPS | 密文QPS | 明文RT | 密文RT |
64 | 14332.58 | 14021.94 | 71.43 | 73.01 |
128 | 28712.27 | 28097.95 | 71.32 | 72.87 |
256 | 51173.18 | 43663.67 | 80.02 | 93.79 |
讀寫

線程 | 明文QPS | 密文QPS | 明文RT | 密文RT |
64 | 14349.46 | 14073.52 | 89.18 | 90.93 |
128 | 28745.73 | 28480.96 | 89.03 | 89.86 |
256 | 52388.17 | 47524.69 | 97.69 | 107.69 |
RDS MySQL 8.0
唯讀

線程 | 明文QPS | 密文QPS | 明文RT | 密文RT |
64 | 20957.01 | 20451.69 | 48.85 | 50.06 |
128 | 40395 | 40523.26 | 50.68 | 50.52 |
256 | 67328.31 | 53119.03 | 60.8 | 77.07 |
讀寫

線程 | 明文QPS | 密文QPS | 明文RT | 密文RT |
64 | 20201.55 | 19942.42 | 63.35 | 64.17 |
128 | 40133.36 | 40343.33 | 63.76 | 63.43 |
256 | 62039.77 | 46675.26 | 82.46 | 109.59 |
相關說明
此次測試對所有查詢後的資料內容均進行了加密。在客戶業務系統中,如果只對少數敏感欄位加密,效能會優於此次測試的結果。
全密態功能僅影響資料庫讀操作效率:開啟全密態功能後,對唯讀情境影響最大,讀寫情境其次。唯寫情境因不涉及資料讀取操作,不受影響。
全密態功能主要對CPU有額外的負載,對磁碟和記憶體沒有壓力。