#0
by Chai Nic
Пробую перевести файловую БП3 на клиент-сервер. В клиент-сервере, как известно, для выполнения стандартных отчетов и регламентных процедур закрытия месяца _безальтернативно_ используется механизм фоновых заданий. С одной стороны, это плюс - позволяет во время формирования отчета пользователю делать что-то еще, но есть одно НО - огромный оверхед по времени выполнения при использовании этого механизма. Так, оборотно-сальдовая ведомость, которая формируется за секунду в файловом режиме, в режиме отложенного выполнения заданий формируется порядка 8 секунд. И проблема тут не собственно в клиент-сервере. Попробовал "обмануть" конфигурацию, заставив её подумать, что она работает на файловой версии (добавил в начало функции ОбщегоНазначения.ИнформационнаяБазаФайловая строчку Возврат Истина;) - в этом случае отчет выполняется на sql-базе так же быстро, как и в файловой. Вопрос. Почему такие задержки при использовании фоновых заданий?
#1
by Chai Nic
Попробовал в виде эксперимента подкрутить в конфигурации тайминги опроса фонового задания, в ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания и в ДлительныеОперации.ЗапуститьВыполнениеВФоне указал 0.1 секунду без последующего увеличения - резко выросло количество вызовов сервера, однако скорость формирования не изменилась... странно как-то. На что тратится время?
#4
by Chai Nic
Процессорного времени ОС в избытке и на сервере и на клиенте. Или вы имеете в виду, что 1с запускает для каждого фонового задания отдельный процесс? Неужели так всё плохо?
#5
by Chai Nic
Замер производительности по серверному коду не могу пока сделать - на сервере не включена отладка, а перезапускать его в рабочее время нельзя. А в отладчике, подключенном к клиенту ничего интересного - там доли секунды тратятся...
#9
by Chai Nic
Сервер 1с 32-битный, один процесс может упереться в нехватку адресного пространства... Но в виде эксперимента попробую вечером. Сомневаюсь, что это как-то повлияет.
#12
by Chai Nic
Попробовал всем процессам, кроме одного, поставить "Не использовать", пока не удаляя их - скорость инициализации фоновых задач резко выросла. Теперь 2 секунды вместо 8. Спасибо за подсказку.. не ожидал от 1с такой подлянки.
#13
by kiruha
Поставь разрешить отладку на сервере И в конфигураторе Отладка Подключение автоматическое подключение фоновые Сделай замер Но вообще не понятно зачем нужно ускорять фоновые ?
#17
by kiruha
Ну ну удачи ему в его экспериментах Про параллельность и приоритеты я так понимаю пофиг
#18
by Chai Nic
Если бухгалтер запустил формироваться ОСВ - он будет ждать, пока она сформируется.. ему параллельность нафиг не нужна, ему важнее реактивность интерфейса
#20
by Chai Nic
Мне незачем. Просто 1с выбора не оставляет: любой стандартный отчет БП3 формируется в фоновом режиме, если конфигурация запущена на клиент-сервере. Так задумано в 1с.
#24
by Chai Nic
"Ну может 1С решает, какому процессу отдать выполнение фонового" Уж слишком она задумчива в этом самом месте. Чтобы выбрать один из 8 - тратит не менее 5 секунд. Она на счетах что ли считает?)
#28
by Chai Nic
Попробовал с предопределенным заданием "Обмен сообщениями по учетным записям документооборота", поскольку сообщений никаких нет - на одном РП выполняется моментально (менее секунды), на более чем одном (проверял от 2 до 12) - задержка 8 секунд. В общем вывод такой - тормоза при использовании нескольких рабочих процессов, причем нет ощутимой зависимости от количества РП больше одного.
#30
by Chai Nic
Спорный вопрос. Как один рпхост сможет использовать возможности многопроцессорного сервера?
#33
by Chai Nic
В любом случае баг с тормозами запуска ФЗ при нескольких РП остается багом. 8 секунд плюсом на запуск - они не лишние при сколь угодно большом количестве пользователей..
#34
by kiruha
Вот представь - что кроме того что выполнить задачу нужно породить задание, определить нагрузку подчиненных, расчитать приоритеты, выделить ресурсы, согласовать параллельное получение данных и т.д. и только потом выполнить задачу Что быстрее ?
#35
by Chai Nic
Это лишь слова. А на деле - задача сводится к выбору одного наименее нагруженного процесса. Тратить на это несколько реальных секунд на современном сервере по меньшей мере неразумно.
#36
by Chai Nic
Кстати, говорят в 8.3 вообще убрали возможность добавлять рабочие процессы.. видать неспроста
#37
by Живой Ископаемый
неявно - можно. можно сказать что два пользователя на один рабочий процес, или 1 база
#38
by Никола_Питерский
Ну исходников 1Сного сервера мы не имеем и по этому как они там реализовали работу всей этой кухни понятия не имею ! Но 1С любит экспериментировать, это факт !
#39
by kiruha
Как написали ниже кухни мы не знаем. Может там идет инициализация которая потом исчезнет. Опять же большое количество данных между процесссами перекидывается не мгновенно
#41
by Леха Дум
багоискаители :), там обработчик ожидания опрашивает фоновые задания на предмет выполнение с определенной периодичностью :)
#42
by Fragster
я у автора спросил за что-то типа Задание = ФоновыеЗадания.Выполнить("ФоновыеФункции.ФоноваяКалибровка"); и обработчик ожидания тут не причем
#44
by Леха Дум
модуль ДлительныеОперации ВЫЗОВ: в общей форме "ФормаОтчета", процедура Функция ОтчетСкомпоноватьРезультатНаСервере(ВФоновомЗадании) ........... ........... Попытка ПараметрыФормированияОтчета, НСтр("ru = 'Варианты отчетов: Формирование отчета'") ); ПРОВЕРКА: иногда лучше промолчать
#45
by Жан Пердежон
ну скопипасти сюда пару модулей, их ведь ни у кого нет и никто, кроме тебя ни разу не видел. Что сказать-то хотел?
#46
by Chai Nic
Еще в я завышенные тайминги в конфигурации исключил, тем более, что налицо зависимость именно от количества рабочих процессов..
#47
by Леха Дум
время действительно может тратиться на системный опрос всех процессов, где выполняются фоновые задания. Кроме того, похоже системе приходится собирать информацию из данных по уже отработанным фоновым заданиям - тоже время. всю ветку от корки до корки не прочитаешь
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- УФ как убрать выделение первой строки при открытии. (Условное оформление)
- Ошибка при выполнении обработчика - 'ПриЗаписи' Попытка передачи с клиента на се
- Фокус на ячейке табличного поля
- Ошибка при создании "WSОписание" Extra content at the end of the document
- v7: Ошибка: Не задан вид!
- В ИЕРАРХИИ в виртуальных таблицах
- 1С УПП. Требование-накладная. расчет себестоимости.
- как подключиться к базе mysql скуд сфинкс из 1с?
- Как значение реквизита из одной формы поместить в другую форму?
- Печатные формы в управляемом приложении 1с 8.2 управление небольшой фирмой
- v7: Закрытие регистра Заявки в 1с 7.7 ПУБ
- 1С 8.2 Управляемое приложение: Не отображается подвал в ТЧ.
- есть ли split (как в c#) в языке 1С?
- Отчет по неликвидам
- СКД свернутая группировка по умолчанию
- не совпадает сумма документа и ее расшифровка
- как в СКД преобразовать строку к числу в вычисляемом поле или выражении?
- СКД, отличаются данные с детальными записями и только группировкой, почему ?
- Выгрузка в YML из 1С 8.2
- Перевод БП 3.0: Работа в программе временно ограничена...