Sync Framework Limitations RRS feed

  • Question

  • Hi All,

    I have an application which creates ~100,000 records per day (per remote client); the majority of the records are "Upload" synchronized to a central database every 15 minutes; the rest are "Bi-Directional".

    On the initial synchronization, the central database (which now has over 10,000,000 rows) has heavy disk usage for a few minutes and then the client synchronization completes.

    I find that after a few days (when the client SQL CE DB grows past 15MB) the client bogs down every time it tries to sync (100% CPU usage for several minutes on the client).

    If I leave the client database to grow for too long the synchronization hangs and causes the central database to hang (I think it may be lock escalation). I then need to kill the IIS worker progress (which hosts the WCF sync service) and wait for the transaction to roll back to be able to read from the database again.

    I use a composite primart key - {UnitID (int), TestID (int), DateTimeStamp (DateTime)} and then I have about 10 data fields (float) that make up the row.

    What are the limitations of the Sync Framework? Will it support this large volume of data?



    Tuesday, June 8, 2010 9:45 PM


All replies

  • Some investigations need to be done to check what's going on when sync hangs:

    1. Use tracing.

     Tracing sync framework components (http://msdn.microsoft.com/en-us/library/cc807160.aspx)

    2. Use sql profiler to check the SQL Server

    3. Debug what method is being called for the WCF and how long that method takes.

    Also what version of sync framework are you using, the machine environment and provider types?

    Wednesday, June 9, 2010 8:52 PM
  • I am not able to debug the auto generated code that VS 2010 created (using the Local Data Cache designer). I have checked the SQL server, it seems to be hanging on the select statements for the change table joins.

    I believe VS2010 is using the 1.0 version of the Sync Framework for the Local Data Cache project.

    The clients (AMD LX800 500Mhz with 1Gb RAM) are running Windows XP Embedded and use the SQL CE provider; the server (Intel Core i7 920 with 6GB Ram) is running Windows 7 (64 bit) and SQL 2008 R2.

    Thursday, June 10, 2010 9:33 PM
  • From your description, it looks like that the downloading changes is almost hanging.  Do you have a large amount of data to sync down?  How many clients do you have?


    Leo Zhou ------ This posting is provided "AS IS" with no warranties, and confers no rights.
    Thursday, June 10, 2010 10:33 PM
  • It is definately not the download; I only download a few hundred rows (and that always works). So far we only have 2 clients, but we plan to get several more.

    Friday, June 11, 2010 2:14 AM
  • Can you try the suspected select statement with osql or SSMS and see how it behaves?

    Monday, June 14, 2010 6:33 PM
  • I will get the statement ASAP.
    Tuesday, June 15, 2010 8:09 PM