当您知道您可以使用的内核数量时,我以前有为本地 OLTP 和 OLAP 服务器设置 MAXDOP 设置的经验。例如,如果我知道我有 16 个可供我使用,我会为我的 OLTP 系统将我的 MAXDOP 设置为 2 或 4。
我刚加入一个项目,注意到核心生产数据库设置为 1 的 MAXDOP,禁止任何并行操作。
它是一个专用服务器(因此没有弹性池)Premium P11 服务器,因此 DTU 抽象了 CPU 的确切数量和内存容量。无法判断您正在处理多少个内核,是否有合理的起始配置?发现将本地最佳实践移植到 Azure SQL 有点棘手。
测试服务器是具有共享弹性池的不同配置,因此也没有简单的方法来测试特定的执行计划(尤其是所有内容都是通过实体框架 ORM 编写的)