Назад | Перейти на главную страницу

Все ли ядра будут использоваться на i7 при запуске SQL Server 2008 R2 Standard

У меня есть сервер с процессором Intel Core i7 (4 ядра). Если я просматриваю активность процессора в диспетчере задач, я вижу, что есть 8 ядер. Я считаю, что это из-за гиперпоточности (поправьте меня, если я ошибаюсь).

SQL Server 2008 R2 Standard будет использовать максимум 4 процессора по сравнению с SQL Server Enterprise, который использует максимум 8 процессоров.

Мой вопрос: будет ли стандартная версия SQL Server полностью использовать все доступные процессоры на этом сервере? т.е. увидит 4 или 8 ЦП?

Ограничение в SQL Server 2008 Standard для процессоров - на сокет, а не на ядро. Для получения дополнительной информации ознакомьтесь с Страница SQL Server 2008 на Microsoft.com. В частности, "Обзор выпусков SQL Server 2008 R2"PDF-документ. Из документа:

С увеличением количества инноваций в оборудовании Microsoft продолжает оставаться единственным крупным поставщиком баз данных, который не устанавливает цену за ядро ​​для многоядерных процессоров.

Да, SQL Server 2008 Standard будет использовать все 8 ядер. Он мог бы использовать сотню ядер по однопроцессорной лицензии, если бы такой ЦП существовал.

Это не имеет значения. Если нагрузка ложится только на четыре ядра, планировщик достаточно умен, чтобы убедиться, что нагрузка приходится на одно логическое ядро ​​для каждого физического ядра. А гиперпоточность обычно дает в лучшем случае дополнительные 15% производительности. Загрузка виртуального ядра лишает другое виртуальное ядро, которое разделяет это физическое ядро, таких ресурсов, как исполнительные блоки, пропускная способность ввода-вывода, пространство кэша L2 и так далее. Таким образом, они не работают на полной скорости.

Таким образом, даже в худшем случае, который только можно себе представить, это будет означать, что около 15% вашего процессора не может использоваться самим SQL-сервером. Но когда SQL-сервер что-то делает, операционная система будет обрабатывать сетевые и дисковые прерывания, управлять памятью и т. Д. В любом реалистичном случае это будет около 20% загрузки ЦП, и это может использовать другие виртуальные ядра. Таким образом, вы по сути ничего не боретесь.