2.Database Experimentation Assistant(DEA)
次に、DEAというツールをご紹介します。DEAはアップグレードによりパフォーマンスに差異があるかどうかを分析することができるツールです。
DEAの機能としては、Capture,Replay,Analysisの3つがあります。
- Capture:ワークロードをキャプチャする機能
- Replay:キャプチャしたワークロードを別環境で再現する機能
- Analysis:ワークロードの結果を分析してレポートする機能
実際のアップグレードでは、以下のような使い方が考えられます。
- 本番環境でワークロードをキャプチャ
- 1のワークロードをステージング環境と移行先環境で再現
- ステージング環境と移行先環境で何が遅延したか確認
DEAインストール
DEAのシステム要件やダウンロードサイトはこちらをご確認ください。
対応OSがWindows Server 2012以降なので、DMA同様Windows Server 2008では動作しないのでご注意ください。
DEAの使用
DEAを使ってみましょう。
今回、移行を想定した以下のような検証環境を作成しています。また、DEAのバージョンは2.6を使用しています。
0.起動
DEAを起動すると、以下のような初期画面が表示されます。
1.Capture
ワークロードをキャプチャする機能を実行します。キャプチャは移行元の本番環境から取得することを想定しています。
- Capture name:任意の名前
- Format:SQLトレース/Xeventsを選択 ―Xeventは動作せず。恐らく、SQL Server 2008には対応していないと思われる
- Duration:キャプチャする間隔(分)
- Capture Location:キャプチャしたトレースファイルの出力先―キャプチャするSQL Server側に出力されます
- Server Type:SQL Server/AzureSqlDb/AzureSqlManagedInstanceを選択
- Server name:サーバー名かIPアドレスを指定
- Authentication Type:Windows認証/SQL認証を選択
- Database name:キャプチャするデータベース(任意)。
上記を指定後、Startを押下すれば、キャプチャがスタートします。
Capture DetailsのPROGRESSが設定したDurationからカウントダウンされ、0になったらキャプチャ終了です。
終了後、Capture LocationのフォルダにMinimum_[Capture Name]x.trcというトレースファイルが出力されています。このトレースファイルが取得したワークロードになります。
2.Replay
次に、1でキャプチャしたワークロードを別環境で実行します。
トレースファイルをDEAがインストールされている環境に移動します。
DEAで取得したワークロードを別の環境で実行します。
- Replay name:任意の名前
- Source Trace Format:SQL Trace/Xeventsを選択―キャプチャ時に指定したトレースフォーマットを指定
- Source Trace Location:local/Blob。キャプチャしたファイルの保存先
- Full path to source file:キャプチャしたファイルのパス
- Replay Tool:Dreplay/Inbuiltを選択―Trace FormatがSQL Traceの場合、Dreplayを選択
- Controller machine name:リプレイコントローラーがあるホスト名
- Replay Trace Location:リプレイ時のトレースファイルの保存先
- Server Type:SQL Server/AzureSqlDb/AzureSqlManagedInstanceを選択
- Server name:サーバー名かIPアドレスを指定
- Authentication Type:Windows認証/SQL認証を選択。―Dreplayの場合Windows認証にする必要があります
- Database name:キャプチャするデータベース。未指定の場合全データベースが対象
Startを実行すると、対象環境に対してキャプチャしたワークロードが実行されます。実行後、対象サーバー上にリプレイ時のトレースファイルが作成されます。