biztalk host throttling

How Automated Tasks are used in the BizTalk Server Administrative Tasks – Part 3 (Host Throttling)

BizTalk Administrator plays a vital role in the smooth functioning of the BizTalk environment. The Administrator’s focus is to keep the BizTalk Server and SQL Server in optimized performance. In regular day-to-day activities, track the health of infrastructure, hardware and run the administrative routines. The message transactions have taken place in the logical entity of the BizTalk Host Instance. It is the windows service that processes the messages or an isolated host process in the BizTalk Server.

This blog covers the BizTalk Server Host Throttling mechanism and performance counters that measure the throttling conditions.

Key Takeaways of this blog:

  1. BizTalk Host Throttling Mechanism
  2. Host Throttling – Performance Counters
  3. BizTalk360 features that monitor or analyze the host throttling conditions
  4. How Automated Tasks can help to handle the Host Throttling

BizTalk Host Throttling Mechanism

The BizTalk Server integrates the multiple distributed system in the business unit. The message from various sources is handled in the Message Box using publish and subscription mechanism. The factors which determined the messaging performance like the volume of message transactions, distribution of load across the hosts and memory of the host that is handling the transactions.

Host Throttling – Performance Counters

BizTalk host performance is measured with the counters that impact host throttling conditions. Performance counters that each host instances are accessible as follows

  • Active instance count: Number of messages in the memory which are currently being processed in orchestration or in-memory.
  • Database session: Number of a concurrent database session
  • Database size
  • Process message count
  • Message delivery rate
  • Message publishing rate
  • Process memory
  • Thread count
  • Host Throttling

Optimize the BizTalk Server Performance

BizTalk Administrators can adjust the BizTalk Server settings for better performance optimization. To keep message processing optimized, the settings are fine-tuned at the different levels

  • BizTalk Group level: At the group level, the maximum batch size, message refresh intervals, and message tracking settings are managed.
  • Host level: Manage the host tracking configurations which are related to Process and Orchestration throttling.
  • Host Instance level: Manage the Orchestration memory throttling settings and .Net CLR Settings.

The host Throttling mechanism helps to moderate the load of business transactions across the hosts. The BizTalk Server architect will design the infrastructure that fits business transactions.

In larger enterprises, the hosts are split to balance the loads into Inbound hosts, Processing hosts, and Outbound hosts.

The moderate transactional business units adopt the Inbound host and Outbound host.

Inbound Host Throttling (Message Publish Throttling)

Receive Host is used to receive the volume of messages from multiple sources. In Receive Host settings, the message publishing throttling configuration can be managed to the threshold limits. Inbound message process throttling conditions are triggered for the following metrics

  • Memory limit
  • Number of Threads
  • Instances of Database connections
  • Database Size
  • Message Incoming rate exceeds message outgoing rate
  • Process delay in logic executions, when thread receives a batch of messages of receive location and EPM thread publishing the messages to Message Box database.
  • Messages publishing throttle rate will affect XLANG message processing and incoming messages.

Outbound Host Throttling (Message Processing Throttling)

Outbound Host Throttling involves host instances of Processing Host or Send Host of Orchestrations, send adapters respectively process or deliver messages that have published to Message Box. The scenarios by which outbound throttling conditions are invoked

  • Memory limit
  • Number of Threads
  • Instances of Database connections
  • Message processing or delivery incoming rate of the host instances is more than the outgoing rate of messages.
  • Concurrent processing of messages exceeds In-process messages per CPU.
  • The number of messages that can be held is less when an in-memory queue is limited
  • The size of the Message Agent thread pool is limited when the Agent pool size is reduced.
  • When message delivery throttle rate affects the XLANG message processing and outgoing messages.

Monitor/Analyse the Host Throttling conditions

BizTalk360 helps to monitor and analyse the BizTalk host throttling conditions with the features.

Host Throttling Monitoring: BizTalk Administrator can monitor the publish throttling and delivery throttling metrics with host throttling monitoring. The throttling rules are validated against each host. The users can get alerted if any threshold violations of the throttled metrics.

Host Throttling Monitoring

Throttling Analyser: The performance metrics collected from the Analytics service will be used in the throttling analyser. The Analyzer’s intuitive UI will help to determine the metrics that are under stress in each BizTalk Host. The Delivery or Publishing message throttling metrics are visualized in the drill-down mode in the throttling analyser.

Throttling Analyser

How the Automated Tasks can help to handle scenarios

The Automated Task is a brand-new feature that has been released in the latest version (V10.3). This feature will help the BizTalk Administrators, Deployment teams can automate some of the day-to-day routines.

Restart the Host Instances

There are a few scenarios in which host instances need to be restarted.

  • When the Host Instance settings are changed, restarting the host instances in the different servers are a cumbersome task for BizTalk Administrator.
  • After the Deployment of BizTalk Applications, the restart of Host instances is required to get the latest references. Restarting the host instances are carried out in impacted integrations.

Note: It is not mandatory to restart the host instances when a threshold violation happens in the message publish or delivery throttling rates.

Automated Tasks (Host Instances): The users can configure the host instances with automated task configuration to stop and start the host instances. In the business process automation or deployment automation, users can utilize these automated APIs to trigger the action on host instances.

Automated Tasks are handy to trigger action on the host instances in multiple servers simultaneously. It reduces the manual intervention in handling the throttling conditions.

Restart the Host Instances

PowerShell Executions

In large enterprises, there is a demand to spin a new BizTalk group to manage the message process across load from different verticals. BizTalk Administrators quite often repeat the tasks of creating the different sets of hosts. This process can be automated to create host, host instances and adapters. Read this blog from Sandro Pereira, to know more about the automation of BizTalk host and host instances.

In the upcoming version of BizTalk360 10.4, PowerShell execution Automated Tasks will be implemented. The users can execute the PowerShell as a scheduled task or trigger the automated task when the situations demand to execute the PowerShell Script.

PowerShell Executions

Conclusion

In the integration, tools like Azure DevOps pipeline and BizTalk Deployment Framework help to manage the BizTalk deployment or maintenance. Automation Task is a handy addition to automate the BizTalk server administration. Try out the latest version of BizTalk360 to check the Automated Task feature.

Happy Automation!