Monitoring BizTalk Throttling
So now you have deployed your BizTalk solution, you followed development & deployment best practices and guidelines, but there is one more caveat that is lurking in the shadows, that is, BizTalk Throttling.
It is a double-edged sword, on one hand BizTalk Server uses host-level throttling as an internal safeguard mechanism against unexpected loads based on resources, message rate, or orchestration-related thresholds. Generally, it will slow down the message processing, instead of crashing! This is, without a doubt, one of the most important features of this advanced, well-designed platform.
On the other hand, BizTalk throttling usually rears its head in production environments, to inexperienced developers, and eventually to the customers, and the inevitable perception will be that BizTalk and your integration solution have fallen short of expectations.
Initially you would need to conduct stress testing in, ideally, a pre-production environment, that is a replica from production topology and specs environment, to make sure that your solution and the platform can withstand realistic loads.
Afterwards, you need to fully understand the different throttling states, before you could start fine tuning host-level settings through BizTalk Settings Dashboard. Importantly, you should change one setting at a time and re-test to verify the impact of that setting on throttling.
For some cases the transactions loads simply go beyond the underlying infrastructure capabilities, and you might actually need to scale-up or scale-out your BizTalk Servers to cope with these loads.
For ad-hoc, initial BizTalk throttling monitoring, you could use Windows built-in performance counter, it will give you real-time performance metrics for your host(s), including BizTalk throttling states. This will serve you well when you are working at the initial phases of fine tuning your system.
However, when it comes to ongoing monitoring, notifications, and BizTalk troubleshooting, in general, it becomes very challenging to use a disparate array of monitoring tools such as performance counter, this is in addition to the required level of specialization and skills you need to have.
Renowned third-party commercial monitoring platforms such as AIMS and BizTalk360 were specifically designed to fill this gap.
AIMS lends itself well to BizTalk throttling monitoring and alerting, in addition to its proactive, intelligent monitoring capabilities for the underlying platforms. Check my previous post on AIMS.
Using AIMS monitoring platform, you could also visually correlate different metrics, for instance, messages count, along with message publishing throttling state. In addition, any throttled host will be displayed on the main dashboard under Performance Overview block as shown below.
BizTalk360 monitoring platform is quite impressive as well, as it encompasses operations, monitoring, and analytics in one platform, and sure enough, it has a dedicated section for BizTalk throttling called Throttling Analyser that allow you to visualize BizTalk throttling along with the different states translated for you on the chart. Refer to this technet article for the complete listing the different BizTalk throttling states and their meanings.
You should always keep BizTalk throttling in mind in early phases, you also need to keep track of any future BizTalk throttling occurrences, after your solution has been initially stabilized, that could occur as a result of a bottleneck in the hosting infrastructure, or unprecedented loads from the integrated systems.
Leveraging powerful monitoring tools such as AIMS, BizTalk360 will definitely make your life easier when it comes to ongoing BizTalk throttling notification and monitoring, in addition to providing a centralized view of your underlying platforms’ health at a glance.
Most importantly these tools will detect and notify you before such problem gets compounded and eventually impacting the business you serve.