オンプレミスのMAXDOP設定を設定した経験がありますOLTP&OLAP自由に使用できるコアの数がわかっている場合、たとえば、 16自由に使用できるOLTPシステムの場合、MAXDOPを2または4に設定します。
プロジェクトに参加したところ、コアプロダクションデータベースがMAXDOPの1に設定されており、並列処理が禁止されていることに気付きました。
これは専用サーバー(エラスティックプールがない)プレミアムP11サーバーであるため、DTUは正確な量のCPUとメモリ機能を抽象化します。処理しているコアの数がわからない場合、適切な開始設定はありますか?最高のベストプラクティスをAzure SQLに移植するのは少し難しいことです。
テストサーバーは共有エラスティックプールを持つ別の構成であるため、特定の実行プランをテストする簡単な方法もありません(特に、すべてがエンティティフレームワークORMを介して書き込まれるため)。
DTUは CPU、メモリ、データI/OとトランザクションログI/Oの混合指標 です。これは、x DTU = x CPU、Xメモリなどを同等に評価する明確な基準がないことを意味します。
それ以来、Premium P11レベルがあります-これは、1750 DTUがあることを意味します。 このブログ投稿 に基づく-Andy Mallonによる、CPUからDTUへのサービス層のマッピング:
+--------------+------+---------------+ | Number Cores | DTUs | Service Tier | +--------------+------+---------------+ | 1 | 100 | Standard – S3 | | 2-4 | 500 | Premium – P4 | | 5-8 | 1000 | Premium – P6 | | 9-13 | 1750 | Premium – P11 | | 14-16 | 4000 | Premium – P15 | +--------------+------+---------------+
Query Performance Insight for Azure SQL Database を使用して、dbワークロード設定を確認および調整する必要があります。デフォルトではないDBスコープ構成(0がデフォルト)に設定されているため、1に設定し、すべてのコアを利用できるように確認し、場合によっては変更する必要があります。