Рекомендуемые обновления и параметры конфигурации для SQL Server с рабочими нагрузками с высокой производительностью
В этой статье приведен список улучшений производительности и параметров конфигурации, доступных для SQL Server 2012 и более поздних версий.
Исходная версия продукта: SQL Server 2014, SQL Server 2012
Исходный номер базы знаний: 2964518
Применение рекомендуемых обновлений и повышение производительности SQL Server 2014 и SQL Server 2012
В этой статье описываются улучшения производительности и изменения, доступные для версий SQL Server 2014 и SQL Server 2012 с помощью различных обновлений продуктов и параметров конфигурации. Чтобы повысить производительность экземпляра SQL Server, можно применить эти обновления. Степень улучшения, которую вы видите, зависит от различных факторов, которые включают шаблон рабочей нагрузки, точки состязания, макет процессора (количество групп процессора, сокетов, узлов NUMA, ядер в узле NUMA) и объем памяти, присутствующих в системе. Группа поддержки SQL Server использовала эти обновления и изменения конфигурации для достижения разумной производительности для рабочих нагрузок клиентов, использующих аппаратные системы с несколькими узлами NUMA и большим количеством процессоров. Группа поддержки продолжит обновлять эту статью с другими обновлениями в будущем.
Высокоуровневая система, как правило, имеет несколько сокетов, восемь ядер или больше на сокет, а также половину терабайта или больше памяти.
Примечание.
В SQL Server 2016 и более поздних версиях многие флаги трассировки, упомянутые в этой статье, являются поведением по умолчанию и не должны включать их в этих версиях.
Рекомендации группируются в три таблицы следующим образом:
- Таблица 1 содержит наиболее часто рекомендуемые обновления и флаги трассировки для масштабируемости в высокоуровневых системах.
- Таблица 2 содержит рекомендации и рекомендации по дополнительной настройке производительности.
- Таблица 3 содержит дополнительные исправления масштабируемости, которые были включены вместе с накопительным обновлением.
Таблица 1. Важные обновления и флаги трассировки для высокоуровневых систем
Просмотрите следующую таблицу и включите флаги трассировки в столбце флага трассировки после того, как экземпляр SQL Server соответствует требованиям в столбце "Применимой версии" и диапазонов сборок .
Примечание.
Применимые версии и сборка указывают на конкретное обновление, в котором был введен флаг изменения или трассировки. Если не указан накопительный пакет обновления, все элементы cu в пакете обновления включены.
Неприменимая версия и сборка указывают на конкретное обновление, в котором флаг изменения или трассировки стал поведением по умолчанию. Таким образом, просто применение этого обновления будет достаточно, чтобы получить преимущества.
Внимание
При включении исправлений с флагами трассировки в средах AlwaysOn следует учитывать, что необходимо включить флаги исправления и трассировки на всех репликах, входящих в группу доступности.
Сценарий и симптом для рассмотрения | Флаг трассировки | Применимые диапазоны версий и сборок | Не применимые диапазоны версий и сборок | Статья базы знаний и ссылка блога, которая содержит дополнительные сведения |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | SQL Server 2014 с пакетом обновления 2 (SP2) до текущего пакета обновления (SP/CU) |
|
|
|
T9024 | Накопительный пакет обновления 3 для SQL Server 2012 с пакетом обновления 1 (SP2) до SQL Server 2014 RTM |
|
ИСПРАВЛЕНИЕ. Значение счетчика "Ожидание записи журналов" в экземпляре SQL Server 2012 или SQL Server 2014 |
Экземпляр SQL Server обрабатывает тысячи сбросов подключений из-за пула подключений. | T1236 | Накопительный пакет обновления 9 для SQL Server 2012 с пакетом обновления 1 (SP2) с накопительным пакетом обновления 1 для SQL Server 2014 |
|
|
|
T1118 |
|
|
Улучшения параллелизма для базы данных tempdb ПРИМЕЧАНИЕ. Включите флаг трассировки и добавьте несколько файлов данных для базы данных tempdb. |
|
T1117 |
|
|
Рекомендации по сокращению состязания выделения ресурсов в базе данных tempdb SQL Server. |
Тяжелые SOS_CACHESTORE планы или планы часто вытеснили на нерегламентированные рабочие нагрузки запросов. |
T174 |
|
нет | |
|
T8032 |
|
нет | |
Существующая статистика не часто обновляется из-за большого количества строк в таблице. | T2371 |
|
нет | |
|
T7471 | SQL Server 2014 с пакетом обновления 1 (SP1) до текущего пакета обновления (SP/CU) | нет | Повышение производительности статистики обновлений с помощью SQL 2014 и SQL 2016 |
Команда CHECKDB занимает много времени для больших баз данных. |
|
|
нет | |
Команда CHECKDB занимает много времени для больших баз данных. | T2566 |
|
нет |
|
Выполнение параллельных запросов к хранилищу данных, которые занимают длительное время компиляции, приводит к RESOURCE_SEMAPHORE_QUERY_COMPILE ожиданиям. |
T6498 | Накопительный пакет обновления 6 для SQL Server 2014 с пакетом обновления 1 (SP1) |
|
|
Исправления оптимизатора производительности запросов по умолчанию отключены. | T4199 |
|
нет | |
Вы испытываете низкую производительность с помощью операций запросов с пространственными типами данных. |
|
|
|
|
|
T8075 |
|
|
ИСПРАВЛЕНИЕ. Ошибка нехватки памяти, если виртуальное адресное пространство процесса SQL Server низко в SQL Server |
|
T3449 |
|
|
ИСПРАВЛЕНИЕ. Создание базы данных SQL Server в системе с большим объемом памяти занимает больше времени, чем ожидалось |
Таблица 2. Общие рекомендации и рекомендации по повышению производительности экземпляра SQL Server
Просмотрите содержимое статьи базы знаний/столбец "Электронная книга по ресурсам" и рассмотрите возможность реализации рекомендаций в столбце "Рекомендуемые действия".
Статья базы знаний/ ресурс Электронной документации | Рекомендованные действия |
---|---|
Настройка параметра конфигурации сервера max degree of parallelism | Используйте хранимую процедуру sp_configure, чтобы внести изменения в конфигурацию, чтобы настроить параметр конфигурации сервера максимальной степени параллелизма для экземпляра SQL Server в соответствии со статьей базы знаний. |
Ограничения вычислительной емкости по выпуску SQL Server | выпуск Enterprise с лицензированием server + Client Access License (CAL) ограничено 20 ядрами на экземпляр SQL Server. В модели лицензирования по числу ядер никаких ограничений нет. Попробуйте обновить выпуск SQL Server до соответствующего номера SKU, чтобы использовать все аппаратные ресурсы. |
Низкая производительность в Windows Server при использовании плана питания Balanced | Просмотрите статью и обратитесь к администратору Windows, чтобы реализовать одно из решений, отмеченных в разделе "Решение" статьи. |
Вручную назначьте узлы NUMA группам K-групп. | |
Оптимизация для нерегламентированных рабочих нагрузок FORCED PARAMETERIZATION | Записи в кэше планов вытеснили из-за роста других кэшей или клерков памяти. Вы также можете столкнуться с вытеснениями кэша планов, когда кэш достигает максимального количества записей. Помимо флага трассировки 8032, описанного выше, рассмотрите возможность оптимизации для сервера нерегламентированных рабочих нагрузок, а также параметр базы данных FORCED PARAMETERIZATION . |
Сокращение разбиения памяти буферного пула в конфигурации памяти SQL Server и рекомендации по размеру в SQL Server 2012 и более поздних версиях | Назначьте пользователю Enable the Lock Pages in Memory Option (Windows) право на запуск службы SQL. Узнайте , как включить функцию "заблокированные страницы" в SQL Server 2012. Установите максимальный объем памяти сервера примерно на 90 процентов от общего объема физической памяти. Убедитесь, что параметры конфигурации памяти сервера используют учетные записи конфигурации памяти только для узлов, настроенных для использования параметров маски сходства. |
Сведения о SQL Server и больших страницах... Параметры настройки SQL Server при выполнении в рабочих нагрузках с высокой производительностью | Рассмотрите возможность включения TF 834, если у вас есть сервер с большим объемом памяти, особенно с аналитической или хранилищем данных рабочей нагрузки. Помните, что TF 834 не рекомендуется использовать индексы columnstore. |
Описание параметров "количество контейнеров кэша проверки доступа" и "квота проверки доступа к кэшу", доступные в хранимой процедуре sp_configure | Используйте параметры конфигурации сервера проверки доступа для проверки доступа, чтобы настроить эти значения в соответствии с рекомендациями в статье базы знаний. Рекомендуемые значения для высокоуровневых систем приведены следующим образом: "Количество контейнеров кэша проверки доступа": 256 "Квота кэша проверки доступа": 1024 |
Указания запроса на предоставление памяти ALTER WORKLOAD GROUP | Если у вас много запросов, которые исчерпают большие объемы памяти, уменьшите request_max_memory_grant_percent группу рабочих нагрузок по умолчанию в конфигурации регулятора ресурсов с 25 процентов по умолчанию до меньшего значения. Доступны новые параметры предоставления памяти запроса (min_grant_percent и max_grant_percent ) в SQL Server |
Мгновенное инициализация файлов | Обратитесь к администратору Windows, чтобы предоставить учетной записи службы SQL Server право пользователя "Выполнение задач по обслуживанию томов", как указано в разделе электронной документации. |
Рекомендации по настройке autogrow и autoshrink в SQL Server | Проверьте текущие параметры базы данных и убедитесь, что они настроены в соответствии с рекомендациями в статье базы знаний. |
Контрольные точки базы данных (SQL Server) | Рассмотрите возможность включения косвенных контрольных точек в пользовательских базах данных для оптимизации поведения ввода-вывода в SQL Server 2012 и 2014. |
ИСПРАВЛЕНИЕ. Медленная синхронизация при наличии разных размеров сектора для файлов журнала первичной и вторичной реплики в средах SQL Server AG и Logshipping | Если у вас есть группа доступности, в которой журнал транзакций на первичной реплике находится на диске с размером 512-байтового сектора, а журнал транзакций вторичной реплики находится на диске с размером сектора 4K, может возникнуть проблема, при которой синхронизация замедляется. В этих случаях включение TF 1800 должно исправить проблему. Дополнительные сведения см. в разделе "Флаг трассировки 1800". |
Если sql Server еще не привязан к ЦП, а 1,5% до 2% не является незначительным для рабочих нагрузок, рекомендуется включить TF 7412 в качестве флага трассировки запуска. Этот флаг обеспечивает упрощенное профилирование в SQL Server 2014 с пакетом обновления 2 (SP2) или более поздней версии, что дает возможность выполнять устранение неполадок с динамическими запросами в рабочих средах. |
Таблица 3. Исправления производительности, включенные в накопительное обновление
Просмотрите описание в столбце "Симптомы" и примените необходимые обновления в столбце обязательных обновлений в применимых средах. Дополнительные сведения о соответствующих проблемах см. в статье базы знаний. Эти рекомендации не требуют включения дополнительных флагов трассировки в качестве параметров запуска. Просто применение последнего накопительного обновления или пакета обновления, включающего эти исправления, достаточно, чтобы получить преимущество.
Примечание.
Имя накопительного пакета обновления в столбце обязательных обновлений предоставляет первое накопительное обновление SQL Server, которое устраняет эту проблему. Накопительное обновление содержит все исправления и все обновления, которые были включены в предыдущий выпуск обновления SQL Server. Поэтому рекомендуется установить последнее накопительное обновление , чтобы устранить проблемы.
Важные примечания
Если к вам применяются все условия в таблице 1:
- Руководство по SQL Server 2014. Применение по крайней мере накопительного обновления 1 для SQL Server 2014 для RTM и добавление "-T8048 -T9024 -T1236 -T1117 -T1118" к списку параметров запуска SQL Server.
- Руководство по SQL Server 2012: примените пакет обновления 2 (SP2 ) и добавьте "-T8048 -T9024 -T1236 -T1117 -T1118" в список параметров запуска SQL Server.
Общие сведения об использовании флагов трассировки см . в разделе базы данных DBCC TRACEON — флаги трассировки (Transact-SQL) в электронной документации ПО SQL Server.
Дополнительные сведения о количестве процессоров, конфигурации NUMA и т. д. см. в журнале ошибок SQL Server в SQL Server Management Studio (SSMS).
Чтобы найти версию SQL Server, проверьте следующее:
Как определить версию, выпуск и уровень обновления системы SQL Server и ее компонентов
Ссылки
Ресурсы сообщества SQL Server на важных обновлениях для SQL Server
Применяется к
- SQL Server 2014 Enterprise
- SQL Server 2014 Enterprise Core
- SQL Server 2014 Business Intelligence
- Разработчик SQL Server 2014
- SQL Server 2014 Standard
- Веб-сайт SQL Server 2014
- SQL Server 2014 Express
- Бизнес-аналитика SQL Server 2012
- Разработчик SQL Server 2012
- SQL Server 2012 Enterprise
- SQL Server 2012 Standard.
- Веб-сайт SQL Server 2012
- SQL Server 2012 Enterprise Core