本文介紹了PolarDB MySQL版8.0.1版本的標準版和集群版分別在開通全密態功能后,OLTP負載性能測試結果。
本文對比了明文查詢和密文查詢兩種情況下的數據庫性能,性能指標以QPS、RT、CPU占用率為準。
明文查詢:不設置任何加密規則。
密文查詢:對數據庫中的所有列進行加密。
全密態對數據庫的寫入性能沒有影響。
集群規格和測試方法
本次壓測采用業界標準的SysBench,針對只讀(oltp_read_only)基準在不同的線程數量下模擬數據庫不同壓力時的性能表現。
集群配置
標準版集群
集群規格:polar.mysql.g2.xlarge.c
存儲類型:ESSD PL1云盤
數據庫節點:1個主節點和1個只讀節點,節點規格均為8核16 GB
內核版本:8.0.1.1.41
數據庫代理版本:2.8.38
數據庫代理配置:16核
集群版集群
集群規格:
存儲類型:PSL5
數據庫節點:1個主節點和1個只讀節點,節點規格均為1~16PCU
內核版本:8.0.1.1.41
數據庫代理版本:2.8.38
數據庫代理配置:0.5~32PCU
測試參數
表數量:250張
單表數據量:25000行
全密態功能是對數據庫代理上的數據執行加密操作,在對數據執行讀操作時會對代理產生額外的CPU負載。因此,在進行該性能測試時,標準版集群的數據庫代理選擇了最大規格16核。代理本身不收取費用,如果您需要使用全密態功能,建議您提前對代理執行擴容操作。
測試結果
標準版測試結果
測試數據表
線程數量
明文QPS
密文QPS
明文RT(單位:ms)
密文RT(單位:ms)
明文內核CPU(單位:%)
密文內核CPU(單位:%)
明文代理CPU(單位:%)
密文代理CPU(單位:%)
64
26997.98
25852.58
37.92
39.6
226
222
85
266
128
53991.65
50477.37
37.92
40.56
408
396
177
512
256
108128.31
93823.23
37.86
43.63
776
708
332
978
QPS&RT
內核及代理CPU占用率
集群版測試結果
測試數據表
線程數量
明文QPS
密文QPS
明文RT(單位:ms)
密文RT(單位:ms)
明文內核CPU(單位:%)
密文內核CPU(單位:%)
明文代理CPU(單位:%)
密文代理CPU(單位:%)
64
14830.79
14615.26
68.96
70.02
158
159
40
137
128
29628.57
28518.67
69.05
71.77
291
278
78
268
256
59483.84
50984.73
68.73
80.27
536
491
140
493
QPS&RT
內核及代理CPU占用率