Медленное получение файла BizTalk - PullRequest
2 голосов
/ 19 мая 2009

У меня есть приложение с местом получения файла. После того, как экземпляр хоста работает в течение нескольких часов, местоположение приема не может определить новые файлы, помещенные в папку, которую он отслеживает. Они вообще не забывают о них, просто их производительность резко возрастает. Местоположение получения настроено так, чтобы опросить целевую папку каждые 60 секунд, но после того, как экземпляр хоста работает в течение часа или около того, кажется, что целевая папка опрашивается только каждые тридцать минут. Если я перезапущу экземпляр хоста, то файлы, ожидающие в целевой папке, будут собраны сразу, и производительность будет хорошей в течение следующего часа или около того.

Одно и то же приложение отлично работает в другой среде. Теперь в журнале событий есть очевидные записи, связанные с проблемой. Все задания BizTalk SQL работают нормально, за исключением сервера резервного копирования BizTalk (BizTalkMgmtDb).

Любые предложения с благодарностью приняты.

Спасибо

Rob

Ответы [ 7 ]

2 голосов
/ 26 мая 2009

Вот некоторые дополнительные инструменты, которые могут помочь вам выявить и диагностировать проблемы с базой данных BizTalk.

BizTalk MsgBox Viewer

Вот инструмент для исправления выявленных ошибок:

Terminator

Используйте на свой страх и риск ... читайте глоги и документы. Начните с просмотра окна сообщения и сообщите нам наши результаты.

1 голос
/ 30 января 2012

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

"Это вызвано выгрузкой домена приложения в хост-процессе BizTalk. Если домен приложения завершает работу после простоя, следующее сообщение должно ждать, пока Orchestration скомпилируется снова. В зависимости от сложности вашего проекта это может быть заметным ожиданием. Чтобы предотвратить это в сценарии с требованиями к низкой задержке, вы можете изменить файл BTSNTSVC.EXE.config и установить для свойства SecondsIdleBeforeShutdown значение -1. ​​Это предотвратит отключение AppDomain из-за простоя. "

Вы можете найти статью здесь: http://blogs.msdn.com/b/biztalkcpr/archive/2008/05/08/thoughts-on-orchestration-performance.aspx

Мне потребовалось много времени, чтобы ответить, но я подумал, что могу кому-то помочь. ура:)

1 голос
/ 22 мая 2009

Вы упоминаете, что решение не имеет проблем в другой среде, поэтому, скорее всего, есть проблема с конфигурацией.

Проверьте следующее:

** На SQL Server установите верхний предел памяти для SQL Server. По умолчанию SQL Server использует все, что может получить, а затем зависает на нем, поэтому установите разумный предел, чтобы ваша система могла работать, не тратя много времени на подкачку памяти на жесткий диск и с него.

** Убедитесь, что у вас есть доступное дисковое пространство - возможно, у вас заканчивается - это может привести к всевозможным странным проблемам.

** Попробуйте разделить файл подкачки системы между физическими дисками (если у вас в системе более одного диска). Также рассмотрите возможность использования более быстрого диска, или, если у вас много денег, получите SAN.

** Включено ли отслеживание в BizTalk? Если да, отслеживаете ли вы тела сообщений? Отключите отслеживание или отслеживание тела сообщения и посмотрите, есть ли разница.

** Запустите монитор производительности и следите за следующими счетчиками при запуске решения

  • Объект: BizTalk Messaging
  • Экземпляр: (выберите принимающий хост) %%
  • Счетчик: полученных документов / сек.

  • Объект: BizTalk Messaging

  • Экземпляр: (выберите передающий хост) %%
  • Счетчик: отправленных документов / сек.

  • Объект: XLANG / s Orchestrations

  • Экземпляр: (выберите хост обработки) %%
  • Счетчик: Завершенные оркестровки / сек.

%% У вас может быть только один хост, так что просто используйте его. Поскольку конфигурации BizTalk различаются, я использую общие имена для хостов.

Предыдущие счетчики отслеживают самые основные аспекты вашего сервера, но могут помочь сузить места, чтобы посмотреть дальше. Вы можете, конечно, добавить процессор и память тоже. Если у вас есть время (дни ... может быть недели), вы можете отслеживать процессы, которые выделяют память и никогда не освобождают ее. Используйте следующий счетчик ...

  • Объект: Память
  • Счетчик: байт невыгружаемого пула

Медленное снижение этого счетчика указывает на то, что процесс не освобождает память, что влияет на все в системе.

Дайте нам знать, как все обернется!

1 голос
/ 21 мая 2009

Что еще происходит с сервером? BizTalk привязан иначе или бездействует?

1 голос
/ 21 мая 2009

Еще одна вещь, которую необходимо учитывать, - учетные записи пользователей, под которыми работают хосты send, receive и orchestration. Пожалуйста, проверьте консоль администрирования BizTalk. Если все они работают под одной и той же учетной записью, иногда оркестровки могут истощать процессы отправки и получения процессорного времени. Я считаю, что приоритет отдается оркестровки, затем получить, а затем отправить. Даже если вы только разрабатываете, для этого полезно использовать отдельные учетные записи. Это также повышает безопасность.

Wrox BizTalk Server 2006 также предоставит рекомендации по настройке.

1 голос
/ 19 мая 2009

Без лишних подробностей самое важное, что задание резервного копирования не выполняется. Если задание резервного копирования не выполняется, оно может быть неправильно настроено. Если он правильно настроен и все еще не работает, у вас есть другие проблемы. Не могли бы вы дать нам больше информации о вашей установке BizTalk.

  1. Какую версию вы используете?
  2. Каковы размеры нашей базы данных?
  3. Каковы ваши настройки очистки и архивирования?
  4. Есть ли в вашей БД SQL Server длительно работающие блоки, поступающие из BizTalk?
0 голосов
/ 08 июня 2009

Несколько хороших предложений от других. Я добавлю:

Есть ли у вас какие-либо настраиваемые компоненты конвейера приема в месте получения? Если это так, возможно, происходит утечка памяти, вызывая какой-то внешний компонент, например, базу данных, которая занимает много времени?

Насколько большими являются файлы, которые вы получаете?

В свойствах передачи файлов вашего получателя установите «переименование файлов», переименовывать ли файлы в течение 60 с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...