Настройка биос supermicro для 1с
Что можно сделать, если у вас тормозит программа 1С. Простые рекомендации. Конечно же, это базовый пользовательский уровень. Для более весомых задач по производительности потребуются другие технические решения.
Уточнение: большая часть рекомендаций относится к файловому режиму работы.
Общий подход
- При свободном бюджете, если располагаете таковым, бывает быстрее и проще потратить деньги на upgrade оборудования или покупку новой техники, чем выжимать производительность из того железа, что есть. Но попробовать, как минимум, стоит.
- Манипуляции с настройками не так ощутимы, как модернизация, а иногда помогает даже простая чистая установка/переустановка ОС.
- Если хотите быстрого wow-эффекта и прироста в скорости, то установите систему/информационные базы 1С на SSD-диск, если вы этого ещё не сделали.
Итак, условно разделим наш ПК с 1С на 3 уровня настроек: BIOS (базовая система ввода-вывода), операционная система и, непосредственно, программа 1С:Предприятие.
- В зависимости от вашей модели — отключите энергосберегающие настройки и поставьте режим повышенной производительности (High Performance).
- Включите Turbo Boost, если ваш процессор поддерживает эту функцию.
- Для смелых доступны варианты разгона, в некоторых случаях помогает обновление прошивки (Firmware Update). Но будьте осторожны — следуйте рекомендациям производителя, ознакомьтесь, что включает в себя обновление, и поможет ли оно в вашем случае.
ОС Windows
- Включите режим «Обеспечить наилучшее быстродействие» или настройте «Особые эффекты» для персональной работы (Мой компьютер (правый клик) — Свойства — Дополнительные параметры системы — Дополнительно (вкладка) — Параметры… (кнопка)).
- Через панель управления в настройках «Электропитание» выберите режим «Высокая производительность» (или «Максимальная производительность» в зависимости от набора схем).
- Уберите каталоги с исполняемыми модулями и базами 1С из проверки либо добавьте исключения по маске, как рекомендуют специалисты. При правильной настройке — антивирусное ПО практически не мешает.
Программа 1С
- Проверьте информацию о формате БД с помощью команды cnvdbfl. Если у вас 8.2.14, то сделайте копию вашей ИБ — измените формат базы на 8.3.8 и размер страницы на 32К.
Проверьте эти рекомендации. Отключив загрузку страницы Информация, начальную страницу для всех пользователей, а также избирательно регламентные и фоновые задания — вы сможете ускорить свою 1С.
С тех пор уже многое изменилось, вышли новые версии MSSQL и Windows. Некоторые советы потеряли свою актуальность. Освежим эту статью, уже с конкретными тестами производительности.
Сегодня мы будем оптимизировать физический сервер. Конфигурация тестового стенда:
- Аппаратная часть
- Сервер HP ProLiant DL360 Gen9.
- Два процессора Intel Xeon CPU E5-2650 v4 @ 2.20GHz
- 256 ГБ оперативной памяти с частотой 2400 МГц
- Аппаратный RAID контроллер Smart Array P440ar Controller с батарейкой
- RAID1 из двух HDD под операционную систему
- RAID1 из двух SSD под базы данных
- RAID5 из четырёх HDD под всё остальное
- Операционная система Windows Server 2016
- 1C 8.3
- MSSQL 2019
1С и MSSQL установлены на одном и том же сервере. Базы данных размещены на SSD массиве. На сервер установлены последние прошивки, все настройки BIOS — по умолчанию.
Сервер в домене. Служба 1С и MSSQL запускаются под доменными пользователями, оба пользователя входят в группу локальных администраторов сервера.
Перед началом работ по оптимизации выполним тест TPC-1C.
И получаем результат: 3.41 попугая. Этот результат не просто плох, он даже хуже. С такими результатами сервер нельзя использовать для 1С. Давайте оптимизируем.
Аппаратная оптимизация
Настроим железо. Каждая марка сервера может настраиваться по-своему, я буду настраивать HP ProLiant DL360 Gen9. Перезагружаем сервер.
Обращаем внимание на профиль рабочей нагрузки. По умолчанию он Balanced Power and Performance. Баланс между производительностью и энергоэффективностью. Нам нужна максимальная производительность. Нажимаем F9 для входа в BIOS.
System Configuration → BIOS/Platform Configuration (RNSU) → Power Management. Устанавливаем Power Profile в Maximum Performance.
System Configuration → BIOS/Platform Configuration (RNSU) → Power Management → Advanced Power Option. Устанавливаем Collaborative Power Control в Disabled. У меня уже так и стояло.
System Configuration → BIOS/Platform Configuration (RNSU) → Performance Options. Устанавливаем Intel(R) Turbo Boost Technology в Enabled. У меня уже так и стояло.
Сохраняем изменения F10 и перезагружаем сервер.
Профиль рабочей нагрузки изменился, теперь процессоры должны работать шустрее.
Ещё раз выполним тест TPC-1C и посмотрим чего мы добились.
И получаем результат: 5.17 попугаев. Это лучше чем было, но всё равно плохо. Два попугая добавили, но сервер использовать для 1С всё ещё нельзя.
Программная оптимизация
Применим настройки операционной системы и MSSQL для 1С, которые я делал в предыдущей статье.
Установка последнего Service Pack и Cumulative Update
На текущий момент нужно обновиться до CU 15.
Обязательно нужно сделать.
Выравнивание разделов
Рекомендуют выравнивать сектора дисков по границе 1024Кб. Эта рекомендация устарела. Операционная система теперь сама выравнивает раздел как нужно для дисков более 4 ГБ.
Эту настройку не применяем.
Форматирование с размером блока 64Кб
Рекомендуют форматировать файловую систему для БД с размером блока 64Кб.
Стандартный размер кластера (лучше использовать это название) в файловой системе NTFS:
ёмкость до 16 Тб — 4 килобайта
ёмкость от 16 до 32 Тб — 8 килобайт
ёмкость от 32 до 64 Тб — 16 килобайт
ёмкость от 64 до 128 Тб — 32 килобайта
ёмкость от 128 до 256 Тб — 64 килобайтаУ меня SSD диск объёмом 1.7 Тб, переформатирую.
Database instant file initialization
Рекомендуют включить возможность Database instant file initialization для пользователя, от которого запущена служба Microsoft SQL Server. Вот только при установке MSSQL 2019 я эту галку уже ставил.
Обратите внимание на галку Grand Perform Volume Maintenance Task privilege to SQL Server Database Engine Service. Полезная штука для оптимизации производительности. Настройка влияет на файл данных. Когда файл автоматически вырастает, то новый кусок заполняется нулями, в этот момент SQL может тормозить. Instant File Initialization (IFI) позволяет отключить это зануление.
Lock pages in memory
Рекомендуют установить разрешение на Lock pages in memory (блокировку страниц в памяти) для пользователя, от которого запущена служба Microsoft SQL Server. Эта политика Windows определяет, какие учетные записи могут сохранять данные в физической памяти, чтобы система не отправляла страницы данных в виртуальную память на диске.
- Запускаем Local Group Policy Editor:
- Слева выбираем Local Computer Policy, Computer Configuration, Windows Settings, Security Settings, Local Policies, User Rights Assignment.
- Тыкаем в Lock pages in memory.
Эту настройку применяем. Нужно учитывать, что потребление оперативки возрастёт.
Power Option: High performance
По умолчанию план электропитания в Windows Server 2016 — Balanced. Переключаем план на High performance.
Индексация файлов
Отключаем индексацию файлов на SSD диске.
Делаем это на всякий случай. Служба индексации не установлена, но, вдруг, кто-то установит.
Сжатие содержимого
Рекомендуют проверить, что галка, отмеченная на картинке выше, снята. Имеется в виду папка, где лежат файлы БД. По умолчанию она снята — рекомендация не нужна.
Настройка памяти
Да, память для MSSQL нужно настраивать. По умолчанию сиквел жрёт всё что может, системе начинает не хватать. Как итог — тормоза. Нужно выделить SQL серверу строго определённое количество памяти и пусть не рыпается. Это позволить избежать конкуренции за ресурсы.
Настройка процессора
Расположение файлов данных
Файлы данных и так были на SSD, не меняю.
Перенести tempdb в RAM
А вот это нужно сделать.
Столкнулся с проблемой и решил её:
При создании RAM диска не используем индексацию файлов.
Установить параметр Max degree of parallelism = 1
Устанавливаю по просьбе разработчиков 1С. Хотя считаю, что лучше ставить половину выделенных для SQL сервера процессоров.
Прирост файлов БД
Меняем дефолтные настройки прироста размера файлов данных и лога.
По умолчанию прирост 10%, это никуда не годится. Если база 500 гигабайт, то одномоментно отобранные 50 Гб места могут негативно сказаться на работе.
Ставим прирост 100 Мб. Естественно, на базу tempdb тоже.
Флаги трассировки
4199 — включает исправления оптимизатора из фиксов.
1118 — использовать разные страницы памяти.
Проверка статусов флагов трассировки:
Запускаем SQL Server Configuration Manager. SQL Server Services. SQL Server - правой кнопкой свойства. Вкладка Startup Parameters. Добавляем -T1118 и -T4199.
Для применения потребуется перезапустить SQL сервер.
Сетевые протоколы
Протокол Named pipes необходимо отключить в SQL Server Configuration Manager. Поскольку SQL сервер и 1С сервер находятся на одном сервере, то протокол TCP/IP тоже отключаем.
Разбить tempdb на несколько файлов по количеству процессоров
Это неверная рекомендация. Если вы хотите разбить tempdb на несколько файлов, то формула следующая:
- Если у вас меньше 8 процессоров, то делайте столько файлов, сколько процессоров.
- Если у вас 8 и более процессоров, то делайте 8 файлов.
Если tempdb находится в RAM диске, то я не вижу смысла этого делать. Но сделаю, просят разработчики 1С.
Проверка
Основные настройки сделали. Перезагружаем сервер.
Ещё раз выполним тест TPC-1C и посмотрим чего мы добились.
И получаем результат: 13.85 попугаев. Это значительно лучше чем было, уже не плохо, а удовлетворительно. Использовать сервер для 1С уже можно. Но хочется большего.
Дополнительная оптимизация
На форумах я вычитал, что для такого процессора не удастся добиться результата больше 20 попугаев. Давайте проверим это спорное утверждение?
Антивирус
Вспоминаем про то, что в Windows Server 2016 появился встроенный антивирус. Давайте отключим его на дисках с базами данных.
Windows Settings → Update & security.
Windows Defender → Exclusions → Add an exclusion.
- E:\ — диск с базами данных
- R:\ — RAM диск с базой tempdb
Ещё раз выполним тест TPC-1C и посмотрим чего мы добились.
И получаем результат: 32.89 попугаев. Это хорошо. Использовать сервер для 1С однозначно можно. Ай да Windows Defender, вот подстава-то. Можно вообще его снести. По той же самой причине не стоит устанавливать на сервер браузер Google Chrome и прочее ПО с собственным антивирусом на борту.
Заключение
Мы настроили аппаратный сервер HP ProLiant DL360 Gen9 для работы с 1С. Оптимизация программной и аппаратной части помогла повысить производительность системы в 10 раз.
Однопоточный синтетический тест 1С от Гилёва TPC-1C показывает результат "Хорошо", 32.89 баллов, что является прекрасным показателем для сервера с процессорами Intel Xeon CPU E5-2650 v4 @ 2.20GHz.
В процессе работы были выполнены дополнительные действия, отключены лишние службы и настройки системы. Исправлена ошибка Event ID 10016. Но данные действия не повлияли на результат тестирования, поэтому о них я не стал писать.
Что же делать и как это победить, и так по порядку:
Клиенты очень медленно работают с серверной версией 1С
Кроме медленной работы 1С, так же наблюдается медленная работа с сетевыми файлами. Проблема встречается при обычной работе и при RDP
netsh int tcp set global autotuning=disabled
netsh int tcp set global autotuninglevel=disabled
netsh int tcp set global rss=disabled chimney=disabled
и сеть работает без проблем
иногда оптимальным является:
netsh interface tcp set global autotuning= HighlyRestricted
вот как выглядит установка
Далее посмотрите настройки брандмауэра Windows
Настроить брандмауэр Антивируса или Windows
Как настроить брандмауэр Антивируса или Windows для работы сервера 1С (связка из Сервера 1С: Предприятие и MS SQL 2008, например).
- Если сервер SQL принимает подключения на стандартный порт TCP 1433, то разрешаем его.
- Если порт SQL динамический, то необходимо разрешить подключения к приложению %ProgramFiles%\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe.
- Сервер 1С работает на портах 1541, кластер 1540 и диапазоне 1560-1591. По совершенно мистическим причинам иногда такой список открытых портов все равно не позволяет выполнять подключения к серверу. Чтобы заработало наверняка, разрешите диапазон 1540-1591.
Настройка производительности Сервера / Компьютера
Для того чтобы компьютер работал с максимальной производительностью - нужно настроить его на это:
1. Настройки BIOS
- В BIOS сервера отключаем все настройки по экономии электропитания процессора.
- Если есть «C1E» & обязательно ОТКЛЮЧАЕМ!!
- Для некоторых не очень параллельных задач также рекомендуется выключить гипертрейдинг в биосе
- В некоторых случаях (особенно для HP!) надо зайти в BIOS сервера, и ВЫКЛЮЧИТЬ там пункты, в названии которых есть EIST, Intel SpeedStep и C1E.
- Взамен надо там же найти пункты, связанные с процессором, в названии которых есть Turbo Boost, и ВКЛЮЧИТЬ их.
- Если в биосе есть общее указание режима энергосбережения & включить его в режим максимальной производительности (он ещё может называться «агрессивный»)
2. Настройки схемы в операционной системе - Высокая производительность
Сервера с архитектурой Intel Sandy Bridge умеют динамически менять частоты процессора.
Скачайте утилиту PowerSchemeEd.7z , распакуйте с помощь 7zip и запустите PowerSchemeEd.exe
Выберите раздел Управление питанием процессора и выставите параметры 01. Порог при питании от сети 30% и отключите 27. Переопределение ядра. как на картинке.
3. На серверах 1С и MS SQL Server использование антивирусов (даже сам факт инсталяции без включения) будет приводить к снижению производительности в виде периодических массовых замедлений и подвисаний интерфейса.
4. Совмещение ролей сервера 1С и сервера MS SQL Server дает большую производительность, особенно если использовать протокол обмена данных напрямую через память «Shared Memory».
Очень многие не недооценивают важность настройки сервера, когда роли сервера 1С и сервера СУБД совмещены на одном физическом компьютере.
Убедиться, что к примеру используется протокол Shared Memory можно следующим образом:
Обратите внимание, что в версиях платформы некоторые релизы «переключались» на протокол «именнованых каналов».
Для работы 1С Предприятие в режиме Shared Memory с SQL Server 2012 должен быть установлен NativeClient от SQL Server 2008 (backward compatibility connectivity components из дистрибутива SQL Server 2012 или отдельный пакет)
5. Отключение ненужных служб Виндовс
Одним из самых действенных способов ускорения компьютера является отключение неиспользуемых (ненужных) служб операционной системы. У ОС Windows по умолчанию включено огромное количество служб, на работу которых требуется большое количество ресурсов системы. Многие из них можно отключить без потери функциональности и снижения безопасности системы.
Какие службы можно отключить для оптимизации Windows:
Список, конечно, получился не особо емким, на самом деле служб, которые можно отключить, намного больше. Кроме того, среди стандартных служб появятся дополнительные службы сторонних программ, которые установлены на Вашем ПК, их также можно отключить.
Кэширование записей на дисках в Windows
Кэшированием записей на устройстве хранения называется использование высокоскоростной энергозависимой памяти для накопления команд записи, отправляемых на устройства хранения данных, и их кэширования до тех пор, пока их не обработает более медленный носитель (либо физические диски, либо недорогая флэш-память). Для большинства устройств, использующих кэширование записей, требуется непрерывная подача электропитания.
Для управления кэшированием записей на диске откройте Панель управления - Диспетчер устройств.
В разделе Дисковые устройства дважды щелкните нужный диск.
Перейдите на вкладку Политики
В статье использован личный опыт и cайт Вячеслава Гилева
Буду рад конструктивным комментариям
Похожие FAQ
Еще в этой же категории
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
Во многих материнках Supermicro есть встроенный софтварный RAID контроллер. Для входя в управление нужно при загрузке нажать Ctrl+I. Но есть ньюанс — управлялка работает только в режиме Legacy. Legacy не поддерживает разделы более 2 Тб, как быть? Расскажу как настроить RAID и для Legacy и в UEFI.
Если вы не планируете разделов более 2 Тб, не заморачивайтесь и настройте загрузку в Legacy.
Legacy
При загрузке жмём DEL и попадаем в BIOS.
В разделе Boot меняем Boot Mode Select на Legacy:
В разделе Advanced выполняем SATA Configuration, Configure SATA as RAID:
Появляются дополнительные пункты настройки. Оставляем SATA RAID Option ROM/UEFI Driver как Legacy:
SATA/sSATA RAID Boot Select меняем на SATA Controller:
Перезагружаем сервер, при загрузке жмём Ctrl+I, попадаем в раздел конфигурации Intel Rapid Storage Technology:
Создаём RAID. Я объединяю 4 диска в RAID0:
Перезагружаемся, снова входим в BIOS. В разделе Boot в FIXED BOOT ORDER Priorities появляется возможность выбрать Hard Disk:Intel RAID0 - наш новый массив:
Можно пользоваться. Однако, если вы, вдруг, попытаетесь поставить Oracle Linux, то в инсталляторе не сможете создать раздел более 2 Тб. Что делать?
Итак, для перехода в UEFi внесём в предыдущую инструкцию некоторые изменения.
Выполняем все инструкции для Legacy и снова загружаемся в BIOS (Продвинутые могут смерджить инструкции и сократить количество перезагрузок). Вносим изменения в Advanced > SATA Configuration. Меняем SATA RAID Option ROM/UEFI Driver на EFI:
В Boot > Boot Mode Select ставим DUAL. Можно, наверное, и просто UEFI, но тогда при перезагрузке не сможете попадать в раздел конфигурирования контроллера:
FIXED BOOT ORDER Priorities становится значительно больше. Двигаем все пункты с EFI вверх.
Теперь можно загружать инсталлятор Oracle Linux в режиме UEFI, он нормально видит RAID и может создать раздел более 2 Тб.
Для ускорения загрузки операционной системы на сервере Supermicro добавим собственную UEFI опцию в Boot Order Priorities.
Тестовый стенд
- Сервер Supermicro SYS-1029U-E1CR4
- Операционная система ESXi 6.7 Update 3
Добавим опцию в Boot Order Priorities
Загружаем сервер, нажимаем DEL и входим в BIOS. Переходим в раздел Boot.
Сбрасываем все опции в Disabled.
Выбираем Add New Boot Option.
Add boot option.
Указываем название новой опции. Я пишу "ESXi 6.7 U3". Enter.
Path for boot option.
Select Storage Device. Вижу обнаруженный ESXi — выбираю.
Опция создана. Ok.
Перезагружаем сервер и снова попадаем в BIOS.
Теперь можно установить Boot Option "UEFI Hard Disk:ESXi 6.7 U3".
Сохраняем настройки и перезагружаем сервер.
Если у вас другая операционная система и на диски несколько загрузочных областей, то выбрать приоритетную можно в разделе "UEFi Hard Disk Drive BBS Priorities".
Читайте также: