Форумы » Вопросы и ответы по интеграции »
Производительность данного решения интеграции
Добавил(а) Скворцов Анатолий около 5 лет назад
Кто поделится замерами:
Сколько документов ВСД2 кто отправляет и за какое время они уходят?
У нас, например, пока только сыр и масло: 73 ВСД2 уходят за 14 минут (утро 7:19 - 7:33 Мск)
Получается один ВСД2 отправляется в среднем 11,5 сек, а если будет 2000 ВСД2, то уйдет за 6 часов 23 минуты!
Как ускорить?
Ответы (10)
RE: Производительность данного решения интеграции - Добавил(а) Михайлов Михаил около 5 лет назад
Да, нужно думать, меркурий уж сильно стал задумчивее (мож из- за молочки).
У нас по 1.4 шлюзу, но данные примерно такие-же. 600 транзакций по 5- 10 всд в каждой, 3-4 часа. интервал опроса ответа (в настройках) снизил до 10 секунд.
Решение 1:
Подумываю переделать решение и отправлять одновременно не одну транзакцию а 50 (в техподдержке сказали это максимум для одного запроса).
Решение 2:
Оставить схему одна транзакция - один запрос, но ответы ловить при повторном проходе.
То есть сейчас у меня самопальная обработка пробегается по списку и делает для каждой транзакции 1-отправку запроса и 2-ждет ответа.
По идее я понимаю можно не дожидаться, а при получении "AppId" посылать следующий запрос, а потом минут через 15 попросить ответ по каждому "AppId".
Хочу комментариев разработчиков.
RE: Производительность данного решения интеграции - Добавил(а) Pentyukhov Sergey около 5 лет назад
Я не разработчик, но сразу вопрос, что будет с остатками по партиям в справочнике ВСД_Партии?
если ждать ответ(подтверждение) 15 минут, то остаток не будет уменьшаться в партиях и можно наделать много транзакций в МИНУС.
Для такого надо городить еще проверки по неподтвержденным Транзакциям и не давать создавать новые.
RE: Производительность данного решения интеграции - Добавил(а) Михайлов Михаил около 5 лет назад
Pentyukhov Sergey писал(а):
Я не разработчик, но сразу вопрос, что будет с остатками по партиям в справочнике ВСД_Партии?
если ждать ответ(подтверждение) 15 минут, то остаток не будет уменьшаться в партиях и можно наделать много транзакций в МИНУС.Для такого надо городить еще проверки по неподтвержденным Транзакциям и не давать создавать новые.
Ну например, можно не списывать в минус,то есть подумать об остатках перед массовой операцией (мне так и приходится), а потом меркурий не даст списать в минус, а еще можно перезапросить остатки, я например делаю регулярно, так как в меркурий "входят" из разных ИБ, а еще кто-то через вебинтерфейс и что-то гасит.
Хотя да, замечание верное, но тут уже административные меры должны помогать.
RE: Производительность данного решения интеграции - Добавил(а) кб99 Синявский Филипп около 5 лет назад
Анатолий, спасибо - вопрос действительно интересный.
Нужно уточнить - производительность данного решения = скорость формирования и отправки запросов = почти мгновенно
А вот обработка запросов выполняется на серверах Ветис = скорость низкая, с этим сталкиваются ВСЕ решения интеграции.
Поэтому наша задача уменьшить время ожидания серверов Ветис.
Михаил, решение 1 - не понял - по документу ВСД2_Транзакция списание партий выполняется одним запросом, в запросе количество партий = количество строк в документе
решение 2 нравится больше.
Ветис обрабатывает запросы последовательно - можно отправлять запросы (это выполняется быстро), получение ответа делать после отправки всех запросов
Ограничения Ветис = 5 запросов/сек
Запросы обрабатываются последовательно.
Как правильно отметил Сергей - возникнут вопросы с контролем остатков по партиям. Этот вопрос решается с помощью контроля остатков по регистру 1С (в новой версии 13 - сейчас проверяем)
RE: Производительность данного решения интеграции - Добавил(а) Михайлов Михаил около 5 лет назад
kb99 Филипп писал(а):
Михаил, решение 1 - не понял - по документу ВСД2_Транзакция списание партий выполняется одним запросом, в запросе количество партий = количество строк в документе
Мне сказали, что можно в один запрос запихнуть до 50 транзакций.
фрагмент ответа ТП:
Также, чтобы уменьшить вероятность неполучения ответа мы рекомендуем в рамках одного запроса prepareOutgoingConsignmentRequest отправлять не более 50 consignment'ов.
Не знаю как уж быть с AppID ну может в ответе будет список и т.п. не знаю ......
RE: Производительность данного решения интеграции - Добавил(а) кб99 Синявский Филипп около 5 лет назад
Сызрань Анатолий Скворцов писал(а):
Получается один ВСД2 отправляется в среднем 11,5 сек, а если будет 2000 ВСД2, то уйдет за 6 часов 23 минуты!
Как ускорить?
Сейчас отправка и получение ответов 50 документов занимает около 30 сек вместе с получением условий перевозки ( Регионализации )
RE: Производительность данного решения интеграции - Добавил(а) Тамбов Владислав около 5 лет назад
Только нужно исключать из отправки те документы, в которых есть строки с пустыми партиями, иначе статус документа становится COMPLETED и оператор из ГО Реализация не видит, что документ не отправлен.
RE: Производительность данного решения интеграции - Добавил(а) кб99 Синявский Филипп около 5 лет назад
Тамбов Владислав писал(а):
Только нужно исключать из отправки те документы, в которых есть строки с пустыми партиями, иначе статус документа становится COMPLETED и оператор из ГО Реализация не видит, что документ не отправлен.
Добавлена проверка в версии 1.14.09
RE: Производительность данного решения интеграции - Добавил(а) Pentyukhov Sergey около 5 лет назад
разобрался
RE: Производительность данного решения интеграции - Добавил(а) Тамбов Владислав около 5 лет назад
Добавили проверку при быстрой отправке документов на плохие сроки, а то статус документа становится COmpleted, а на самом деле документ не отправлен?