Проблема с сервером BizTalk

Я думаю, что этот (контравариантность) будет на самом деле поддерживаться в C# 4.0. http://blogs.msdn.com/charlie/archive/2008/10/27/linq-farm-covariance-and-contravariance-in-visual-studio-2010.aspx

8
задан David Hall 27 December 2009 в 21:32
поделиться

5 ответов

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

Что вам следует делать:

  1. Разделите новое приложение на другой хост, чем остальная часть приложения. Регулировка выполняется на уровне хоста. Таким образом, проблемное приложение не повлияет на остальные приложения.
  2. О том, как отключить регулирование, читайте по ссылке выше.
  3. Мы реализовали внешнюю службу регулирования. Эти каналы BizTalk получают местоположение в небольших удобоваримых пакетах. Это уродливо, но проблема уродливая.

Обновление для комментария: У вас достаточно экземпляров хоста. Так что игнорируйте этот совет. Вы можете переупорядочивать приложения между экземплярами. Но четких указаний для этого нет. Так что это просто перемешивание и предположение.
Насчет безопасности отключения троттлинга. Эта функция не имеет особого смысла во многих сценариях. Вы должны это изучить. Проверьте, какой из параметров дросселирования вы используете (это можно увидеть в мониторе производительности), и решите, как изменить пороговые значения.

8
ответ дан 5 December 2019 в 12:09
поделиться

How many host instances do you have?

From the line:

The send and receive ports have a lot of different types: File, MQSeries, SQL, MLLP, FTP. Each of these types have a different host instances, to balance out the load. Our orchestrations use the BiztalkApplication host

It sounds like you have a lot - I recently did an audit of a system where BizTalk was self throttling and the issue was in part due to too many host instances. Each host instance places its own load upon the BizTalk messagebox, as well as chewing up a minimum of 200mb memory.

Reading your comment, you have 20 - this is too many and would be a big part of your problems.

A good starting host setup would be:

  • A dedicated tracking host
  • One host that contains all receive handlers for adapters
  • One host that contains all orchestrations
  • One host that contains all send handlers for adapters
  • One host for adapters that need to be clustered (like FTP and MSMQ)

You can then also consider things like introducing "real time" hosts and batched hosts, so you can tune the real time hosts for low latency.

You can also have hosts for specific applications if there are known to be unstable, but in general this should not be done.

3
ответ дан 5 December 2019 в 12:09
поделиться

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

Таким же образом, перезапуск отправки / получения, похоже, решает проблему. В моем случае я обнаружил прямую корреляцию с использованием памяти хост-процессами. Я использовал счетчики производительности, чтобы увидеть, когда на данном хосте было ограничено использование памяти. Создавая дополнительные хосты и перемещая между ними оркестровки и порты, я смог сузить круг вопросов, которые вызывали проблему. В основном в моем случае перезапуск хостов был эквивалентен окончательной «сборке мусора» для освобождения памяти. Это было, конечно, до тех пор, пока не набралось достаточно экземпляров, чтобы снова его сожрать.

Боюсь, что я еще не решил проблему, но я нашел несколько вещей, которые могут решить эту проблему:

  1. Увеличьте объем памяти для данного процесса, чтобы дросселирование не происходило или не происходило позже
  2. Каждый хост Экземпляр, хотя и информативен, имеет дополнительные накладные расходы. Попробуйте объединить хосты, которые не являются вашими проблемными детьми, вместе, чтобы уменьшить объем памяти.
  3. Используйте оборудование, оперативная память стоит дешево
  4. Я измеряю следующие параметры каждые несколько минут в perfmon, чтобы определить причину проблемы:

    BizTalk: MessageAgent (*) \ Использование памяти процессом (МБ)

    BizTalk: MessageAgent (*) \ Пороговое значение использования памяти процесса

    Память \ Доступные МБ

Еще несколько моментов, на которые стоит обратить внимание. Убедитесь, что все настраиваемые конвейеры используют правильные методы работы с памятью BizTalk (т. Е. Никаких скрытых манипуляций с XML DOM и т. Также теоретически уменьшение количества потоков для данного хоста должно снизить объем памяти, который он может занять за один раз. Похоже, мне не повезло с этим. Возможно, регулирование BizTalk перекрыло его, как упоминали другие, я не знаю. Кроме того, в заключение, если вы сбрасываете результаты perfmon в csv, с помощью Excel вы можете сделать несколько красивых графиков использования памяти. Это может быть полезно для разговора с руководством о покупке дополнительного оборудования. Предполагается, что ваша проблема также соответствует этому сценарию.

с помощью Excel вы можете составить красивые графики использования памяти. Это может быть полезно для разговора с руководством о покупке дополнительного оборудования. Предполагается, что ваша проблема также соответствует этому сценарию.

с помощью Excel вы можете составить красивые графики использования памяти. Это может быть полезно для разговора с руководством о покупке дополнительного оборудования. Предполагается, что ваша проблема также соответствует этому сценарию.

1
ответ дан 5 December 2019 в 12:09
поделиться

We fixed the problem temporarily due to a combination of all ur answers.

We set the process memory usage throttling parameters of some hosts higher.

We divided the balance of the host instances better after I analyzed all the memory usage of all hosts, thanks to performance counters and also with the use of a tool called MsgBoxViewer.

And now we're trying to get more physical memory & hopefully also an extra server or a 64bit server.

Thanks for all replies!

1
ответ дан 5 December 2019 в 12:09
поделиться

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

Хотя 64-разрядная версия не дала нам особых улучшений (за исключением немного большего объема памяти), так как она не может использовать 64-разрядную версию в конвейерах IBM MQ, MLLP, HL7 и т. Д ...

{{1 }}
1
ответ дан 5 December 2019 в 12:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: