Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adapter slows down BizTalk

I'm facing a problem with a slow (custom) BizTalk adapter.

Every night, an application sends more than 10'000 messages to a MSMQ within a few minutes. Unfortunately it takes hours for BizTalk to process them.

I do not have any orchestration, just route the messages to several parties. For one party we had to develop a custom adapter, but this adapter/interface is very slow. So I think BizTalk automatically throttles down the whole application and only reads as many messages from the queue that it can send over this slow adapter.

Therefore it takes hours till the MSMQ is empty.

If I stop this slow adapter and e.g. only enable a File Adapter that writes to the local file system, it takes a few seconds to process the thousands of messages from the MSMQ.

Is it possible to tweak BizTalk to process the incoming messages faster and just throttle the outgoing messages for this send port? It's unfortunate that all other parties have to wait for the messages because of one slow party.

Thank you for any advice!

Best regards Michael

like image 619
MFox Avatar asked Sep 18 '12 06:09

MFox


People also ask

How can I improve my BizTalk performance?

In order to achieve better performance in low latency scenarios, adopt one of the following approaches: Eliminate unnecessary orchestrations and adopt messaging-only patterns to reduce the total amount of roundtrips to the BizTalk MessageBox database.

What is BizTalk adapter?

An adapter is a software component that enables you to easily send messages out of or receive messages into BizTalk Server with a delivery mechanism that conforms to a commonly recognized standard, such as SMTP, POP3, FTP, or Microsoft Message Queuing (MSMQ).

What is BizTalk Accelerator?

The BizTalk Accelerator for SWIFT is included with BizTalk Server, and provides connectivity between your BizTalk Server and the Society for Worldwide Interbank Financial Telecommunication (SWIFT) message formats.


1 Answers

You may be running into a Rate Based Throttling condition (see MSDN). This occurs when the Publishing Rate (rate of messages coming in) exceeds the Delivery Rate * Rate Overdrive Factor (rate of messages sent * throttling percentage).

One simple way to avoid this throttling state is to increase your Rate Overdrive Factor within the BizTalk Host Configuration settings. This is likely not best practice, as it sounds like you would need to set the Rate Overdrive Factor to an enormously high value, which could have other repercussions.

Your other alternative, depending on how you have architected the solution, is to split your Send Port / Adapter off onto its own Host Instance. As throttling is performed on a per-Host Instance basis, splitting this specific Adapter's processing off means it will no longer impact the performance of messages being delivered to other parties via standard Adapter functionality.

like image 188
Brett Avatar answered Sep 19 '22 23:09

Brett