Добавить в корзинуПозвонить
Найти в Дзене

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

Сегодня у меня задачка: оптимизировать ПК с ОС Windows 10 под установку Microsoft SQL Server. Машина не серверная, планируется её использовать как систему, на которой будет храниться зеркальная копия БД для её быстрого ввода в строй в случае сбоя основного сервера. А почему бы и нет? Система пустая, характеристики: Не самый производительный вариант, но и особой нагрузки там не ожидается. Сразу становится понятно, что RAM диск настраивать не буду, оперативной памяти недостаточно для этого, по сравнению с основным сервером, на котором 128 ГБ RAM. Так что tempdb останется на своём месте, а именно на SSD. Приступим к остальным настройкам: Настройка MSSQL для работы с 1С — мифы и реальность Рекомендуют форматировать файловую систему для БД с размером блока 64 Кб. Стандартный размер кластера (лучше использовать это название) в файловой системе NTFS: У меня диск объёмом 1 Тб, так что сейчас размер кластера стандартный: 4 КБ. Есть прекрасная возможность, пока диск не используется, переформатир
Оглавление

Сегодня у меня задачка: оптимизировать ПК с ОС 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 КБ.

-2

Power Option: High performance

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

-3

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

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

-4

Антивирус

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

-5

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

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

-6

MSSQL

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

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

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

-7

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

-8

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

-9

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

-10

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

-11

Установка последнего 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.

-12

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

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

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

-13

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

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

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

DBCC TRACESTATUS (1118, 4199);
GO

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

-14

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

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

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

-15

Заключение

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

Источник:

Программная оптимизация Windows 10 под MSSQL | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу. Пишите комментарии, задавайте вопросы, подписывайтесь.