Запускаем режим Shared Memory
Shared Memory — протокол в Microsoft SQL Server для взаимодействия между клиентскими приложениями и сервером СУБД. Позволяет клиентам, работающим на том же компьютере, что и SQL Server, подключаться к серверу с использованием общей памяти (shared memory). Это быстрый способ подключения, так как данные передаются через оперативную память, минуя сетевые интерфейсы.
Протокол используется только для подключений внутри одного компьютера — если клиент и сервер находятся на разных машинах, этот протокол недоступен. После включения протокола важно выполнить настройку SQL Server для 1С, чтобы обеспечить стабильную и быструю работу баз данных.
Для включения данного протокола переходим в SQL Server Configuration Manager, после открытия окна в левом столбце раскрываем «Сетевая конфигурация SQL Server» , далее раскрываем «Протоколы для MSSQLSERVER» и нажимаем ПКМ по имени протокола «Общая память», после чего заходим в свойства.
В поле «Включено» выставляем «Да» и применяем изменения.
Проверить включен ли «Shared Memory» можно через запрос:
select program_name, net_transport
from sys.dm_exec_sessions as t1
left join sys.dm_exec_connections AS t2
ON t1.session_id=t2.session_id
where not t1.program_name is null
Настройка и оптимизация SQL сервера
- Устанавливаем максимально отведенное серверу кол-во памяти, т.к. по умолчанию MS SQL использует всю отведенную ему память, из-за чего могут возникать зависания при работе. Нужно выделить SQL строго отведенное кол-во памяти и чтобы он не использовал больше определенного порога. Это позволит избежать конкуренции за ресурсы.
Для этого в MS SQL Server Management Studio нажимаем ПКМ и переходим по пути «Параметры -> Память»
- Устанавливаем сжатие БД при резервном копировании и каталоги по умолчанию, для хранения файлов БД

- Максимальное количество потоков (Maximum worker threads) ставим 2048, по умолчанию стоит 0 и с таким значением сервер не создает больше 255 потоков, а этого ему не хватает. Рекомендуется использовать 1024 в качестве максимального числа рабочих потоков для экземпляра SQL Server, работающего на 32-разрядном компьютере.

- Установите параметр «Максимальная степень параллелизма» (Max degree of parallelism) в значение 1
Данный параметр определяет, во сколько потоков может выполняться один запрос. По умолчанию параметр равен 0, это означает, что сервер сам подбирает число потоков. Для баз с характерной для 1С нагрузкой рекомендуется поставить данный параметр в значение 1, т.к. в большинстве случаев это положительно скажется на работе запросов.
Так же повышаем приоритет SQL Сервера
Настройка сервера 1С
Данные настройки устанавливаются персонально для каждого сервера в зависимости от его характеристик.
Максимальный объем памяти рабочих процессов – это объем совокупной памяти, которую могут занимать рабочие процессы (rphost) на текущем кластере. Если параметр установлен в «0», то процесс может потреблять до 80% ОЗУ сервера. Если «1» – без ограничений.
Безопасный расход памяти за один вызов - отдельные вызовы процедур не должны занимать всю оперативную память, выделенную рабочему процессу. Если параметр установлен в «0», то объем безопасного расхода ОЗУ будет равен 5 % от «Максимального объема памяти рабочих процессов». «1» – без ограничения, что крайне не рекомендуется. В большинстве случаев этот параметр лучше оставлять «0».
С помощью параметров «Количество ИБ на процесс» и «Количество соединений на процесс» можно управлять распределением работы сервера 1С:Предприятие по рабочим процессам rphost. Например, запускать под каждую информационную базу отдельный «rphost». Эти параметры стоит подбирать индивидуально под каждую конфигурацию сервера 1С.
Настройки кластера 1С отвечают за параметры всех серверов 1С, принадлежащих кластеру. Кластер подразумевает работу нескольких физических или виртуальных серверов, работающих с одними и теми же информационными базами.
Интервал перезапуска – с помощью данного параметра можно установить частоту перезапуска рабочих процессов на кластере. Чаще всего используют для решения некоторых проблем с утечкой оперативной памяти в рабочих процессах, но автоматический перезапуск может приводить к разрыву соединений в активных сессиях. Поэтому в лучшем случае желательно проводить операции по перезапуску процессов и чистке кеша вручную, когда это необходимо.
Допустимый объем памяти – устанавливает порог ОЗУ, которую может использовать сервер. Если процесс превышает данный порог в течение указанного времени, то происходит его автоматический перезапуск.
Выключенные процессы останавливать через – при превышении допустимого объема памяти, рабочий процесс не завершается сразу, а становится «выключенным», чтобы было время сохранить или перенести рабочие данные без потери на другой процесс
Грамотная настройка SQL Server для 1С обеспечивает стабильность, предсказуемую нагрузку и отсутствие зависаний даже при работе с большими объёмами данных.




