none
suspended instances in Admin console RRS feed

  • Question

  • Hi - having suspended instances in admin console is ideal way of having BizTalk solution in UAT, PROD environment ?

    If yes, why is that ?

    If No, what are reasons not to have suspended in admin console ?


    MBH

    Friday, January 13, 2017 8:34 PM

Answers

  • Hi,

    For a healthy BizTalk environment, it’s important to keep an eye on the number of service instances in the environment. Having a large number of suspended service instances will bloat your message box database and adversely effect the overall performance of your environment.

    If you have multiple suspended messages they build up the messagebox which then results in problems slowing down processing. You might hit many different throttling states in such a scenario.

    You can use perfmon to see the performance when the number of suspended instances increases. The Biztalk engine would slow down and it is a performance bottleneck when the host instance queue counter gets high. In Identifying Bottlenecks in the BizTalk Tier you can read about Biztalk Application counters in which it is mentioned that it is a performance bottleneck if the queue size of the host instance increases. There are three types of host queues Suspended, Active and scheduled. You can read more about Biztalk host instance queues here http://blogs.msdn.com/amantaras/archive/2010/02/25/host-queue-tables.aspx. You can also read about Orchestration Engine Performance Counters

    If you google, you will find lot of scripts for terminating suspended instances in Biztalk.


    Rachit Sikroria

    (Microsoft Azure MVP)

    Saturday, January 14, 2017 3:14 AM
    Moderator
  • Ideally you should not have a pile up of Suspended Instances in the environment - it can even lead to throttling if the count is too high.

    So, you should either have a common exception handling framework where you publish all your exceptions(to a common DB, or a portal like the ESB Exception Portal), and terminate your failed orchestrations. OR, you should periodically monitor your BizTalk environment and terminate the suspended instances on a regular schedule.


    Thanks Arindam


    Saturday, January 14, 2017 8:37 AM
    Moderator
  • Hi - having suspended instances in admin console is ideal way of having BizTalk solution in UAT, PROD environment ?

    If yes, why is that ?

    If No, what are reasons not to have suspended in admin console ?


    MBH

    Having suspended instances in admin console  is ideal way--- Absolutely No unless you have a scenario where you purposefully  have to suspended message and take action on those manually. 

    Why No -- other experts have already answered but will tell real time situation I have seen -- due to suspended instances the CPU utilization had went to 100% and all the services deployed on that server were not able to process request they were receiving(terminating/resuming the instances helped to get back to normal state)

    And I personally feel, we should have exception handling implemented - no matter how simple/complex the orchestration is.

    ______________

    Maheshkumar S Tiwari|User Page|Blog|How to get Retry Count of Successful sent attempt - One way Scenario

    Saturday, January 14, 2017 12:05 PM
  • my integration is with .net web services, calling two way API's (synchronous calls) integrating with BizTalk.

    Is it required in this case where BizTalk interacting with external .net web services, to have its suspended instances in admin console ?

     

    MBH

    Hi ,

    It all depends on the web Service call ,might be the web service is responsible for update operation and Logic has been built to have a retry . In this case it is not advisable to terminate the suspended instance 

    If the web service has a Get operation and connected to any front end system with request response pattern then the front end would have got the timeout exception and you can terminate those instances but that require you do proper investigation.

    The main objective is you do not loose any business critical messages posted on Biz Talk just for a clean up activity   


    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply

    Monday, January 16, 2017 4:45 AM

All replies

  • If its less messages count its okay but its lot of messages it impacts message box performance.

    Based on your Purge job configuration also it depends. 


    Ram

    Friday, January 13, 2017 8:49 PM
  • the company will keep on receiving bunch of projects and may be that keeps on adding suspended messages.

    How is it possible to avoid this ?


    MBH

    Friday, January 13, 2017 8:59 PM
  • If you are using a pattern such as: https://social.technet.microsoft.com/wiki/contents/articles/31665.biztalk-server-suspend-and-resume-an-orchestration-on-two-way-port-error.aspx

    They are an expected result in exception cases.

    They are also expected when handling endpoint errors on Send Ports.

    Generally no, an app should process normally without leaving Suspended Instances.

    The solution is to create apps that properly handle the expected cases.

    Friday, January 13, 2017 9:26 PM
    Moderator
  • a Regular orchestration looks weird with no scope and exception handling, and all messages which are having error are sitting as suspended messages in Admin console. I mentioned to the team that its not good practice to have suspended instances generating in admin console.

    The Orchestration instances are just keep on piling up with this suspended instances for different applications.


    MBH

    Friday, January 13, 2017 9:46 PM
  • Hi,

    For a healthy BizTalk environment, it’s important to keep an eye on the number of service instances in the environment. Having a large number of suspended service instances will bloat your message box database and adversely effect the overall performance of your environment.

    If you have multiple suspended messages they build up the messagebox which then results in problems slowing down processing. You might hit many different throttling states in such a scenario.

    You can use perfmon to see the performance when the number of suspended instances increases. The Biztalk engine would slow down and it is a performance bottleneck when the host instance queue counter gets high. In Identifying Bottlenecks in the BizTalk Tier you can read about Biztalk Application counters in which it is mentioned that it is a performance bottleneck if the queue size of the host instance increases. There are three types of host queues Suspended, Active and scheduled. You can read more about Biztalk host instance queues here http://blogs.msdn.com/amantaras/archive/2010/02/25/host-queue-tables.aspx. You can also read about Orchestration Engine Performance Counters

    If you google, you will find lot of scripts for terminating suspended instances in Biztalk.


    Rachit Sikroria

    (Microsoft Azure MVP)

    Saturday, January 14, 2017 3:14 AM
    Moderator
  • Ideally you should not have a pile up of Suspended Instances in the environment - it can even lead to throttling if the count is too high.

    So, you should either have a common exception handling framework where you publish all your exceptions(to a common DB, or a portal like the ESB Exception Portal), and terminate your failed orchestrations. OR, you should periodically monitor your BizTalk environment and terminate the suspended instances on a regular schedule.


    Thanks Arindam


    Saturday, January 14, 2017 8:37 AM
    Moderator
  • Hi - having suspended instances in admin console is ideal way of having BizTalk solution in UAT, PROD environment ?

    If yes, why is that ?

    If No, what are reasons not to have suspended in admin console ?


    MBH

    Having suspended instances in admin console  is ideal way--- Absolutely No unless you have a scenario where you purposefully  have to suspended message and take action on those manually. 

    Why No -- other experts have already answered but will tell real time situation I have seen -- due to suspended instances the CPU utilization had went to 100% and all the services deployed on that server were not able to process request they were receiving(terminating/resuming the instances helped to get back to normal state)

    And I personally feel, we should have exception handling implemented - no matter how simple/complex the orchestration is.

    ______________

    Maheshkumar S Tiwari|User Page|Blog|How to get Retry Count of Successful sent attempt - One way Scenario

    Saturday, January 14, 2017 12:05 PM
  • my integration is with .net web services, calling two way API's (synchronous calls) integrating with BizTalk.

    Is it required in this case where BizTalk interacting with external .net web services, to have its suspended instances in admin console ?

     

    MBH

    Sunday, January 15, 2017 8:40 PM
  • my integration is with .net web services, calling two way API's (synchronous calls) integrating with BizTalk.

    Is it required in this case where BizTalk interacting with external .net web services, to have its suspended instances in admin console ?

     

    MBH

    Hi ,

    It all depends on the web Service call ,might be the web service is responsible for update operation and Logic has been built to have a retry . In this case it is not advisable to terminate the suspended instance 

    If the web service has a Get operation and connected to any front end system with request response pattern then the front end would have got the timeout exception and you can terminate those instances but that require you do proper investigation.

    The main objective is you do not loose any business critical messages posted on Biz Talk just for a clean up activity   


    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply

    Monday, January 16, 2017 4:45 AM
  • Hi,

    you can easily setup monitoring for this with the free version of our monitoring platform AIMS (www.aimsinnovation.com/aims-free). You can get alerted when number of suspended reach a predefined threshold.

    Using AIMS you can also setup alerting if the number of suspended is somehow impacting the performance of your BizTalk, as you can extract and monitor performance data from every host, port and orchestration. Like host queues mentioned here, or other growth issues leading to throttling or high latency.

    Thanks,

    Marius

    Wednesday, March 15, 2017 9:32 AM