locked
Updating CRM data with scheduled task RRS feed

  • Question

  • Hi, I am about to update 250000 contacts in CRM. I want to do it via scheduled windows task which will run my simple console application out of working hours. Is it a good thing to run more than one instance of app, should it improve performance? What is the concurrency mode for CRM service? Any reccommendation is welcome.

    Thanks in advance.


    Zarko

    Thursday, September 19, 2013 11:55 AM

Answers

  • Hi Zarko,

    We did a similar thing a while ago with 6,000,000 contacts.

    We split it into separate jobs running together and it was fine. However I guess it depends upon what you are doing. If the update will fire plugins they may need turning off (we had some which needed turning off). Also if the plugins or updates will be on the same record, you may need to take this in to consideration.

    It made a massive difference to the running time by splitting it up though.

    We replicated the Db into a test environment first to do a run.

    Chris

    • Marked as answer by Radevic Monday, September 23, 2013 6:44 AM
    Thursday, September 19, 2013 12:50 PM

All replies

  • Hi Zarko,

    We did a similar thing a while ago with 6,000,000 contacts.

    We split it into separate jobs running together and it was fine. However I guess it depends upon what you are doing. If the update will fire plugins they may need turning off (we had some which needed turning off). Also if the plugins or updates will be on the same record, you may need to take this in to consideration.

    It made a massive difference to the running time by splitting it up though.

    We replicated the Db into a test environment first to do a run.

    Chris

    • Marked as answer by Radevic Monday, September 23, 2013 6:44 AM
    Thursday, September 19, 2013 12:50 PM
  • Thank you for your response. I suppose it also has to with infrastructure, how many application servers did you have? How many jobs did you run simultanously (it could be an overhead if you ran too many right?). I have only one app server, the update is just going to change a few boolean fields.

    Zarko

    Thursday, September 19, 2013 1:04 PM
  • Hi Zarko,

    We too only had one app server, and it was ok. But as you rightly say, the more servers the easier it will be.

    Chris

    Friday, September 20, 2013 9:13 AM
  • hi Zarco,

    if your server is multi-cored and you are using strongly type (Linq) entities, using "as parallel" may increase the performance. also the latest roll up has got new "ExecuteMultipleRequest" message for bulk operations. i have never used it myself but i heard it makes the performance significantly fast. beware of the sync operations (if any) for the entity if you use it.

    regards

    im

    Friday, September 20, 2013 11:14 AM
  • Hi,

    We initially tried parallel linq, but it gave us problems. So we changed it to be several instances of the same app running, each taking their own set of data (it was an import from SQL so we had several views set up and each instance used one of the views)

    Chris

    Friday, September 20, 2013 1:58 PM