流量回放和壓測
面對即將到來的短期業(yè)務(wù)高峰或數(shù)據(jù)庫結(jié)構(gòu)變更(尤其是索引變更)時,您可以通過流量回放與壓測功能,確認(rèn)數(shù)據(jù)庫實(shí)例規(guī)格是否需要擴(kuò)容,并驗證在真實(shí)業(yè)務(wù)場景下的實(shí)際效果,降低上線后引發(fā)故障的風(fēng)險。此外,在數(shù)據(jù)庫發(fā)生故障且無法定位原因時,可以利用克隆庫復(fù)現(xiàn)故障場景,以便更好地定位故障原因。
前提條件
源數(shù)據(jù)庫支持:
RDS MySQL
PolarDB MySQL版
說明不支持PolarDB MySQL版的企業(yè)版單節(jié)點(diǎn)實(shí)例。
PolarDB-X 2.0。
目標(biāo)數(shù)據(jù)庫實(shí)例為:
RDS MySQL。
PolarDB MySQL版。
PolarDB-X 2.0。
源數(shù)據(jù)庫實(shí)例與目標(biāo)數(shù)據(jù)庫實(shí)例均已接入DAS,詳情請參見接入阿里云數(shù)據(jù)庫實(shí)例。
源數(shù)據(jù)庫實(shí)例需開啟DAS企業(yè)版,詳情請參見管理DAS經(jīng)濟(jì)版和企業(yè)版。
說明如果您想分析壓測前后,源數(shù)據(jù)庫實(shí)例與目標(biāo)數(shù)據(jù)庫實(shí)例上SQL模板的執(zhí)行性能差異,目標(biāo)數(shù)據(jù)庫實(shí)例也需要開啟DAS企業(yè)版。SQL模板的執(zhí)行性能差異可用來應(yīng)對數(shù)據(jù)庫引擎升級、規(guī)格切換等業(yè)務(wù)場景。
不支持政務(wù)云和金融云下的數(shù)據(jù)庫實(shí)例。
PolarDB-X 2.0目前僅支持華東1(杭州)、華東2(上海)、華北2(北京)、華南1(深圳)和新加坡地域。
適用場景
為應(yīng)對即將到來的短期業(yè)務(wù)高峰,驗證當(dāng)前數(shù)據(jù)庫實(shí)例規(guī)格是否需要擴(kuò)容。
數(shù)據(jù)庫結(jié)構(gòu)變更后(尤其是索引變更后),驗證在真實(shí)業(yè)務(wù)場景下的效果,降低變更上線后引發(fā)故障的風(fēng)險。
數(shù)據(jù)庫發(fā)生故障后,無法在發(fā)生故障時定位到原因,可以通過智能壓測功能,在克隆庫上復(fù)現(xiàn)故障場景,定位故障原因。
注意事項
為減少網(wǎng)絡(luò)延遲對壓測的影響,壓測客戶端和目標(biāo)實(shí)例需要在同一個地域。
說明建議將壓測客戶端和目標(biāo)實(shí)例放入同一個專有網(wǎng)絡(luò)。
壓測對源實(shí)例沒有影響,無需在業(yè)務(wù)低峰期操作。關(guān)于壓測部署的詳細(xì)信息,請參見壓測客戶端部署。
進(jìn)行壓測前,檢查壓測客戶端與目標(biāo)實(shí)例間的連通性,確保壓測客戶端的流量可以正常發(fā)送到目標(biāo)實(shí)例。
費(fèi)用說明
DAS企業(yè)版購買費(fèi)用請參見計費(fèi)概覽。
壓測任務(wù)創(chuàng)建后,計費(fèi)項如下:
若您選擇通過備份恢復(fù)方式進(jìn)行數(shù)據(jù)遷移,系統(tǒng)將根據(jù)您選擇的目標(biāo)數(shù)據(jù)庫類型自動創(chuàng)建一個按量付費(fèi)的數(shù)據(jù)庫實(shí)例,費(fèi)用詳情請參見對應(yīng)數(shù)據(jù)庫的費(fèi)用說明。
若您在高級設(shè)置中選擇DAS自動購買和部署,系統(tǒng)將根據(jù)源庫QPS和壓測倍率購買合適規(guī)格的按量付費(fèi)ECS實(shí)例,費(fèi)用詳情請參見ECS計費(fèi)概覽。
說明由于系統(tǒng)購買了按量付費(fèi)實(shí)例,建議您在壓測任務(wù)結(jié)束后手工刪除,避免多收取費(fèi)用。
操作步驟
登錄DAS控制臺。
在左側(cè)導(dǎo)航欄中,單擊實(shí)例監(jiān)控。
找到目標(biāo)實(shí)例,單擊實(shí)例ID,進(jìn)入目標(biāo)實(shí)例詳情頁。
在左側(cè)導(dǎo)航欄單擊請求分析 > SQL洞察和審計,然后在右側(cè)打開的頁面單擊流量回放和壓測。
在右側(cè)單擊新建任務(wù)。在新建任務(wù)對話框中,設(shè)置以下參數(shù)。
選擇任務(wù)類型為回放流量壓測,并輸入任務(wù)名稱。
說明請確認(rèn)該回放流量時間段內(nèi),源庫的SQL洞察和審計已開啟。
在源端信息區(qū)域框中,設(shè)置以下參數(shù)后單擊下一步。
配置
說明
實(shí)例來源
選擇阿里云數(shù)據(jù)庫為目標(biāo)實(shí)例的來源。
數(shù)據(jù)庫類型
您的數(shù)據(jù)庫實(shí)例類型,您可在如下三種中選擇其中一種:
MySQL:表示RDS MySQL實(shí)例。
PolarDB for MySQL:表示PolarDB MySQL版實(shí)例。
PolarDB-X:表示PolarDB-X 2.0實(shí)例。
說明PolarDB-X 2.0目前僅支持華東1(杭州)、華東2(上海)、華北2(北京)、華南1(深圳)和新加坡地域。
源實(shí)例
選擇源實(shí)例的實(shí)例ID。
高級設(shè)置
如果您需要對源實(shí)例的部分?jǐn)?shù)據(jù)庫進(jìn)行智能壓測,請單擊高級設(shè)置,配置目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)庫賬號和密碼,獲取數(shù)據(jù)庫信息后,選擇目標(biāo)數(shù)據(jù)庫進(jìn)行智能壓測。
在目標(biāo)端表結(jié)構(gòu)和數(shù)據(jù)生成方式區(qū)域框中,設(shè)置以下參數(shù)。
配置
說明
數(shù)據(jù)庫類型
目標(biāo)數(shù)據(jù)庫實(shí)例的類型,目前支持:
MySQL:表示RDS MySQL實(shí)例。
PolarDB for MySQL:表示PolarDB MySQL版實(shí)例。
PolarDB-X:表示PolarDB-X 2.0實(shí)例。
說明PolarDB-X 2.0目前僅支持華東1(杭州)、華東2(上海)、華北2(北京)、華南1(深圳)和新加坡地域。
基準(zhǔn)數(shù)據(jù)遷移
您可根據(jù)源實(shí)例基準(zhǔn)數(shù)據(jù)是否已遷移至目標(biāo)實(shí)例,選擇以下四種遷移方式:
通過備份恢復(fù):目標(biāo)實(shí)例基于時間點(diǎn)或者備份集克隆源實(shí)例。
說明DAS會自動購買和源實(shí)例規(guī)格一致的按量付費(fèi)實(shí)例,并將備份恢復(fù)到該實(shí)例。
已完成數(shù)據(jù)遷移:已經(jīng)將需要進(jìn)行流量回放的時間段內(nèi)源實(shí)例的表結(jié)構(gòu)和數(shù)據(jù)同步至目標(biāo)實(shí)例。
說明目標(biāo)實(shí)例的表結(jié)構(gòu)和數(shù)據(jù),應(yīng)與源實(shí)例保持一致,以保證壓測流量正常執(zhí)行。
輸入DTS任務(wù)ID:已在DTS控制臺創(chuàng)建數(shù)據(jù)遷移傳輸任務(wù),將源實(shí)例的數(shù)據(jù)同步到目標(biāo)實(shí)例。
說明關(guān)于DTS數(shù)據(jù)遷移,詳情請參見數(shù)據(jù)遷移。
創(chuàng)建DTS遷移任務(wù):直接創(chuàng)建數(shù)據(jù)遷移傳輸任務(wù),無需到DTS控制臺操作。
說明各鏈路規(guī)格對應(yīng)了遷移鏈路不同的性能表現(xiàn),關(guān)于如何選擇鏈路規(guī)格,詳情請參見遷移鏈路規(guī)格說明。
說明當(dāng)源實(shí)例為阿里云數(shù)據(jù)庫時,您可以選擇以上四種方式中的其中一種,由于壓測任務(wù)創(chuàng)建后,系統(tǒng)會自動購買和源庫規(guī)格一致的按量付費(fèi)實(shí)例,并將數(shù)據(jù)恢復(fù)到該實(shí)例,建議您選擇通過備份恢復(fù)。
當(dāng)源實(shí)例為自建數(shù)據(jù)庫時,僅可選擇已完成數(shù)據(jù)遷移、輸入DTS任務(wù)ID和創(chuàng)建DTS遷移任務(wù)中的一種。
還原方式
選擇還原方式,您可以根據(jù)需要選擇如下一種方式:
按時間點(diǎn)
按備份集
說明當(dāng)基準(zhǔn)數(shù)據(jù)遷移為通過備份恢復(fù)時,需要配置此參數(shù)。
若選擇還原方式為按備份集,需要對DAS服務(wù)關(guān)聯(lián)角色進(jìn)行授權(quán),在跳出的對話框中,單擊確定即可。
選擇還原時間/備份集
根據(jù)還原方式選擇還原的具體時間或備份集。
說明當(dāng)基準(zhǔn)數(shù)據(jù)遷移為通過備份恢復(fù)時,需要配置此參數(shù)。
遷移任務(wù)ID
源實(shí)例數(shù)據(jù)同步到目標(biāo)實(shí)例的DTS數(shù)據(jù)遷移傳輸任務(wù)ID。
說明當(dāng)基準(zhǔn)數(shù)據(jù)遷移為輸入DTS任務(wù)ID時,需要配置此參數(shù)。
DTS遷移任務(wù)規(guī)格
選擇DTS遷移任務(wù)規(guī)格。
說明當(dāng)基準(zhǔn)數(shù)據(jù)遷移為創(chuàng)建DTS遷移任務(wù),需要配置此參數(shù)。
各鏈路規(guī)格對應(yīng)了遷移鏈路不同的性能表現(xiàn),關(guān)于如何選擇鏈路規(guī)格,詳情請參見遷移鏈路規(guī)格說明。
目標(biāo)實(shí)例
選擇目標(biāo)實(shí)例,系統(tǒng)默認(rèn)訪問目標(biāo)實(shí)例的主地址。
說明當(dāng)基準(zhǔn)數(shù)據(jù)遷移為已完成數(shù)據(jù)遷移、輸入DTS任務(wù)ID和創(chuàng)建DTS遷移任務(wù)時,需要配置此參數(shù)。
目標(biāo)端高權(quán)限賬號
目標(biāo)實(shí)例的高權(quán)限賬號名稱和密碼。
說明當(dāng)基準(zhǔn)數(shù)據(jù)遷移為已完成數(shù)據(jù)遷移、輸入DTS任務(wù)ID和創(chuàng)建DTS遷移任務(wù)時,需要配置此參數(shù)。
源端高權(quán)限賬號
源端實(shí)例的高權(quán)限賬號名稱和密碼。
說明當(dāng)基準(zhǔn)數(shù)據(jù)遷移為通過備份恢復(fù)和創(chuàng)建DTS遷移任務(wù)時,需要配置此參數(shù)。
在壓測基礎(chǔ)設(shè)置區(qū)域框中,設(shè)置以下參數(shù)。
配置
說明
選擇回放流量
選擇回放流量的時間段。
說明該時間段內(nèi),源實(shí)例已開啟SQL洞察和審計功能。
回放速度
源實(shí)例流量在目標(biāo)實(shí)例上的回放速度,如1倍速表示原速回放。 回放倍數(shù)必須是正整數(shù),取值:1~30。
說明如果您設(shè)置的回放速度超過目標(biāo)實(shí)例規(guī)格支持的極限速度,壓測任務(wù)將按照目標(biāo)實(shí)例支持的極限速度進(jìn)行回放。
在高級設(shè)置區(qū)域框中,選擇部署壓測程序的ECS。
您可以選擇DAS自動購買和部署,系統(tǒng)將根據(jù)源庫QPS和壓測倍率購買合適規(guī)格的按量付費(fèi)ECS實(shí)例。
您也可以通過新增按鈕,選擇需要部署壓測程序的ECS實(shí)例,生成部署命令并復(fù)制到該實(shí)例上運(yùn)行。并且您還需要執(zhí)行
sudo yum install -y java-1.8.0-openjdk
命令在新增的ECS實(shí)例上部署Java客戶端,客戶端版本建議為Java8。
單擊下一步,校驗成功后單擊確定創(chuàng)建壓測任務(wù)。
查看智能壓測結(jié)果
壓測任務(wù)創(chuàng)建后,您可以返回任務(wù)列表頁查看壓測任務(wù)的詳情。
您可在右側(cè)的操作欄進(jìn)行如下操作:
單擊詳情進(jìn)入智能壓測詳情頁,查看壓測任務(wù)的執(zhí)行情況和壓測報告,具體說明如下表所示。
參數(shù)
說明
概覽
源實(shí)例與目標(biāo)實(shí)例在壓測任務(wù)前后的基本信息對比。
性能趨勢對比
壓測任務(wù)前后,在不同性能指標(biāo)上源實(shí)例與目標(biāo)實(shí)例的差異對比。
SQL對比
若目標(biāo)實(shí)例在壓測前已開啟自治功能,可分析壓測前后,源實(shí)例與目標(biāo)實(shí)例上SQL模板的執(zhí)行性能差異對比。
說明SQL對比可用來應(yīng)對數(shù)據(jù)庫引擎升級、規(guī)格切換等業(yè)務(wù)場景。
參數(shù)對比
源實(shí)例與目標(biāo)實(shí)例在重要參數(shù)上的差異對比。
若您想提前終止目標(biāo)壓測任務(wù),請單擊終止。
單擊刪除即可刪除您創(chuàng)建的壓測任務(wù)。
后續(xù)步驟
當(dāng)壓測任務(wù)結(jié)束之后,在智能壓測詳情頁,確認(rèn)無需再次壓測時,您可釋放對應(yīng)的壓測ECS機(jī)器和實(shí)例。
如果手動開啟了源數(shù)據(jù)庫的SQL洞察和審計,壓測結(jié)束后,請關(guān)閉該功能,詳細(xì)參照請參見關(guān)閉SQL洞察和審計。
如果面對即將到來的短期業(yè)務(wù)高峰,需要擴(kuò)容數(shù)據(jù)庫實(shí)例,您可以根據(jù)實(shí)例類型開啟自動性能擴(kuò)展或者定時自動彈性伸縮。
相關(guān)API
API | 描述 |
創(chuàng)建壓測任務(wù)。 | |
執(zhí)行壓測任務(wù)。 | |
停止壓測任務(wù)。 | |
在ADAM上創(chuàng)建壓測任務(wù)。 | |
刪除壓測任務(wù)。 | |
刪除已停止的DBGateway元數(shù)據(jù)。 | |
查詢壓測任務(wù)配置信息。 | |
查詢壓測任務(wù)。 | |
查詢壓測任務(wù)列表。 |