Ошибка «Свойства кластера ‘Допустимое отклонение количества ошибок сервера’, ‘Режим распределения нагрузки’ или свойства рабочего сервера ‘Максимальный объем памяти рабочих процессов’, ‘Безопасный расход памяти за один вызов’, ‘Объем памяти рабочих процессов, до которого сервер считается производительным’, ‘Количество ИБ на процесс’ содержат значения, отличные от значений по умолчанию.» возникает при попытке подключения 11-го и более пользователя к любой базе данных, расположенной не сервере 1С:Предприятие 8 с версией платформы 8.3.12.1852, 8.3.13.1791 и 8.3.14.1592 и выше. Проблема наблюдается только у пользователей с лицензиями уровня ПРОФ, а также уровня КОРП, которые еще не обновили лицензии.
Все дело в том, что фирма 1С прекратила бета-тестирование корпоративного функционала и ввела с 9 сентября 2019 года ограничение на его использование на техническом уровне. Теперь для того, чтобы использовать в информационной базе более 500 пользователей или «крутить» ее на сервере с 12 физическими ядрами необходимо наличие лицензии уровня КОРП.
При этом, если с информационной базой работают не более 10 пользователей, то функционал КОРП доступен даже с лицензиями уровня ПРОФ. Думаю, лазейка оставлена для разработчиков прикладных решений для крупных внедрений.
Как решить проблему?
Если Ваш сервер удовлетворяет требованиям лицензии ПРОФ (имеет до 12 физических ядер), то можно решить проблему малой кровью. Чтобы пользователи смогли подключаться к базе, необходимо изменить настройки кластера на значения по умолчанию:
- Допустимое отклонение количества ошибок сервера = 0
- Режим распределения нагрузки = По производительности
а также настройки рабочего сервера:
- Максимальный объем памяти рабочих процессов = 0
- Безопасный расход памяти за один вызов = 0
- Объем памяти рабочих процессов, до которого сервер считается производительным = 0
- Количество ИБ на процесс = 8
Что делать, если на сервере более 12 ядер?
Вот мои рекомендации (приведены в порядке убывания трудоемкости):
- В первую очередь рекомендую обратиться на горячую линию фирмы 1С и уточнить все нюансы. Возможно есть шанс обновить лицензии или выполнить их upgrade;
- Выполнить откат обновления платформы (надеюсь, вы не их тех людей, которые обновляют платформу сразу на боевом сервере без предварительного тестирования) на последнюю рабочую версию. Будьте внимательны, т.к. на некоторых релизах downgrade невозможен без реструктуризации базы данных и возможной потери данных;
- Переконфигурировать ваш физический сервер в виртуальный, разделив тем самым ресурсы между виртуальными серверами так, чтобы это удовлетворяло требованиям лицензии ПРОФ (до 12 физических ядер);
Читайте также:
- Изменение работы лицензий «1С:Предприятия 8″ в крупных внедрениях
09.09.2014
Мониторинг состояния кластера
Реализовано в версии 8.3.6.1977.
1С:Предприятие используется для автоматизации довольно широкого круга задач. Вопрос надёжности, безусловно, важен для каждой из этих задач. Однако есть две области применения 1С:Предприятия, в которых надёжность системы является не просто важной, а очень-очень важной. Это корпоративные внедрения и облачные сервисы.
В этих областях, как мы считаем, есть два направления для повышения надёжности:
- Повышение качества за счёт уменьшения количества ошибок. Это касается как платформы, так и прикладных решений;
- Повышение защищённости системы от последствий ошибок.
Мы работаем в обоих направлениях. И в этой статье мы хотим рассказать про очередной шаг в направлении №2.
Этот шаг заключается в том, чтобы повысить защищённость сервера 1С:Предприятия от ошибок, которые могут возникнуть в его рабочих процессах. Это могут быть самые разные ошибки. Они могут быть следствием некорректной работы платформы. Или они могут возникнуть в результате выполнения некорректного прикладного кода, который исполняют рабочие процессы сервера.
Ошибки в рабочих процессах приводят к нескольким проблемам. Для устранения каждой узкой проблемы можно было бы сделать отдельный механизм. Но мы решили попробовать сделать сразу комплексное решение. Его рабочее название — система мониторинга. Мы понимаем, что название не совсем конкретное, но пока остановились на нём.
Суть системы мониторинга можно описать фразой из известной шутки: «В Одессе быстро поднятое не считается упавшим». А если говорить серьёзно, то задача системы мониторинга в том, чтобы своевременно обнаружить проблему и автоматически её исправить.
Систему мониторинга мы внедрили в процесс агента сервера. Каждые 10 секунд она производит опрос процессов кластера. В кластер может объединяться несколько рабочих серверов, каждым из которых управляет собственный агент сервера. Поэтому опрос процессов кластера производит только агент, управляющий центральным сервером:
Опрашиваются все процессы, функционирующие в кластере: менеджеры кластера, рабочие процессы. Процессы, исполняемые на рабочих серверах, опрашиваются через агентов этих серверов. Таким образом дополнительно проверяется ещё и работоспособность самих агентов.
Каждый процесс система мониторинга проверяет по следующим критериям:
- Соединение с процессом; оно должно быть установлено в течение 20 секунд;
- Стандартный запрос (тест скорости выполнения, соединения с базой данных, дисковые операции);
- Объем памяти, занимаемой процессом;
- Количество ошибок на количество запросов (сообщений типа EXCP на сообщения типа CALL в технологическом журнале в минуту);
- Завершение процессов, удаленных из реестра кластера; такие процессы должны завершиться в течение 20 минут.
Результаты проверки записываются в технологический журнал.
Для настройки критерия Анализ количества ошибок на количество запросов мы ввели новую опцию Допустимое отклонение количества ошибок сервера. Её нужно задавать в процентном отношении от среднего значения по остальным процессам. Например, вы установили её в значение 50. При этом среднее количество ошибок на запрос в минуту за последние 5 минут было 100. Тогда проблемными будут признаны такие процессы, которые вызвали более 150 ошибок на запрос в минуту.
Процесс может быть признан проблемным и по другим критериям (кроме критерия Стандартный запрос). Проблемные процессы система мониторинга может завершать самостоятельно, создавая перед этим дамп памяти процесса. Эта возможность включается опцией Принудительно завершать проблемные процессы.
Для того чтобы вы могли интерактивно и программно управлять опциями системы мониторинга, мы внесли необходимые доработки в утилиту администрирования клиент-серверного варианта, добавили новые методы объекту V83.COMConnector, добавили новые параметры в кроссплатформенный интерфейс администрирования кластера и новые события в технологический журнал.
С началом использования системы мониторинга для нас будет важно понять, насколько правильно мы выбрали стратегию определения уровня «здоровья» рабочего процесса. Нет ли ложных срабатываний, качественно ли определяются реальные проблемы. В этом смысле самым сложным нам представляется параметр Допустимое отклонение количества ошибок сервера. Потому что это косвенный способ оценки. Будем вместе с вами смотреть на практике, хорошо ли это работает.
Система мониторинга не единственное решение, направленное на повышение надёжности. В ближайшее время мы расскажем и о другом усовершенствовании, которое сделает работу кластера более прогнозируемой при разрывах сетевых соединений.
Теги:
кластер
8.3.6
![]()

С 9 сентября 2019 года пользователи 1С:Предприятие 8 ПРОФ могут получить ошибку:
Операция не может быть выполнена с текущим составом лицензий.
Свойства кластера ‘Допустимое отклонение количества ошибок сервера’, ‘Режим распределения нагрузки’ или свойства рабочего сервера ‘Максимальный объём памяти рабочих процессов’, ‘Безопасный расход памяти за один вызов’, ‘Объём памяти рабочих процессов, до которого сервер считается производительным’, ‘Количество ИБ на процесс’ содержит значения, отличные от значений по умолчанию.
Использование этих функций возможно только для лицензии на платформу уровня КОРП. Обратитесь к администратору для решения вопросов приобретения и установки лицензии уровня КОРП.

Для продолжения работы с текущими настройками локального кластера и рабочего сервера необходимо приобрести лицензии уровня КОРП или вернуть значения данных свойств к значениям «по умолчанию».
В любом случае в первую очередь нужно дать пользователям возможность работать дальше, поэтому вернём значения «по умолчанию».
Перезагрузка сервера не потребуется.
Настройки локального кластера

Настройки рабочего сервера

Красным подчёркнуты те значения, которые явно перечислены в тексте ошибки.
Значения по умолчанию
- Допустимое отклонение количества ошибок сервера — 0.
- Режим распределения нагрузки — «Приоритет по производительности».
- Максимальный объём памяти рабочих процессов — 0. Значение определяется автоматически как 80% объема оперативной памяти сервера.
- Безопасный расход памяти за один вызов — 0. Значение объема определяется автоматически, как 5% максимального объема памяти рабочих процессов на данном рабочем сервере.
- Объём памяти рабочих процессов, до которого сервер считается производительным — 0. Значение 0 означает, что никакого ограничения не установлено.
- Количество ИБ на процесс — 8. Если количество информационных баз превысит это количество, то кластер серверов создаст на этом рабочем сервере дополнительный рабочий процесс.
Примечание
Ряд параметров контроля объема памяти процессов можно будет делать с лицензией ПРОФ (04.10.2019)
Нами принято решение, что изменение значений параметров:
* Критический объем памяти процессов
* Временно допустимый объем памяти процессов
* Предел превышения (секунд) временно допустимого объема памяти процессов
можно будет делать с лицензиями уровня ПРОФ.При этом поведение для опции «Временно допустимый объем памяти процессов» для ПРОФ и КОРП лицензий будет отличаться.
С лицензиями ПРОФ изменение параметра будет действовать только на перезапуск процессов, а с лицензиями КОРП – и на перезапуск процессов, и на прерывание объёмных клиентских вызовов сервера.Сейчас в версии 8.3.15 эти опции доступны только с лицензиями уровня КОРП.
Изменение попадет в следующую финальную версию 8.3.15 (после 8.3.15.1656).

Цены
Несколько рабочих процессов на одном сервере дают возможность эффективно использовать объем оперативной памяти и ресурсы процессора для выполнения запросов, а также подключить клиентский сеанс к другому рабочему процессу при «крахе» текущего.
За понимание, что запущено на конкретном сервере, отвечает программа «Агент сервера» (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. Чтобы фоновые задания выполнялись быстро, необходимо добавить сеансовые данные для фоновых и регламентных заданий
1. Запретить остальные сервисы
После создания необходимых требований назначения функциональности, необходимо их применить:
Частичное – применение, которое не нарушит работу пользователей
Полное – применение, которое может нарушить работу пользователей.
На практике ни разу не встречалось, чтобы при полном применении нарушало работу пользователей или что-то подобное. Но все возможно, имейте ввиду. После применения, перезапуск службы сервера приложений 1С не обязателен.
Вы всегда можете обратиться к специалистам по оптимизации работы 1С, наш практический опыт сэкономит Ваше время.