Почему SQL Server 2017 Web Edition ограничивает загрузку ЦП 25%?

Почему SQL Server 2017 Web Edition ограничивает загрузку ЦП 25%?

Я использую Microsoft SQL Server 2017 Web Edition в виртуализированной среде, размещенной на Amazon EC2. Согласно MicrosoftРедакции и поддерживаемые функции SQL Server 2017на странице «Максимальная вычислительная мощность, используемая одним экземпляром — SQL Server Database Engine» — «Ограничена меньшим из 4 сокетов или 16 ядер».

Согласно диспетчеру задач Windows в виртуальной среде у меня 4 виртуальных процессора. Но когда я запускаю длительный, обременительный SQL-запрос, загрузка ЦП достигает максимума в 25%.

Если ограничение для Web Edition меньше 4 сокетов или 16 ядер, разве мне не должно быть разрешено использовать 100% моих виртуальных процессоров? Или я неправильно понимаю, как Windows или SQL Server классифицируют виртуальные процессоры?

Спасибо

решение1

Согласно диспетчеру задач Windows в виртуальной среде у меня 4 виртуальных процессора. Но когда я запускаю длительный, обременительный SQL-запрос, загрузка ЦП достигает максимума в 25%.

Это означает, что даже если бы виртуальная машина отображалась как 1 ядро ​​на сокет (что было бы плохо), она все равно могла бы использовать все 4 на лицензию. Таким образом, запрос выполняет последовательный план, а не параллельный.

Тот факт, что это "долго выполняющийся запрос" и он занимает "25% CPU", означает, что запрос, вероятно, написан не очень хорошо или дизайн схемы не на должном уровне. В любом случае, запуск его через параллельный план (если это вообще возможно, учитывая запрос) только заставит сервер использовать процессор больше, чем обычно.

Лучше всего взглянуть на запрос, схему и вспомогательные объекты и настроить их.

Связанный контент