locked
Significance of BizTalkServerApplication host instance on BizTalk server RRS feed

  • Question

  • Hi

    I would like to know what is the significance of 'BizTalkServerApplication' host instance in biztalk.

    On production environment there are 3 host istances apart from 'BizTalkServerApplication' host instance dedicated for recieving sending and orchestration.

    None of my appications run on 'BizTalkServerApplication' and none have tracking enabled!

    So I stopped the host instances  'BizTalkServerApplication' and 'Tracking Host'.

    Is it good to do so or should i not?

    Thanks

    Irfan

    Friday, January 28, 2011 7:34 AM

Answers

  • Hi Irfan,

    it is not the BizTalkServerApplication host instance, that is important. It's just a default host instance created during configuration and is the default send and receive handler for all installed adapters.
    So you can stop or even remove the BizTalkServerApplication host instance after you have moved all adapter send and receive handlers to different hosts, all orchestrations to other hosts and have another host instance, which has tracking enabled. Tracking data will be written by default, so you do need at least one host that has this option enabled and is permanently running to keep your BizTalk databases clean and fast. Also if you use BAM you will need a tracking host. Do not forget to configure the "Backup BizTalk Server" and "DTA Purge and Archive" jobs on the SQL Server Agent as they also keep the database healthy. Also do not disable the SQL Server agent, because the databases will grow and perform really bad, if you leave it disabled for more than 1-2 days (depending on your messages per day of course).

    A best practice for hosts and host instances is the following: (All 64 bit, if you use Enterprise Edition)

    1. BizTalkServerApplication - Allow Host Tracking is OFF. Will be used for all or most common orchestrations.
    2. BizTalkServerTracking - Allow Host Tracking is ON. No other BizTalk artifacts are using this host. It's for tracking only!
    3. BizTalkServerSend - Allow Host Tracking is OFF. All send handlers (except the ones, which are not 64 bit capable like native SQL adapter) are configured for this host. Every send will run on this host instance.
    4. BizTalkServerReceive - Allow Host Tracking is OFF. All receive handlers (except the isolated ones like HTTP, SOAP, WCF-HTTP etc. and 32 bit only adapters) are configured for this host. All receive locations will run in this host instance.
    5. BizTalkServerSend32 - Allow Host Tracking is OFF. All 32 bit send handlers like native SQL adapter are configured for this host. Every send will run on this host instance.
    6. BizTalkServerReceive32 - Allow Host Tracking is OFF. All 32 bit receive handlers are configured for this host. All receive locations will run in this host instance.
    7. (If you use BizTalk EDI Batching) BizTalkServerApplicationEDI - Allow Host Tracking is OFF. Configure all BizTalk EDI Orchestrations to run on this host instance.

    Number 7 is only necessary if you excessively use EDI Batching, because those orchestrations need a lot of performance and memory.

    So short summary:

    • NEVER disable the host instance with (Allow Host Tracking = ON).
    • Disable as many tracking options (in orchestrations, send ports etc.) as you can or disable the tracking completely (search for "BizTalk Disable global tracking").
    • Distribute the workload of receive, processing, send and tracking on different hosts.
    • Keep the SQL Agent jobs configured and running.

    If you have further questions, feel free to ask.

    Best regards,
    Leo


    Please mark it as Answer if this answers your question.
    • Proposed as answer by _Matthew Friday, January 28, 2011 1:42 PM
    • Marked as answer by Andrew_ZhuModerator Wednesday, February 2, 2011 11:50 AM
    Friday, January 28, 2011 10:43 AM

All replies

  • Host instance is like a service or process which is responsible for message processing, receiving, and transmitting etc. for more details refer this in MSDN:

    http://msdn.microsoft.com/en-us/library/aa561042.aspx

    'BizTalkServerApplication' is the default host instance created when you install the biztalk on your box. There are several host instances on your prod server due to actual load of messages which you might not see on dev box. Enabling tracking means all message flow are tracked (logged) inside tracking database which will ofcourse be an extra load for biztalk/sql etc.

    Friday, January 28, 2011 8:08 AM
  • Hi Irfan,

    it is not the BizTalkServerApplication host instance, that is important. It's just a default host instance created during configuration and is the default send and receive handler for all installed adapters.
    So you can stop or even remove the BizTalkServerApplication host instance after you have moved all adapter send and receive handlers to different hosts, all orchestrations to other hosts and have another host instance, which has tracking enabled. Tracking data will be written by default, so you do need at least one host that has this option enabled and is permanently running to keep your BizTalk databases clean and fast. Also if you use BAM you will need a tracking host. Do not forget to configure the "Backup BizTalk Server" and "DTA Purge and Archive" jobs on the SQL Server Agent as they also keep the database healthy. Also do not disable the SQL Server agent, because the databases will grow and perform really bad, if you leave it disabled for more than 1-2 days (depending on your messages per day of course).

    A best practice for hosts and host instances is the following: (All 64 bit, if you use Enterprise Edition)

    1. BizTalkServerApplication - Allow Host Tracking is OFF. Will be used for all or most common orchestrations.
    2. BizTalkServerTracking - Allow Host Tracking is ON. No other BizTalk artifacts are using this host. It's for tracking only!
    3. BizTalkServerSend - Allow Host Tracking is OFF. All send handlers (except the ones, which are not 64 bit capable like native SQL adapter) are configured for this host. Every send will run on this host instance.
    4. BizTalkServerReceive - Allow Host Tracking is OFF. All receive handlers (except the isolated ones like HTTP, SOAP, WCF-HTTP etc. and 32 bit only adapters) are configured for this host. All receive locations will run in this host instance.
    5. BizTalkServerSend32 - Allow Host Tracking is OFF. All 32 bit send handlers like native SQL adapter are configured for this host. Every send will run on this host instance.
    6. BizTalkServerReceive32 - Allow Host Tracking is OFF. All 32 bit receive handlers are configured for this host. All receive locations will run in this host instance.
    7. (If you use BizTalk EDI Batching) BizTalkServerApplicationEDI - Allow Host Tracking is OFF. Configure all BizTalk EDI Orchestrations to run on this host instance.

    Number 7 is only necessary if you excessively use EDI Batching, because those orchestrations need a lot of performance and memory.

    So short summary:

    • NEVER disable the host instance with (Allow Host Tracking = ON).
    • Disable as many tracking options (in orchestrations, send ports etc.) as you can or disable the tracking completely (search for "BizTalk Disable global tracking").
    • Distribute the workload of receive, processing, send and tracking on different hosts.
    • Keep the SQL Agent jobs configured and running.

    If you have further questions, feel free to ask.

    Best regards,
    Leo


    Please mark it as Answer if this answers your question.
    • Proposed as answer by _Matthew Friday, January 28, 2011 1:42 PM
    • Marked as answer by Andrew_ZhuModerator Wednesday, February 2, 2011 11:50 AM
    Friday, January 28, 2011 10:43 AM