Собирал по всему интернету информацию по настройкам сервера MS SQL для 1С. На сегодняшней работе уже не нужно, а на потом или для кого-то - может и пригодится.
Здесь даны в большей степени советы и рекомендации по настройке.
ВАЖНО! Все делать на свой раск и риск и тестирование в тестовой среде никто не отменяет.
Здесь даны в большей степени советы и рекомендации по настройке.
ВАЖНО! Все делать на свой раск и риск и тестирование в тестовой среде никто не отменяет.
1. Несколько советов по настройке кластера 1С.
Настройки
кластера отвечают за настройки всех серверов, принадлежащих настраиваемому
кластеру. Кластер - это работа нескольких физических или виртуальных
серверов, работающих с одними и теми же информационными базами.
Интервал
перезапуска – отвечает за частоту перезапуска рабочих процессов
кластера. Этот параметр необходимо выставлять при круглосуточной работы сервера.
Рекомендуется частоту перезапуска связывать с технологическим циклом
информационных баз кластера. Обычно это каждые 24 часа (86400 сек). Как
известно, рабочие процессы серверов 1С обрабатывают и хранят рабочие данные.
Автоматический перезапуск был разработан
в платформе «для минимизации отрицательных последствий фрагментации и утечки
памяти в рабочих процессах». На ИТС есть даже информация о том, как
организовать перезапуск рабочих процессов по другим параметрам (объем памяти,
занимаемые ресурсы и т.п.).
Допустимый
объем памяти – защищает сервера 1С от перерасхода памяти. При превышении
процессом этого объема в интервале превышения допустимого объема,
процесс перезапускается. Можно рассчитать, как максимальный размер памяти,
занимаемый процессами «rphost» в периоды пиковой нагрузки серверов. Также стоит
установить небольшой интервал превышения допустимого объема.
Допустимое
отклонение количества ошибок сервера. Платформа рассчитывает среднее
количество ошибок сервера по отношению к числу обращений к серверу в течение 5
минут. Если это отношение превысит допустимое, то рабочий процесс считается
«проблемным», и может быть завершен системой, если установлен флаг «Принудительно
завершать проблемные процессы».
Выключенные процессы останавливать
через. При превышении допустимого объема памяти, рабочий
процесс не завершается сразу, а становится «выключенным», чтобы было время
«перенести» рабочие данные без потери на новый запущенный рабочий процесс. Если
указан этот параметр, то «выключенный» процесс в любом случае завершится по
истечении этого времени. Если наблюдаются «зависшие» рабочие процессы в работе
сервера 1С, то можно стоит этот параметр на 2-5 минут.
Эти настройки
устанавливаются для каждого сервера 1С индивидуально.
Максимальный
объем памяти рабочих процессов – это объем совокупной памяти,
которую могут занимать рабочие процессы (rphost) на текущем кластере. Если
параметр установлен в «0», то занимает 80% оперативной памяти сервера. «-1» –
без ограничений. Когда на одном сервере работают СУБД и сервер 1С, им нужно
делить между собой оперативную память. Если в процессе эксплуатации
обнаружится, что серверу СУБД не хватает памяти, то можно ограничить память,
выделяемую серверу 1С с помощью этого параметра. Если СУБД и 1С разделены по
серверам, то имеет смысл рассчитать этого параметр по формуле:
«Max объем» = «Общая оперативная
память» – «Оперативная память ОС»;
«Оперативная память ОС» рассчитывается
по принципу 1 Гб на каждые 16 Гб оперативной памяти сервера
Безопасный
расход памяти за один вызов. В общем случае, отдельные вызовы не должны
занимать всю оперативную память, выделенную рабочему процессу. Если параметр
установлен в «0», то объем безопасного расхода будет равен 5 % от «Максимального
объема памяти рабочих процессов». «-1» – без ограничения, что крайне не
рекомендуется. В большинстве случаев этот параметр лучше оставлять «0».
С помощью
параметров «Количество ИБ на процесс» и «Количество соединений на
процесс» можно управлять распределением работы сервера 1С по рабочим
процессам. Например, запускать под каждую информационную базу отдельный
«rphost», чтобы в случае «падений» процесса, отключались только пользователи
одной базы. Эти параметры стоит подбирать индивидуально под каждую
конфигурацию сервера.
2. Рекомендации по настройке СУБД MS SQL
Ограничение на использование
оперативной памяти сервером СУБД – У сервера СУБД MS SQL есть
одна замечательная особенность – он любит загружать базы, с которыми ведется
активная работа в оперативную память полностью. Если его не ограничивать, то он
заберет себе всю оперативную память, какую только сможет.
· Если
сервер 1С установлен вместе с Microsoft SQL Server, то верхний
порог памяти необходимо уменьшить на величину, достаточную для работы сервера 1С.
· Если
на сервере работает только СУБД, то для СУБД по формуле
«Память СУБД» = «Общая оперативная
память» – «Оперативная память ОС»;
Shared memory – об
этом параметре известно много, но до сих пор встречается, что про него
забывают. Выставляем в «1», если сервер 1С и СУБД работают на одном физическом
или виртуальном сервере.
Max degree of
parallelism – определяет, сколько процессоров используется при
выполнении одного запроса. СУБД распараллеливается получение данных при
выполнении сложных запросов на несколько потоков. Для 1С рекомендуется
устанавливать в «1», то есть одним потоком.
Авторасширение
файлов БД – определяем шаг в МБ, с которым «расширяется» файл базы
данных. Если шаг будет маленький, то при активном росте БД, частые расширения
приведут к дополнительной нагрузке на дисковую систему. Лучше установить в 500
– 1000 МБ.
Реиндексация и
дефрагментация индексов – рекомендуется делать
дефрагментацию/реиндексацию хотя бы раз в неделю. Реиндексация блокирует
таблицы, поэтому лучше запускать в нерабочее время или периоды минимальной
нагрузки. Нет смысла делать дефрагментацию после перестроения индекса
(реиндексации). По рекомендации Microsoft дефрагментацию делают в том случае,
если фрагментация индекса не превышает 30 %. Если выше, рекомендуется сделать
реиндексацию.
Обновление
статистики – рекомендуется обновлять статистику хотя бы 1 раз в день.
Статистика отвечает за производительность выполнения запросов.
План электропитания – в
настройках электропитания операционной системы установить на высокую
производительность.