Производительность данного решения интеграции - 1Cv7 ВСД в ГИС Меркурий - КБ99 Redmine

Проект

Общее

Профиль

Производительность данного решения интеграции

Добавил(а) Скворцов Анатолий больше 4 лет назад

Кто поделится замерами:
Сколько документов ВСД2 кто отправляет и за какое время они уходят?
У нас, например, пока только сыр и масло: 73 ВСД2 уходят за 14 минут (утро 7:19 - 7:33 Мск)
Получается один ВСД2 отправляется в среднем 11,5 сек, а если будет 2000 ВСД2, то уйдет за 6 часов 23 минуты!
Как ускорить?


Ответы (10)

RE: Производительность данного решения интеграции - Добавил(а) Михайлов Михаил больше 4 лет назад

Да, нужно думать, меркурий уж сильно стал задумчивее (мож из- за молочки).
У нас по 1.4 шлюзу, но данные примерно такие-же. 600 транзакций по 5- 10 всд в каждой, 3-4 часа. интервал опроса ответа (в настройках) снизил до 10 секунд.

Решение 1:
Подумываю переделать решение и отправлять одновременно не одну транзакцию а 50 (в техподдержке сказали это максимум для одного запроса).

Решение 2:
Оставить схему одна транзакция - один запрос, но ответы ловить при повторном проходе.
То есть сейчас у меня самопальная обработка пробегается по списку и делает для каждой транзакции 1-отправку запроса и 2-ждет ответа.
По идее я понимаю можно не дожидаться, а при получении "AppId" посылать следующий запрос, а потом минут через 15 попросить ответ по каждому "AppId".

Хочу комментариев разработчиков.:)

RE: Производительность данного решения интеграции - Добавил(а) Pentyukhov Sergey больше 4 лет назад

Я не разработчик, но сразу вопрос, что будет с остатками по партиям в справочнике ВСД_Партии?
если ждать ответ(подтверждение) 15 минут, то остаток не будет уменьшаться в партиях и можно наделать много транзакций в МИНУС.

Для такого надо городить еще проверки по неподтвержденным Транзакциям и не давать создавать новые.

RE: Производительность данного решения интеграции - Добавил(а) Михайлов Михаил больше 4 лет назад

Pentyukhov Sergey писал(а):

Я не разработчик, но сразу вопрос, что будет с остатками по партиям в справочнике ВСД_Партии?
если ждать ответ(подтверждение) 15 минут, то остаток не будет уменьшаться в партиях и можно наделать много транзакций в МИНУС.

Для такого надо городить еще проверки по неподтвержденным Транзакциям и не давать создавать новые.

Ну например, можно не списывать в минус,то есть подумать об остатках перед массовой операцией (мне так и приходится), а потом меркурий не даст списать в минус, а еще можно перезапросить остатки, я например делаю регулярно, так как в меркурий "входят" из разных ИБ, а еще кто-то через вебинтерфейс и что-то гасит.

Хотя да, замечание верное, но тут уже административные меры должны помогать.

RE: Производительность данного решения интеграции - Добавил(а) кб99 Синявский Филипп больше 4 лет назад

Анатолий, спасибо - вопрос действительно интересный.

Нужно уточнить - производительность данного решения = скорость формирования и отправки запросов = почти мгновенно
А вот обработка запросов выполняется на серверах Ветис = скорость низкая, с этим сталкиваются ВСЕ решения интеграции.
Поэтому наша задача уменьшить время ожидания серверов Ветис.

Михаил, решение 1 - не понял - по документу ВСД2_Транзакция списание партий выполняется одним запросом, в запросе количество партий = количество строк в документе

решение 2 нравится больше.
Ветис обрабатывает запросы последовательно - можно отправлять запросы (это выполняется быстро), получение ответа делать после отправки всех запросов
Ограничения Ветис = 5 запросов/сек
Запросы обрабатываются последовательно.

Как правильно отметил Сергей - возникнут вопросы с контролем остатков по партиям. Этот вопрос решается с помощью контроля остатков по регистру 1С (в новой версии 13 - сейчас проверяем)

RE: Производительность данного решения интеграции - Добавил(а) Михайлов Михаил больше 4 лет назад

kb99 Филипп писал(а):

Михаил, решение 1 - не понял - по документу ВСД2_Транзакция списание партий выполняется одним запросом, в запросе количество партий = количество строк в документе

Мне сказали, что можно в один запрос запихнуть до 50 транзакций.

фрагмент ответа ТП:

Также, чтобы уменьшить вероятность неполучения ответа мы рекомендуем в рамках одного запроса prepareOutgoingConsignmentRequest отправлять не более 50 consignment'ов.

Не знаю как уж быть с AppID ну может в ответе будет список и т.п. не знаю ......

RE: Производительность данного решения интеграции - Добавил(а) кб99 Синявский Филипп больше 4 лет назад

Сызрань Анатолий Скворцов писал(а):

Получается один ВСД2 отправляется в среднем 11,5 сек, а если будет 2000 ВСД2, то уйдет за 6 часов 23 минуты!
Как ускорить?

Сейчас отправка и получение ответов 50 документов занимает около 30 сек вместе с получением условий перевозки ( Регионализации )

RE: Производительность данного решения интеграции - Добавил(а) Тамбов Владислав больше 4 лет назад

Только нужно исключать из отправки те документы, в которых есть строки с пустыми партиями, иначе статус документа становится COMPLETED и оператор из ГО Реализация не видит, что документ не отправлен.

RE: Производительность данного решения интеграции - Добавил(а) кб99 Синявский Филипп больше 4 лет назад

Тамбов Владислав писал(а):

Только нужно исключать из отправки те документы, в которых есть строки с пустыми партиями, иначе статус документа становится COMPLETED и оператор из ГО Реализация не видит, что документ не отправлен.

Добавлена проверка в версии 1.14.09

RE: Производительность данного решения интеграции - Добавил(а) Тамбов Владислав больше 4 лет назад

Добавили проверку при быстрой отправке документов на плохие сроки, а то статус документа становится COmpleted, а на самом деле документ не отправлен?

    (1-10/10)