locked
How To Optimize BizTalk Syncing Performance For CRM Online? RRS feed

  • Question

  • Currently, we are using BizTalk to sync data to CRM Online 2015.1 via the SOAP Endpoints.  (I am NOT interested in using the ExecuteMultipleRequest)  We are doing some initial load testing in a Non-Prod environment (Stage) and when we queue up 100 requests (mostly Creates) in BizTalk, we are seeing average request times, just under 2 seconds per request.  When we queue up 1000 requests, the average time per request balloons up to around 20 seconds per request.

    What I've seen so far leads me to ask these questions

    • Does Crm Online Throttle Requests?
    • Can we expect to see similar performances in our Prod environment?
    • Currently BizTalk spins up lots of threads.  Would limiting the number of threads potentially be beneficial?
    • Are there any other issues that we should be aware of when it comes with using BizTalk to talk to CRM online?
    Tuesday, March 15, 2016 3:35 PM

Answers

  • Hi Daryl,

      thought I'd just mention a couple of things.. 20 seconds per request (whether there is throttling or not) seems like a little too much. From my experience with other Dynamics CRM integration tools, that would either mean there is a synchronous plugin/worklow running in the background on the CRM side or there is some "lookup" logic in the biztlalk-to-crm connector (which I'm not familiar with, though) - for example, even though you wrote those are all "creates", maybe they are actually "upserts" which just can't find existing records by key value

      Normally, CRM online/onpremise can handle at least a few requests per second

     


    Alex Shlega, TreecatSoftware.Com





    Thursday, March 17, 2016 12:11 PM

All replies

  • Hi Daryl,

      thought I'd just mention a couple of things.. 20 seconds per request (whether there is throttling or not) seems like a little too much. From my experience with other Dynamics CRM integration tools, that would either mean there is a synchronous plugin/worklow running in the background on the CRM side or there is some "lookup" logic in the biztlalk-to-crm connector (which I'm not familiar with, though) - for example, even though you wrote those are all "creates", maybe they are actually "upserts" which just can't find existing records by key value

      Normally, CRM online/onpremise can handle at least a few requests per second

     


    Alex Shlega, TreecatSoftware.Com





    Thursday, March 17, 2016 12:11 PM
  • Hi,

    To begin with, doing one call per create gives a lot of overhead since you must authorize for each call which will make performance, not optimal. CRM online also only allows 2 parallell calls so it doesn't help to thread more than that.

    I don't know if the prod environment is better performance wise but I hope so. Considering you don't want to use executemultiple you have to live with the authorization overhead for each call.

    Regards


    Rickard Norström Developer CRM-Konsulterna
    http://www.crmkonsulterna.se
    Swedish Dynamics CRM Forum: http://www.crmforum.se
    My Blog: http://rickardnorstrom.blogspot.se

    Thursday, March 17, 2016 3:30 PM
  • We found where BizTalk was doing some throttling itself.  Now we're back a much more expected speed.
    Friday, March 18, 2016 3:22 PM