locked
BizTalk host BizTalkServerApplication throttled Isue ??? RRS feed

  • Question

  • Hi All,

    I am receiving following message when testing my application.

    Any idea what does that mean ?

    BizTalk host BizTalkServerApplication throttled because ProcessMemory exceeded the configured throttling limit.
     For more information see the BizTalk throttling documentation at http://go.microsoft.com/fwlink/?LinkId=185578.


    Thanks and Regards, Nitin.

    Tuesday, September 20, 2016 5:34 AM

Answers

  • Hi Nitin

    The issue is this-

    Process virtual

    Specify the maximum process memory (in percent) allowed before throttling begins (in percent or megabytes).

    0: disable

    1% – 100%

    Values > 100% are treated as MBs and can go up to int Max

    25

    -

    By default, BizTalk initiates Process memory throttling whenever the Host Instance memory usage goes above 25% of the available virtual memory. For a 32bit process, this means about 512MB; for 64bit process, this is much higher and you should not run into this issue. So, if you run your application in a 64bit Host Instance, with the "Process Virtual" (see image below) setting set to something like 50% or more, you will rarely run into this issue, if ever.

    So, is BizTalkServerApplication Host Instance 32 or 64bit? If this is a 64bit process, you can change the default value of 25% to 90%.(see screenshot below) If this is a 32-bit process, you can safely increase this value to 40%/50% from 25% to allow for more memory usage before throttling comes into play.

    If BizTalkServerApplication is a 32-bit process, you will get this error whenever the memory usage of that Host Instance goes up to 512MB (25% of ~2 GB).

    What kind of code are you executing? When you start getting this message, note the amount of memory consumed by BizTalkServerApplication host process from Task Manager. Based on that you can change the highlighted setting below. Right click the relevant Host from Admin Console -> Settings -> Resource-based throttling tab. Once you make the change, you have to restart the Host Instance.


    Thanks Arindam



    Tuesday, September 20, 2016 6:25 AM
    Moderator

All replies

  • Hi Nitin,

    This means that the Host tried to sericve more message than what its memory configuration would allow.

    Throttling in Biztralk is a normal phenomemnon. The concept insshort behind this is:

    Every Host Instance in the Biztalk group has a limit of memory, threads in which it has to process the messages. When a message isprocessed by a host instance, a part of memory and the threads are allocated to the message processing. Sowhen each time a message arives in the work queue of the Host, apart of memory will be assigned to it. Henc if the number of messages increases then more memory chunks are assigned  and there comes a timeehen there is a message to be processed by the Host but there is no resources left to assign to it, in such case Biztalk throttles the host and in this case does not process new messages until the older ones areprocessed. Once these messages are cleared, Biztalk will start processing the messages queued in the Host queue.

    In you case the process memory of the Host provided in the error , reched its limit hence the Host throttled.

    So to further answetr your question, please answer the below questions

    1) What environment is this??? Biztalk dev box, QA, Prod..etc

    2) Do you have dedicated host for recieve, send , tracking and orch processing ???

    Regards,


    Mandar Dharmadhikari


    Tuesday, September 20, 2016 6:00 AM
    Moderator
  • Hi Nitin

    The issue is this-

    Process virtual

    Specify the maximum process memory (in percent) allowed before throttling begins (in percent or megabytes).

    0: disable

    1% – 100%

    Values > 100% are treated as MBs and can go up to int Max

    25

    -

    By default, BizTalk initiates Process memory throttling whenever the Host Instance memory usage goes above 25% of the available virtual memory. For a 32bit process, this means about 512MB; for 64bit process, this is much higher and you should not run into this issue. So, if you run your application in a 64bit Host Instance, with the "Process Virtual" (see image below) setting set to something like 50% or more, you will rarely run into this issue, if ever.

    So, is BizTalkServerApplication Host Instance 32 or 64bit? If this is a 64bit process, you can change the default value of 25% to 90%.(see screenshot below) If this is a 32-bit process, you can safely increase this value to 40%/50% from 25% to allow for more memory usage before throttling comes into play.

    If BizTalkServerApplication is a 32-bit process, you will get this error whenever the memory usage of that Host Instance goes up to 512MB (25% of ~2 GB).

    What kind of code are you executing? When you start getting this message, note the amount of memory consumed by BizTalkServerApplication host process from Task Manager. Based on that you can change the highlighted setting below. Right click the relevant Host from Admin Console -> Settings -> Resource-based throttling tab. Once you make the change, you have to restart the Host Instance.


    Thanks Arindam



    Tuesday, September 20, 2016 6:25 AM
    Moderator
  • It is not an error but rather an information. In general Throttling in BizTalk is a good thing, but if you are experiencing it often you should consider: - Adding more Memory to the Biztalk Server(s). - Making the Receive Host 64 bit (if you haven't already done that). - Increasing the allowed Memory Usage for the Host (Right Click Group->Settings->Hosts->Resource-Based Throttling->Memory Usage->Process Virtual).

    Rachit Sikroria (Microsoft Azure MVP)

    Tuesday, September 20, 2016 6:55 AM
    Moderator