歷史資料遷移方案


 1. 「場景需求」

#在線上加密覆蓋到全量用戶後,接下去的一個重要步驟就是要把歷史資料全量加密。

我們根據內部壓測數據和案例經驗總結出的RDS遷移方案和效能數據,以供參考。

 

#2 方案介紹

2.1 資料遷移,準備:

1) 請確認程式碼邏輯已經做好明文和密文的相容。

2) 確認加密開關已經開啟。

3) 確認從RDS和TOP api新流入的資料已經是密文的。

 

2.2資料遷移建議方案

 在確認容錯邏輯已完成後進行遷移。先進行少量客戶遷移測試之後,可以進行全量遷移測試。

 1) 首先單一客戶資料遷移測試:

借用遷移1個客戶的機會測試遷移方案。建議遷移量<100萬。可以先從較低的並發數開始。例如:並發5- 10個執行緒。 (可以根據上面壓測資料自選)

提前記錄平時的效能;

記錄遷移期間再記錄遷移時間、遷移過程中的IOPS/連接/CPU/TPS/QPS等,和平時的效能做比較。

 2) 遷移方案

#  依照前期計算好的遷移速度,計算遷移時間與方案。

 首先確定遷移的最小粒度:例如,獨立部署的ISV,則可決定一個部署為一個最小粒度。兼顧功能的獨立性,以及遷移的總時長(控制在3小時以內)。

 第一天進行遷移時,繼續記錄資料量、時間…等。

如果遷移過程順利無問題、且效能負載可以承受,可以在之後逐漸增加執行緒數。

之後,可在第一天的基礎上逐步增加執行緒數和遷移並發數。注意持續監測資料庫效能。直至遷移完成。

 3) 程式碼邏輯注意:

• 請注意:僅當用戶Session有效的,或過期不超過90天,且用戶狀態沒有過期才能拉取到金鑰。

在遷移過程中,請排除已經過期超過#90天和無效的使用者(即:凍結、清退等)

否則造成大量失敗的金鑰請求,且加密失敗。

• 從資料庫中拉取使用者資料並加密的時候,請注意控制分頁大小。

 

 2.3 資料遷移,關鍵資料參考:

目標:根據資料庫大小、資料庫和應用程式架構以及選擇的資料庫效能,推薦ISV適當的資料遷移方案。

 資料與資料:

RDS推送資料庫效能:http://cloud.tmall.com/rdsSelection .htm

 

上圖為資料庫設定清單。我們內部壓測選擇了紅框中的4種RDS配置做了測試。測試結果請見下一節。

 

壓測結果:


1 ) 中型資料庫(IOPS = 1200)壓測:採用4台機器,做了三個測試,分別啟用了10個、15個和25個線程,遷移資料200w,遷移耗時和遷移過程中的效能分別如下:

 

資料遷移時間:

 

機器數

執行緒數

資料量

#測試1

4

10

200w

31min

#測試2

4
######15##################200w##################19 min## #########################測試3#####################4# #################25##################200w##############################200w############ #####13 min##################

 

#遷移效能:

平均每秒事務數(TPS) (#峰值)#每秒SQL25

# # 

機數

#執行緒數

IOPS

#活躍連接數

CPU

#CPU

數(QPS) (峰值)

測試1

4

10

#27

#20

12%

3000

4500

測試2

#4

15

40

45

20%

#5500

##7500

#測試3

#測試3

##4

###############40##### #############75###################32%################ ##7500###################10000##################

 

 2) 大型資料庫(IOPS = 3000)壓力測試:採用4台機器,做了三個測試,分別啟用了10個、15個和25個線程,遷移資料200w,遷移耗時和遷移過程中的效能分別如下:

 

##資料遷移時間:

 

機器數

執行緒數

#資料量

時間

#測試1

4

10

200w

31 min

測試2

4

#15

200w

19 min

測試3

4

25

#200w

#13 min
### ##

 

#遷移效能:

平均每秒事務數(TPS) (#峰值)#每秒SQL

# # 

機數

#執行緒數

IOPS

#活躍連接數

CPU

#CPU

數(QPS) (峰值)

測試1

4

10

#30

#20

10%

3300

4500

測試2

#4

15

40

45

18%

6000

##7500

#測試3

#測試3

##4

25

112
######60###################27%################ ##8000###################11000##################

 

注意:資料庫IOPS效能消耗較低,因為資料庫本身含有快取緩寫邏輯。

因此,不同IOPS效能的資料庫最終遷移時長差異不大。

 

FAQ

  • 關於此文件暫時還沒有FAQ