オンプレミス上でSQL Serverを稼働させていてこれをAzureへ移行するときにVM上でSQL Serverを検討すると思う。
そのときの稼働設定で注意する点を、調査してのでまとめておく。
セットアップ時の検討項目
Azure における SQL Server のパフォーマンスに関するベスト プラクティス | Microsoft Docs
2017-12-08現在参考価格:
-
西日本 DS12 v2 4コア メモリ28GB 一時ディスク56GB
SQL Server Standard ¥76,157/月 -
西日本 DS3 v2 4コア メモリ14GB 一時ディスク28GB
SQL Server Enterprise ¥155,599/月
SQL Server Standard ¥73,469/月
SQL Server Web ¥45,993/月 -
Premium ディスク
- P20 ¥8,588/月 500GB 2,300IOPS 150MB/秒
- P30 ¥15,854/月 1TB 5,000IOPS 200MB/秒
関連リンク
必見動画SQL Server on Azure 仮想マシン (IaaS) の可用性とパフォーマンス | de:code 2015 | Channel 9
SQL Database (PaaS) とクラウドの VM 上の SQL Server (IaaS) | Microsoft Docs
Azure 仮想マシン上の SQL Server にデータを移動する | Microsoft Docs
移行後のチューニング
SQL Server 2016 環境構築時のパフォーマンスに関するベストプラクティス – Microsoft Japan Data Platform Tech Sales Team Blog
SQL Serverでのチューニング実績
- ディスクアロケーションユニットを64KBでフォーマットする
- TempDBをCPU数分確保する
- ログファイル、マスター、トランザクションは別ディスクにする
- 最大サーバーメモリは、OSの50%から70%にする。OSのサービス、ディスクキャッシュとしてかなり消費されるため。日々の稼働状況をみて設定値を探る
移行時の課題がよくまとまっているブログ
SQL Server を「Microsoft Azure」上に移行する際の課題と方法。そしてAzure上でのデータベースの可用性をさらに高めるLifeKeeper/DataKeeper
ここでのポイントは
- Azureのテンプレートからデプロイした場合には、OSとSQL Serverともに英語版のイメージしかない。→日本語化するには、日本マイクロソフトが日本語化を全自動で行うスクリプトを提供しているのでそれを使用する。(URLは未調査)
- 「ディスクの種類の選択」「ストレージの構成」「SQL Serverの基本設定」「SQL Server IaaS Agent 拡張機能」を検討する
- 「SQL Server」のバージョンは「2008 R2 SP3以降」で、「2012 SP3」、「2014 SP2」、「2016 SP1」のみ
移行後のチューニング
「Azure VM上のSQL Server パフォーマンス」でぐぐる
- 仮想マシンのサイズ
- ストレージ(地理的冗長を無効にするなど)
- ディスク(少なくともP30のディスクを2つ設定)
- ディスクキャッシュ(ログファイルのディスクではキャッシュを有効にしない)
- NTFSアロケーションサイズ(64KBでフォーマットする)
- ディスクストライピングサイズ(New-VirtualDisk のストライプサイズ(Interleave)は、OLTP:64KB / DWH:256KBの設定を推奨)
- 初期ファイルの割り当ての短縮(サービスアカウントに「ボリュームの保守タスクを実行」の権限を付与)
- ページングアクティビティ抑制(サービスアカウントに「メモリ内のページのロック」の権限を付与)