Регламентные и фоновые задания на отдельном сервере. Модуль с возвращаемыми значениями

1. ermak 18.06.19 15:25 Сейчас в теме
Друзья, приветствую!

Прошу совета. Или ткните в ман.

Платформа 1С:Предприятие 8.3 (8.3.13.1644)
Комплексная автоматизация, редакция 1.1 (1.1.90.1) (доработанная серьезно).

Три сервера:
- 1S_1 x64
- 1S_2 x64
- SQL x64 (тут только MS SQL Std)

Сервер 1С в кластере:
На 1S_1 работают пользователи, точнее, обслуживаются их сеансы.
На 1S_2 работают только регламентные и фоновые задания


Настройка 1S_2
Клиентское соединение с ИБ - Назначать - BackgroundJob.Report - 0
Клиентское соединение с ИБ - Назначать - BackgroundJob.CommonModule - 0
Клиентское соединение с ИБ - Назначать - BackgroundJob.ScheduledJob - 0
Для всех - Не Назначать - Для всех - 0

И все вроде хорошо, но.
Есть регламентное задание, которое порождает множество фоновых заданий.
Фоновые задания выполняю сбор данных и формируют файлы Excel.

Перед сбором данных, в параметр сеанса, выкладывается две таблицы:
1. На 20К строк
2. На 110К строк
Эти две таблицы заворачиваются в структуру и сохраняются как ХранилищеЗначения в параметре сеанса.

Затем, есть код, который в процессе сбора данных очень часто обращается к таблице на 110К строк. Для получения из нее данных, есть специальный модуль, с функцией возвращаемого значения. Этот модуль, вынимает из параметра сеанса структуру, берет из нее таблицу и ее возвращает.

В итоге, часть документов выгружается нормально, а часть нет, с выходом в "Недостаточно памяти для выполнения операции на один вызов".
Мы проверили, могла ли таблица разрастись в какой либо момент. Нет, все те же 110К строк.
Сняли лимит на количество памяти на один вызов (-1)
Увеличили pagefile

В итоге, не работает. Ошибка та же.

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

Вернули обратно опцию.
Ошибка вернулась. "Недостаточно памяти для выполнения операции на один вызов"

Перенесли все задания на сервер 1S_1 (где работают пользователи).
Все работает!

Вернули обратно на 1S_2
Ошибка вернулась.

Скажите, мы либо настроили сервер неправильно, не указав какую то ещё директиву требованиях назначений, либо есть какое-то недокументированное (или наоборот) ограничение на работу с модулями возвращаемых значений, при использовании их в регламентных и фоновых заданиях, на специально выделенных серверах кластера, для этих целей?
Буду очень признателен. Спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. Vitaly1C8 18.06.19 16:51 Сейчас в теме
(1)
Перед сбором данных, в параметр сеанса, выкладывается две таблицы:
1. На 20К строк
2. На 110К строк

При работе с такими объемами память кончится рано или поздно ...
Мой совет перенести две таблицы в "память sql сервера"
Создаем Справочник.ДвеТаблицы затем создаем два новых элемента - заполняем их данными;
В параметр сеанса выкладываем Ссылку/Код на Элемент
6. ermak 18.06.19 20:29 Сейчас в теме
(5)
Спасибо за совет!
Там получиться так, что к справочнику за данными сеанс обратиться порядка 500 раз. Я понимаю, что это звучит дико, но "это" досталось по наследству. Есть план по оптимизации, но его бюджет его надо утвердить.
В сущности, программисты пытались добиться максимальной производительности, отправляя таблицу в память сеанса, да ещё и с модулем повторно возвращаемых значений.

Другое дело, что как в ручном режиме, так и на первом сервере, все работает нормально.
Отсюда я и зацепился к тому, что вероятно есть ограничения на повторно возвращаемые значения, на сервере, который в кластере выполняет только регламенты и фоны.
8. collider 19.06.19 05:15 Сейчас в теме
(6) А можно таблицу значений перенести в менеджер временных таблиц. Тогда она будет создаваться на сервере СУБД.
2. ginshou 18.06.19 15:54 Сейчас в теме
Можно настроить через назначения функциональности , если конечно все сервера в кластере.
3. ginshou 18.06.19 15:56 Сейчас в теме
правда есть ньюанс,Если на сервере с фоновыми заданиями кончатся ресурсы, сеансы фоновых все равно могут перелезать на другие сервера, возможно это как- то можно победить, но я не знаю , т.к не углублялся в эту тему.
4. ermak 18.06.19 16:03 Сейчас в теме
Прошу прощения, не дописал пост.
Обновил.
7. a.doroshkevich 1420 19.06.19 04:29 Сейчас в теме
Сервера 1С одинаковые по параметрам?
ТНФ на S1 есть?
ТНФ на S2 только те что перечислены?
9. ermak 19.06.19 10:02 Сейчас в теме
(7)
Добрый день!

ТНФ на S1 есть.
Он зеркалит по регламентам и фонам, а в остальном разрешает все.

То есть, настройка S1
Клиентское соединение с ИБ - НЕ Назначать - BackgroundJob.Report - 0
Клиентское соединение с ИБ - НЕ Назначать - BackgroundJob.CommonModule - 0
Клиентское соединение с ИБ - НЕ Назначать - BackgroundJob.ScheduledJob - 0
Для всех - Назначать - Для всех - 0

ТНФ на S2 - Да

Спасибо!
10. a.doroshkevich 1420 19.06.19 10:19 Сейчас в теме
Сервера 1С одинаковые по параметрам?
11. ermak 20.06.19 20:37 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот