Перейти к основному содержанию

Программная оптимизация Windows 10 под MSSQL

SQL

Сегодня у меня задачка: оптимизировать ПК с ОС Windows 10 под установку Microsoft SQL Server.

Машина не серверная, планируется её использовать как систему, на которой будет храниться зеркальная копия БД для её быстрого ввода в строй в случае сбоя основного сервера. А почему бы и нет?

Система пустая, характеристики:

Не самый производительный вариант, но и особой нагрузки там не ожидается.

Сразу становится понятно, что RAM диск настраивать не буду, оперативной памяти недостаточно для этого, по сравнению с основным сервером, на котором 128 ГБ RAM. Так что tempdb останется на своём месте, а именно на SSD.

Приступим к остальным настройкам:

Настройка MSSQL для работы с 1С — мифы и реальность

Форматирование с размером блока 64 КБ

Рекомендуют форматировать файловую систему для БД с размером блока 64 Кб.

Стандартный размер кластера (лучше использовать это название) в файловой системе NTFS:

  • ёмкость до 16 Тб — 4 килобайта
  • ёмкость от 16 до 32 Тб — 8 килобайт
  • ёмкость от 32 до 64 Тб — 16 килобайт
  • ёмкость от 64 до 128 Тб — 32 килобайта
  • ёмкость от 128 до 256 Тб — 64 килобайта

У меня диск объёмом 1 Тб, так что сейчас размер кластера стандартный: 4 КБ. Есть прекрасная возможность, пока диск не используется, переформатировать. SQL сервер ведёт себя лучше при размере кластера 64 КБ.

sql

Power Option: High performance

Сейчас план электропитания в Windows 10 установлен в "Высокая производительность". Видимо, кто-то уже установил, этот вариант меня устроит.

sql

Индексация файлов

Отключаем индексацию файлов на диске.

sql

Антивирус

Нам нужно исключить диск из проверки антивирусом и внести его в исключения. А служба "Служба антивирусной программы Microsoft Defender" отключена.

sql

Сжатие содержимого

Создам директорию для БД: D:\MSSQL\DATA. Проверяю, что сняты галки шифрования для компрессии.

sql

MSSQL

Устанавливаю MSSQL.

Установка Microsoft SQL Server 2019

При установке ставлю галку: Grand Perform Volume Maintenance Task privilege to SQL Server Database Engine Service. Настройка влияет на файл данных. Когда файл автоматически вырастает, то новый кусок заполняется нулями, в этот момент SQL может тормозить. Instant File Initialization (IFI) позволяет отключить это зануление.

sql

Каталоги данных оставляю по умолчанию на системном диске, потому как он SSD. В ином случае я бы установил всё на другой диск.

sql

Для tempdb оставляю предложенные настройки: 8 файлов на SSD.

sql

Max degree of parallelism по умолчанию равен количеству процессоров. Не нужен максимум точно, но и единицу не нужно ставить. Ставлю 8. Обычно режу до половины количества процессоров, но на данном ПК только MSSQL будет крутиться, пусть будет 8.

sql

Память. По умолчанию сиквел жрёт всё что может, системе начинает не хватать. Нужно выделить SQL серверу строго определённое количество памяти. Выделю 20 ГБ.

sql

Установка последнего Service Pack и Cumulative Update

После установки MSSQL нужно обновить его до последней версии. Проще всего искать обновления вместе с обновлениями Windows.

Устанавливаем обновления Windows.

Lock pages in memory

Рекомендуют установить разрешение на Lock pages in memory (блокировку страниц в памяти) для пользователя, от которого запущена служба Microsoft SQL Server. Эта политика Windows определяет, какие учетные записи могут сохранять данные в физической памяти, чтобы система не отправляла страницы данных в виртуальную память на диске.

Запускаем Local Group Policy Editor:

gpedit.msc

Слева выбираем Local Computer Policy, Computer Configuration, Windows Settings, Security Settings, Local Policies, User Rights Assignment. Тыкаем в Lock pages in memory.

Видим, что политика не настроена. Можно добавить сюда пользователя, от имени которого работает SQL Server.

sql

Настройка процессора

Настроим проц.

MSSQL - настройка процессора

sql

Флаги трассировки

  • 4199 — включает исправления оптимизатора из фиксов.
  • 1118 — использовать разные страницы памяти.

Проверка статусов флагов трассировки:

DBCC TRACESTATUS (1118, 4199);
GO

Запускаем SQL Server Configuration Manager. SQL Server Services. SQL Server — правой кнопкой свойства. Вкладка Startup Parameters. Добавляем -T1118 и -T4199.

sql

Для применения потребуется перезапустить SQL сервер.

Сетевые протоколы

Протокол Named pipes необходимо отключить в SQL Server Configuration Manager.

sql

Заключение

Пока нет никаких БД, дальше оптимизировать не могу. Первоначальные настройки выполнены.

Теги

 

Похожие материалы

Maintenance Plans — резервное копирование и обслуживание баз данных 1С в Microsoft SQL Server 2019

Microsoft SQL Server 2019 позволяет использовать встроенные средства резервного копирования и обслуживания баз данных — Maintenance Plans. Описываемый план обслуживания успешно используется для баз данных 1С, но не ограничивается ими.

Теги

MSSQL — уменьшаем Initial Size в tempdb

Срочно понадобилось уменьшить размер tempdb. Можно выполнить сжатие, перезапуск сервера, танцы с бубнами. Всё это уменьшит размер tempdb, но не сделает его меньше Initial Size. И это большая проблема, особенно для тех экземпляров, где база tempdb вынесена в оперативную память.

Теги

Maintenance Plans — резервное копирование и обслуживание баз данных в Microsoft SQL Server 2014

Microsoft SQL Server 2014 позволяет воспользоваться встроенными средствами резервного копирования и обслуживания баз данных. В данном случае план предназначен для обслуживания баз данных исключительно с моделью восстановления FULL. Если вы используете другую модель восстановления, то нужно воспользоваться другим планом, потому что резервное копирование лога транзакций вам может не потребоваться.

Теги