Оборудование

Оптимальные настройки сервера 1с 8.3. Уменьшение размера журнала транзакций Microsoft SQL Server

Система «1С:Предприятие» помимо файлового варианта может работать с информационными базами и в клиент-серверном варианте. В последнем случае понимается архитектура, состоящая из нескольких программных уровней, схематично изображенных на рисунке ниже.

  • Клиентские приложения, тонкие клиенты и веб-клиенты — это и есть «1С:Предприятие» в различных режимах запуска, с которыми работает конечный пользователь. Для клиентских приложений и тонких клиентов требуется на компьютеры пользователей (или на ), для веб-клиента достаточно веб-браузера.
  • Кластер серверов «1С:Предприятие» представляет собой совокупность рабочих процессов, функционирующих на одном или нескольких компьютерах и списка информационных баз, которые размещены в этом кластере. В кластере серверов выполняется вся работа прикладных объектов, выполняется подготовка к отображению форм (чтение объектов информационной базы, заполнение данных форм, расположение элементов и т.д.) и командного интерфейса, формируются отчеты, выполняются фоновые задания. На клиентах происходит лишь отображение информации, подготовленной в кластере серверов. Кроме того на сервере кластера «1С:Предприятия» хранятся служебные файлы, а также журнал регистрации информационных баз.
  • Сервер баз данных — на сервере баз данных происходит непосредственное хранение и работа с данными, обеспечиваемое одной из следующих, поддерживаемых системой «1С:Предприятие», систем управления базами данными (СУБД):
    • Microsoft SQL Server начиная с версии Microsoft SQL Server 2000 и выше;
    • PostgrageSQL начиная с версии 8.1;
    • IBM DB2 начиная с версии 9.1;
    • Oracle Database начиная с версии 10g Release 2.
  • Веб-сервер необходим только для работы веб-клиентов и одного из вариантов работы тонкого клиента. Обеспечивает взаимодействие данных видов соединения с кластером серверов «1С:Предприятия».

Стоит также отметить что не обязательно каждый программный уровень должен располагаться на отдельном физическом компьютере. Кластер серверов может располагаться на одном компьютере с сервером баз данных, веб-сервером и т. д. Например, нередко в небольших организациях встречается следующая структура работы:

В данной статье я буду описывать установку сервера «1С:Предприятия» версии 8.3.4.389 (для других версий платформы «1С:Предприятие» 8.1, 8.2 и 8.3 действия аналогичны) на один компьютер под управлением Windows Server 2008 (R2) или Windows Server 2012 (R2). В качестве СУБД будет рассматриваться Microsoft SQL Server 2008 (R2) или Microsoft SQL Server 2012. Для этого нам понадобится:

  1. Компьютер, отвечающий системным требованиям для установки сервера «1С:Предприятия» и с установленной на данный компьютер ОС или .
  2. Компьютер для сервера баз данных, также под управлением ОС или (может быть компьютером из п.1).
  3. Права локального администратора на обоих компьютерах.
  4. Дистрибутив для установки сервера «1С:Предприятия» 8.
  5. Программная лицензия или ключ защиты HASP4 Net для сервера «1С:Предприятия».
  6. Дистрибутив для установки Microsoft SQL Server 2008 (R2) или Microsoft SQL Server 2012.

2. Установка СУБД MS SQL Server

Устанавливаем СУБД MS SQL Server на компьютер, служащий сервером баз данных. Для работы системы «1С:Предприятие» достаточно установки компонент:

  • Службы компонента Database Engine (Database Engine Services)
  • Средства управления - основные (Management Tools - Basic)
    • Средства управления - полный набор (Management Tools - Complete).

Параметры сортировки выбираем « Cyrillic_General_CI_AS ». Подробно про установку систем

3. Настройка Брандмауэра Windows для работы СУБД

Если сервер баз данных и сервер кластера «1С:Предприятия» находятся на разных физических компьютерах, необходимо на сервере баз данных настроить Брандмауэр Windows таким образом, чтобы сервер «1С:Предприятия» мог работать с СУБД, а именно открыть входящие подключения по порту 1433 (для экземпляра SQL Server по умолчанию).

  • Подробно про настройку Брандмауэра Windows для работы Microsoft SQL Server 2008 (R2) / 2012 я писал .

4. Добавление пользователя в MS SQL Server

Далее добавим в MS SQL Server отдельного пользователя, под которым будут подключаться базы данных сервера «1С:Предприятия». Этот пользователь будет также владельцем этих баз данных. Добавляемый пользователь должен авторизовываться на сервере с помощью пароля и обладать набором ролей: dbcreator , processadmin, public . Подробно про добавление пользователя на

  • Microsoft SQL Server 2008 (R2) я писал .
  • Microsoft SQL Server 2012 я писал .

5. Установка сервера «1С:Предприятия»

Теперь переходим к установке файлов сервера «1С:Предприятия» и запуску соответствующей службы. Для установки требуется дистрибутив технологической платформы «1С:Предприятия». Из перечня поставляемых дистрибутивов подойдут следующие:

  • Технологическая платформа 1С:Предприятия для Windows — позволяет установку 32-разрядного сервера «1С:Предприятия»
  • Сервер 1С:Предприятия (64-bit) для Windows — позволяет установку как 32-разрядного, так и 64-разрядного сервера «1С:Предприятия»

(Также существует и расширенная версия КОРП сервера 1С:Предприятия 8.3, подробности можно посмотреть на сайте 1С)

Открываем каталог с файлами установки сервера «1С:Предприятия» и запускаем файл setup.exe .

Запуститься помощник установки системы «1С:Предприятия». На первой странице жмем «Далее ».

На следующей странице необходимо выбрать те компоненты, которые будут устанавливаться, нам требуются компоненты:

  • Сервер 1С:Предприятия — компоненты сервера «1С:Предприятия»
  • Администрирование сервера 1С:Предприятия 8 — дополнительные компоненты для администрирования кластера серверов «1С:Предприятия»

Остальные компоненты (перечень компонент может зависеть от конкретного дистрибутива), в зависимости от необходимости, также могут быть установлены на данный компьютер. Сделав выбор жмем «Далее ».

Выберем язык интерфейса, который будет использоваться по умолчанию, и нажмем «Далее ».

Если сервер «1С:Предприятия» устанавливается как служба Windows (а так в большинстве случаев и следует его устанавливать) рекомендую сразу создать отдельного пользователя, из под которого будет запускаться создаваемая служба. Для этого

  • Оставляем включенным флаг «Установить сервер 1С:Предприятие как сервис Windows (рекомендуется) »;
  • Переводим соответствующий переключатель в «Создать пользователя USR1CV8 ».
  • Вводим 2 раза пароль для создаваемого пользователя. По умолчанию пароль должен отвечать политики паролей Windows. Подробнее об этом можно прочитать:
    • Для Microsoft Windows Server 2008 (R2) — ;
    • Для Microsoft Windows Server 2012 — .

Можно также и выбрать существующего пользователя для запуска сервера «1С:Предприятия». В этом случае выбранный пользователь должен обладать правами:

  • Вход в систему как сервис (Log on as a service)
  • Вход в систему как пакетное задание (Log on as a batch job)
  • Пользователи журналов производительности (Performance Log Users).

Также пользователю обязательно следует дать необходимые права на каталог служебных файлов сервера (по умолчанию C:\Program Files\1cv8\srvinfo для 64-х разрядного и C:\Program Files (x86)\1cv8\srvinfo для 32-х разрядного сервера).

Созданный автоматически пользователь USR1CV8 будет обладать всеми перечисленными правами.

Заполнив соответствующие параметры, жмем «Далее ».

Ну и наконец нажимаем «Установить » для того чтобы начать установку. При этом будет произведено копирование файлов выбранных компонент, создание конфигурационных файлов, регистрация компонентов программы, создание ярлыков, а также запуск службы сервера «1С:Предприятия».

По завершении установки помощник предложит установить драйвер защиты — HASP Device Driver. Если используется программная лицензия на сервер «1С:Предприятия», производить установку драйвера нет необходимости. Оставляем или снимаем флаг «Установить драйвер защиты » и жмем «Далее ».

Эта статья содержит информацию о процедуре установки 1С в клиент-серверном варианте.

Установка платформы 1С описана в другой нашей статье – “Администрирование 1С”, в разделе “Установка 1С”. Установка на сервер почти полностью совпадает с установкой на локальный компьютер, с одной лишь разницей. В серверном варианте при выборе устанавливаемых компонент необходимо выбрать “Сервер 1С:Предприятия” и “Администрирование сервера 1С:Предприятия”.

Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу.

Установка на клиентских компьютерах ничем не отличается от способа, описанного ранее в статье “Администрирование 1С”.

Создать информационную базу в SQL.

Создание информационной базы в SQL тоже очень похоже на создание базы в файловом варианте. Разница заключается в том, что на этапе выбора типа расположения информационной базы необходимо выбрать “На сервере 1С:Предприятия”.

В пункте “Кластер серверов” укажите имя (а лучше IP-адрес) сервера, на который устанавливали SQL.

В пункте “Имя информационной базы” укажите любое имя, которое хотите дать базе.

Тип СУБД – SQL.

Пользователь базы данных и его пароль – тот самый суперпользователь, о котором говорилось выше, на этапе установки MS SQL.

Смещение дат оставьте по умолчанию.

Необходимо отметить пункт “Создать базу данных в случае ее отсутствия” и нажать “Далее”.

Теперь база успешно создана на сервере SQL и добавлена в список доступных баз. Внизу на картинке можно увидеть результат проделанной работы.

Стоить отметить, что созданная база пока еще пустая. Это каркас, место, выделенное в SQL под вашу информационную базу. Для того, чтобы загрузить свою базу в этот каркас – необходимо воспользоваться средствами Выгрузки/Загрузки информационной базы. Процедура Выгрузки/Загрузки также описана в другой нашей статье “Администрирование 1С”.

Для того, чтобы довести систему до идеального состояния в дальнейшем необходимо будет настроить “план обслуживания” созданной базы данных. План обслуживания – это набор процедур, которые SQL будет выполнять регулярно по заданному расписанию. Например, будет регулярно делать резервные копии и удалять временные файлы. Работа с SQL выходит за рамки темы статьи и будет описана в одной из следующих.

Обратите внимание, что настройки кластера отвечают за настройки всех серверов принадлежащих настраиваемому кластеру. Кластер подразумевает работу нескольких физических или виртуальных серверов, работающих с одними и теми же информационными базами.

Интервал перезапуска – отвечает за частоту перезапуска рабочих процессов кластера. Этот параметр необходимо выставлять при круглосуточной работы сервера. Рекомендуется частоту перезапуска связывать с технологическим циклом информационных баз кластера. Обычно это каждые 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», чтобы в случае «падений» процесса, отключались только пользователи одной базы. Эти параметры стоит подбирать индивидуально под каждую конфигурацию сервера.

Ограничение на использование оперативной памяти сервером СУБД – У сервера СУБД MS SQL есть одна замечательная особенность – он любит загружать базы, с которыми ведется активная работа в оперативную память полностью. Если его не ограничивать, то он заберет себе всю оперативную память, какую только сможет.

  • Если сервер 1С:Предприятия установлен вместе с Microsoft SQL Server, то верхний порог памяти необходимо уменьшить на величину, достаточную для работы сервера 1С.
  • Если на сервере работает только СУБД, то для СУБД по формуле:

«Память СУБД» = «Общая оперативная память» – «Оперативная память ОС»;

Shared memory – об этом параметре известно много, но до сих пор встречается, что про него забывают. Выставляем в «1», если сервер 1С и СУБД работают на одном физическом или виртуальном сервере. Кстати, работает, начиная с платформы 8.2.17.

Max degree of parallelism – определяет, сколько процессоров используется при выполнении одного запроса. СУБД распараллеливается получение данных при выполнении сложных запросов на несколько потоков. Для 1С рекомендуется устанавливать в «1», то есть одним потоком.

Авторасширение файлов БД - определяем шаг в МБ, с которым «расширяется» файл базы данных. Если шаг будет маленький, то при активном росте БД, частые расширения приведут к дополнительной нагрузке на дисковую систему. Лучше установить в 500 – 1000 МБ.

Реиндексация и дефрагментация индексов – рекомендуется делать дефрагментацию/реиндексацию хотя бы раз в неделю. Реиндексация блокирует таблицы, поэтому лучше запускать в нерабочее время или периоды минимальной нагрузки. Нет смысла делать дефрагментацию после перестроения индекса (реиндексации). По рекомендации Microsoft дефрагментацию делают в том случае, если фрагментация индекса не превышает 30 %. Если выше, рекомендуется сделать реиндексацию.

План электропитания – в настройках электропитания операционной системы установить на высокую производительность.

Буквально вчера обновили все программное обеспечение сервера. Затронем, пожалуй, самые интересные и новые возможности кластера серверов «1С:Предприятие 8.3».

Как настроить кластер серверов для «1С:Предприятие 8.2» можно посмотреть в предыдущей . На некоторых моментах заострять внимание не буду, они уже были описаны в ранее.

ТАК ЧТО ЖЕ ИЗМЕНИЛОСЬ В КЛАСТЕРЕ «1С:Предприятие 8.3»:

Первым делом, после установки кластера «1С:Предприятие 8.3» ранее необходимо было создать рабочие процессы. Как оказалось, процессы кластера теперь создаются автоматически в зависимости от нагрузки на учетную систему.

Пробный запуск фоновых заданий основной базы заставило кластер «1С:Предприятие 8.3» безконечно перегружать rphost.exe и дополнительный rphost.exe никак не хотел создаваться. Покопавшись в настройках все стало понятно.

Максимальный объем памяти рабочих процессов - это объем памяти, который могут использовать рабочие процессы вместе. Нужно быть очень внимательными при установке параметра, измеряется в байтах . Если установить неверное значение (недостаточное для нормальной работы пользователей) пользователям будет выдана ошибка «Недостаточно свободной памяти на сервере «1С:Предприятие»». Так же эту ошибку можно получить, когда на сервере «1С:Предприятие» закончилась квота по памяти.

Безопасный расход памяти за один вызов - позволяет контролировать расход памяти при серверном вызове, измеряется в байтах . Если вызов использует больше памяти чем положено, этот вызов будет завершен в рамках кластера 1С без перезапуска рабочего процесса (rphost.exe ). Соответственно «неудачник», который выполнил вызов сервера, утратит сеанс с базой данных без влияния на работу других пользователей.

Объем памяти рабочих процессов, до которого сервер считается производительным - при превышении этого параметра сервер в кластере «1С:Предприятие 8.3» перестанет принимать новые соединения.

Количество ИБ на процесс - позволяет изолировать информационные базы по рабочим процессам. По умолчанию у текущего кластера «1С:Предприятие 8.3» было установлено значение - «8», но на протяжении нескольких часов работы сервер вел себя нестабильно, сеансы пользователей зависали. После изоляции каждой информационной базы (значение - «1») проблемы пропали.

Количество соединений на процесс - по умолчанию значение «128». Так как у текущей базы очень большая нагрузка фоновыми заданиями (расчет логистики, анализ прайс-листов, анализ конкурентов и прочее) было принято решение уменьшить количество до «25».

Немного изменились настройки и самого кластера «1С:Предприятие 8.3»:


Уровень отказоустойчивости - это количество рабочих серверов, которые могут одновременно выйти из строя, и это не приведет к аварийному завершению работы пользователей. Резервные сервисы запускаются автоматически в количестве, необходимом для обеспечения заданной отказоустойчивости. В реальном режиме времени выполняется репликация активного сервиса на резервные.

Режим распределения нагрузки - есть два варианта параметра: «Приоритет по производительности» — памяти сервера тратится больше и производительность выше, «Приоритет по памяти» — кластер «1С:Предприятие 8.3» экономит память сервера.

Вместо послесловия. Кластер «1С:Предприятие 8.3» работает заметно шустрее и надежнее, создание сеанса пользователя с информационной базой происходит в разы быстрее, интерфейс в режиме совместимости с «1С:Предприятие 8.2.16», можно сказать, летает. Конечно, есть и нюансы, но куда ж без них. Успехов в настройке нового кластера «1С:Предприятие 8.3».

Несколько рабочих процессов на одном сервере дают возможность эффективно использовать объем оперативной памяти и ресурсы процессора для выполнения запросов, а также подключить клиентский сеанс к другому рабочему процессу при «крахе» текущего.
За понимание, что запущено на конкретном сервере, отвечает программа «Агент сервера» (ragent). Остановка агента сервера сделает сервер недоступным для использования кластером. Свою информацию агент хранит в файле srvribrg.lst.

Информацией о рабочих базах, задействованных рабочих процессах владеет «Менеджер сервера» (rmngr). Эту информацию он хранит в файле 1CV8Reg.lst. Остановка менеджера сервера может привести к перезапуску клиентских приложений в случаи удачного рестарта менеджера или к полной остановке работы рабочих серверов всего кластера.

1С: Предприятие допускает возможность создания на одном сервере несколько независимых кластеров. Каждый из них идентифицируется в сети уникальным «IP портом» и уникальным номером в служебных файлах. Первый кластер по умолчанию получает порт 1541.

Для управления кластером предназначена оснастка «Серверы предприятия».
Подключаться к серверам можно по имени или IP адресу сервера.

Агент сервера

Агент сервера «знает» о всех кластерах, которые запущены на сервере. Эта информация хранится в файле srvribrg.lst со списком кластеров и администраторов списка. Основной порт агента – 1540. На каждом Рабочем сервере может быть запущен только один агент, обслуживающей все возможные кластера на данном сервере.

Разберемся поподробнее со свойствами кластера

Интервал перезапуска

Данный параметр перезапускает рабочие процессы сервера 1С по заданному значению в секундах. Обычно параметр используется на тех серверах приложений, которые имеют 32х разрядную систему, так как там объем памяти ограничен ~ 3.7 гб., если используется операционная система 64х разрядная, а сервер приложений 32х. Если же ОС использует 32х разрядную архитектуру, тогда общий объем потребления памяти рабочего процесса составляет ~ 1.7 гб. И пользователи часто могут получать сообщение об ошибке вида “Недостаточно памяти на сервере 1С Предприятие”. Самый простой способ избежать данной ошибки, это сделать перезапуск рабочих процессов, к примеру 86400 секунд (1 сутки). При изменении параметра, отсчет времени начинается со старта службы сервера приложений 1С.

Допустимый объем памяти

Перезапуск рабочих процессов по достижению определенного порога занятой памяти рабочим процессом в килобайтах.

Интервал превышения допустимого объема памяти

Означает, если в течении заданного количества секунд произойдет превышение памяти, заданного в параметре “допустимый объем памяти”, тогда сервер 1С примет решение перезапустить рабочий процесс.

Допустимое отклонение количества ошибок сервера

Вычисляется следующим образом. У нас есть серверные вызовы, которые возможно увидеть в технологическом журнале по событию “CALL” а также есть различные исключительные ситуации, которые в технологическом журнале можно увидеть по событию “EXCP”. Платформа вычисляет соотношение данных событий. Предполагается, что данных событий должно быть приблизительно одинаково. Если же в каком-либо рабочем процессе данное соотношение превышает соотношение данных событий в других рабочих процессах на некую значительную величину, то такой рабочий процесс признается проблемным. Как раз данная величина задается в этом параметре. Рекомендуемое значение – 50.

Принудительно завершать проблемные процессы

Если мы включим данный параметр, то по параметру “допустимое отклонение количества ошибок сервера”, проблемные процессы будут завершены. Если параметр выключен, то платформа выводит событие технологического журнала “ATTN”, которое обозначает проблемный процесс.

Выключенные процессы останавливать через

Если сработает один из параметров “интервал перезапуска” или “допустимый объем памяти, то при перезапуске рабочего процесса, он может “отвалиться”. Если клиент во время перезапуска не обращается к серверу (бездействует), то при следующем обращении он плавно переключится на новый рабочий процесс. Если же клиент обращается к серверу в момент перезапуска рабочего процесса, то в данном случае он получит сообщение об ошибке и завершит свою работу. Чтобы этого не произошло, необходимо задать значение данного параметра в секундах. Обычно хватает 120 секунд. За это время рабочий процесс успеет обработать текущие запросы клиентов и перевести их на новый рабочий процесс. Тех активных клиентов, которых процесс не успел обработать, завершается и клиенты возможно могут получить ошибку.

Уровень отказоустойчивости

Данная настройка живет сама по себе не зависимо от количества центральных серверов. Уровень отказоустойчивости может принимать любые значения. К примеру, уровень отказоустойчивости = 1, тогда каждый сеанс пользователя удваивается. Если уровень отказоустойчивости = 2, то каждый сеанс умножается на 3. Также возрастает нагрузка на сервер. При изменении уровня отказоустойчивости, если у нас центральный сервер, он реплицирует на каждый центральный сервер: “реестр кластера”, “сервис блокировок кластера”. Также идет репликация на остальные серверы таких сервисов, как “сервис сеансовых данных”, “сервис оперативной отметки времени”, “сервис блокировок объектов”, “сервис лицензирования”, “сервис нумерации”. Среди них самым тяжелым является “сервис сеансовых данных”.

Режим распределения нагрузки

По производительности. Когда клиентское соединение подключается, оно будет подключено к тому серверу, где присутствует рабочий процесс с более доступной производительностью. Доступная производительность задается в свойствах рабочего процесса:


Доступная производительность на уровне 1С вычисляется следующим образом: ко всем рабочим процессам делается эталонный серверный вызов 1 раз в 10 минут и замеряется время данного вызова. Полученное число делится на 10000 (десять тысяч) и механизмами сервера приложения вычисляется эталонное время. В том случае, если производительность какого-либо рабочего процесса стала на 25 % меньше, чем у остальных, с данного рабочего процесса соединения начинают уходить на остальные рабочие процессы до тех пор, пока все соединения не уйдут.

Приоритет по памяти. Подключения пользователей будут производиться к такому рабочему серверу, у которого больше доступной памяти.

Менеджер кластера

Менеджер кластера отвечает за работу кластера. У каждого кластера свой Менеджер. Менеджер хранит информацию о кластере в файле 1CV8Reg.lst (реестр кластера). У каждого Менеджера кластера также есть свой порт на Рабочем сервере. Для первого кластера по умолчанию порт Менеджера 1541. Именно этот порт отображается в оснастке «Серверы 1С: Предприятия» в ветке «Кластеры», идентифицируя кластер.
Менеджер принимает запросы от клиентской части 1С: Предприятия и принимает решение, какому Рабочему процессу отдать этот запрос на обслуживание.

Для взаимодействия с рабочими процессами Менеджер использует служебный порт.

Рабочий процесс

За «работу с клиентами» отвечает Рабочий процесс. Рабочих процессов в кластере 1С: Предприятия 8 может быть несколько. Количество рабочих процессов не создается вручную, а рассчитывается исходя из описаний требований задач по отказоустойчивости и надежности. Менеджер сервера решает, какой из рабочих процессов будет обслуживать клиентское подключение. Для клиентских подключений Рабочим процессам по умолчанию выделяется диапазон IP портов 1560 – 1591. Кроме этого, каждому Рабочему процессу назначается Служебный порт для обмена с менеджером кластера.

Настройки рабочего сервера, по документации фирмы 1С, можно изменять только в версии КОРП сервера приложений 1С. По факту настройки работают как в версии КОРП, так и в версии ПРОФ. Если данные настройки использовать в версии ПРОФ, это будет являться нарушением лицензионного соглашения.

Максимальный объем памяти рабочих процессов

Данный параметр сам по себе ничего не ограничивает. Он работает в связке с параметром “безопасный расход памяти за один вызов”. Представим, что все наши рабочие процессы суммарно достигли приблизительно расхода по памяти от заданного значения данного параметра. И теперь некий пользователь хочет сделать некий серверный вызов, который хочет потребить большое число памяти. Как только серверный вызов превысит объем заданной памяти в данном параметре на объем памяти параметра “безопасный расход памяти за один вызов”, именно данный пользователь получит ошибку вида: “превышен безопасный расход памяти за один клиент-серверный вызов”. Это нужно для того, чтобы один какой-либо пользователь не смог “завалить” рабочий сервер. Значение параметра 0 равно 80 % памяти, установленной на сервере 1С.

Безопасный расход памяти за один вызов

Значение 0 (по умолчанию) составляет 5 % от значения параметра “максимальный объем памяти рабочих процессов”. Может быть значение -1. Это означает, что любой клиент-серверный вызов, превысивший заданное значение параметра “максимальный объем памяти рабочих процессов”.

Объем памяти рабочих процессов, до которого сервер считается производительным

Означает, если установлено значение и рабочие процессы заняли объем памяти, указанный в данном параметре, сервер будет продолжать работать, но не будет принимать новые подключения до тех пор, пока память не освободится.

Количество ИБ на процесс

Возможно снижение производительности, когда много информационных баз и один рабочий процесс. Поэтому данным параметром возможно уменьшить количество баз на 1 процесс. Если поставить значение 1 (в большинстве случаем это работает достаточно оптимально), то на каждую информационную базу будет создаваться новый рабочий процесс (rphost).

Количество соединений на процесс

Так же как параметр выше, только зависит от количества соединений на процесс. Значение 0 будет означать, что на каждом рабочем сервере будет только один рабочий процесс.

Менеджер под каждый сервис

У каждого центрального рабочего сервера есть главный менеджер кластера с определенными сервисами:


Они выполняются одной службой “rmngr”. Представим, что данная служба начинает потреблять много памяти или тратить процессорные ресурсы. Обычно есть несколько типичных подозреваемых. Но вдруг вы встали в “тупик” и не можете понять, что именно нагружает службу, вы можете установить галочку “менеджер под каждый сервис”, служба разобьется на 21 процесс (таково количество сервисов в главном менеджере кластера). И соответственно по PID процесса можно будет вычислить, какой сервис нагружает систему.

Центральный сервер

Это сервер, у которого хранится реестр кластера в файле 1СV8Clst.lst. В файле хранится список баз, список администраторов кластера, список требования назначения функциональности, список профилей безопасности, в общем все настройки кластера. Данный файл присутствует только там, где установлена галочка “центральный сервер”. Центральных серверов может быть несколько. Так же на центральных серверах присутствуют такие сервисы, как “сервис блокировки кластера”, “сервис конфигурации кластера”. Пока хотя бы один центральный сервер работоспособен, кластер функционирует. Как только самый последний центральный сервер вышел из строя, кластер становится неработоспособным не зависимо от настроек отказоустойчивости.

Требование назначения функциональности

Кластер серверов 1С Предприятия 8.3 предоставляет некоторый набор функциональных возможностей (называемые объекты требований), распределением которых между рабочими серверами внутри кластера можно управлять. Например, можно указать, что все фоновые задания в кластере будут выполняться на выбранном рабочем сервере. Для того, чтобы поместить соединение или сервис кластера на какой-либо рабочий сервер, необходимо для выбранного рабочего сервера создать требование назначения функциональности. Это требование определяет возможность или невозможность конкретного сервера выполнять ту или иную работу. Рассмотрим более подробно, что собой представляет требование назначения функциональности.

Перенос пользовательских соединений

Допустим мы хотим, чтобы пользовательские соединения работали на рабочем сервере № 1, но если этот сервер выходит из строя, мы хотим, чтобы они переходили на другой рабочий сервер № 2

Для этого нам необходимо на сервере № 1 создать требование назначения функциональности:


На сервере № 2 прописать такие же настройки, но изменить приоритет:


Важность приоритета реализована наоборот. То есть, приоритет 1 выше, чем приоритет 2.

Вывести рабочий сервер из кластера

Вывести рабочий сервер из кластера мы можем и просто, удалив его из списка, но в таком случае всех пользователей “выкинет” из системы. Чтобы более безболезненно осуществить вывод, можно сделать следующее:

Создать требование назначения функциональности со следующими настройками:


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

Сервис лицензирования

Вынести сервис лицензирования на отдельный сервер. Это хорошо тем, что программные лицензии можно привязать к определенному компьютеру. Создадим требование назначения функциональности со следующими настройками:


Фоновые задания

С выходом платформы 8.3.7, фоновые задания разделились на 2 группы:

1. Фоновые задания, вызываемые из кода конфигурации

2. Регламентные задания

Поэтому необходимо несколько настроек назначения функциональности:



1. Чтобы фоновые задания выполнялись быстро, необходимо добавить сеансовые данные для фоновых и регламентных заданий



После создания необходимых требований назначения функциональности, необходимо их применить:


Частичное – применение, которое не нарушит работу пользователей

Полное – применение, которое может нарушить работу пользователей.

На практике ни разу не встречалось, чтобы при полном применении нарушало работу пользователей или что-то подобное. Но все возможно, имейте ввиду. После применения, перезапуск службы сервера приложений 1С не обязателен.

Вы всегда можете обратиться к специалистам по оптимизации работы 1С, наш практический опыт сэкономит Ваше время.