locked
BTS 2006 R2 with multiple WebServers RRS feed

  • Question

  • I have one BTS and three webservers. My webservers are clustered using an F5 server. We currently are processing about 6-8000 messages per scheduled run of the orchestration. Right now this is only once a day. My issue and question are as follows:

    Issue:

    I had to turn on Ordered Delivery for my SOAP adapters because we were seeing a huge number of timeouts due to the amount of work the WS needs to accomplish and the delay that causes. This seems to have negated, which I would expect, the multi-server reasources that I have my WS's hosted on.

    Question:

    Is there a way to configure either the orchestration or the host in such a way that it will take advantage of the load balancing? right now we have orchestrations that get suspended for 4-6 hours until the service is available again. This is not a good situation.

    Thanks,

    Chuck


    Charles
    Tuesday, January 10, 2012 7:07 PM

Answers

  • Hi Charles,

    If I understand this, following is your current process,

    Around 6-8000 Orchestration instance gets created at some scheduled time and calls few web services on your web service farm, which is load, balanced using F5.

    Your Problem:

    You are getting timeouts from the web services hence orchestration instance gets suspended eventually.

    Possible approaches:

    1-    First check the logs of the webservers if each of your web server is getting enough connections from F5 LTM (local traffic manager)? You would need to check the routing logic on your GTM (global traffic manager) if its been configured to use “round robin” distribution mechanism. There could be delayed at your LTM/GTM levels also while doing the load balancing you would need a F5 expert to check the logs.

    2-    Optimizing the performance of your web services, which I guess you are doing. However you could also check the settings on IIS, like try using web gardens concepts, See this page for more details.

    3-    I guess you are using SOAP send ports in your orchestrations to call those web services? Do you know what should be the ideal response time of the web services in case if they are supposed to take some time then it might be a good idea of changing the timeout settings of your client?

    4-    Also there could be another option like using .net proxy class to call the web services instead of using send ports( since it will be a trip to message box, requires pub and sub operation for one web service call), that will give you more control for the timeout settings(may be configurable for each service) and also it is much faster than using default soap send port.

    5-    Also I would suggest to create more than one send host instance to handle web service calls.

    HTH,Thanks, Naushad (MCC/MCTS) http://alamnaushad.wordpress.com|@naushadalam

    If this is helpfulor answersyour question - please markaccordingly.


    • Proposed as answer by Naushad.AlamModerator Monday, February 13, 2012 11:43 AM
    • Marked as answer by ckeezer Monday, February 13, 2012 2:49 PM
    Sunday, February 12, 2012 12:02 AM
    Moderator

All replies

  • Okay, lets see if I understands this right, your Orchestration calls the WebServices?

    If the webservices are having trouble taking all the data you should take a look at NLB to make sure the load is divided equally. As long as you connect to one specific domain or IP the NLB should transport the query to the WS with less load. Is this the scenario you have? If it is I would monitor the load on the WS. And maybe redesign the WS.

    You can decrease the maximum amount of messages it sends out at one time and duration (I assume you use BT 2010)

    Best regards

    Tord Glad Nordahl
    Bouvet ASA, Norway
    http://www.BizTalkAdmin.com |@tordeman

    Please indicate ”Mark as Answer” if this post has answered the question.

    Tuesday, January 10, 2012 7:58 PM
  • No I am running BTS 2006 R2.

    It is not the taking of the data that is the issue, it is the fact that we are flooding them with a large amount of data and the webservices take a long time to return. We are working on the webservices, but there are several and it will take a while for us to modify them all.

    I get a similar response in my dev lab where I have only one application server. If I throw a thousand message at it, after about 30 seconds it starts to timeout.


    Charles
    Tuesday, January 10, 2012 8:33 PM
  • You can still "tune" it down a bit, I dont have a BT 2006R2 environment infront om as of yet, but Ill provide you with a screenshot tomorrow.

    Best regards

    Tord Glad Nordahl
    Bouvet ASA, Norway
    http://www.BizTalkAdmin.com |@tordeman

    Please indicate ”Mark as Answer” if this post has answered the question.

    Tuesday, January 10, 2012 8:46 PM
  • Ordered Delivery should work. If it is not an option, change the Orchestration adding Delays. Make Delays configurable, so you could tune up in run-time.

    More complex solution is to implement round-robing orch which is aware of the different WS instances. Bad soulution.

    If you could change the WS, try to use netTcp binding. It is much faster.

    Not sure the problem in settings. It is in architecture.


    Leonid Ganeline [BizTalk MVP] BizTalk: Adanced Interview Questions
    Thursday, January 19, 2012 12:37 AM
    Moderator
  • Hi Charles,

    If I understand this, following is your current process,

    Around 6-8000 Orchestration instance gets created at some scheduled time and calls few web services on your web service farm, which is load, balanced using F5.

    Your Problem:

    You are getting timeouts from the web services hence orchestration instance gets suspended eventually.

    Possible approaches:

    1-    First check the logs of the webservers if each of your web server is getting enough connections from F5 LTM (local traffic manager)? You would need to check the routing logic on your GTM (global traffic manager) if its been configured to use “round robin” distribution mechanism. There could be delayed at your LTM/GTM levels also while doing the load balancing you would need a F5 expert to check the logs.

    2-    Optimizing the performance of your web services, which I guess you are doing. However you could also check the settings on IIS, like try using web gardens concepts, See this page for more details.

    3-    I guess you are using SOAP send ports in your orchestrations to call those web services? Do you know what should be the ideal response time of the web services in case if they are supposed to take some time then it might be a good idea of changing the timeout settings of your client?

    4-    Also there could be another option like using .net proxy class to call the web services instead of using send ports( since it will be a trip to message box, requires pub and sub operation for one web service call), that will give you more control for the timeout settings(may be configurable for each service) and also it is much faster than using default soap send port.

    5-    Also I would suggest to create more than one send host instance to handle web service calls.

    HTH,Thanks, Naushad (MCC/MCTS) http://alamnaushad.wordpress.com|@naushadalam

    If this is helpfulor answersyour question - please markaccordingly.


    • Proposed as answer by Naushad.AlamModerator Monday, February 13, 2012 11:43 AM
    • Marked as answer by ckeezer Monday, February 13, 2012 2:49 PM
    Sunday, February 12, 2012 12:02 AM
    Moderator