2
votes

I have implemented data sync using MS Sync framework 2.1 over WCF to sync multiple SQL Express databases with a central SQL server. Syncing is happening every three minutes through a windows service. Recently, we noticed that huge amounts of data is being exchanged over the network (~100 MB every 15 minutes). When I checked using Fiddler, the client calls the service with a GetKnowledge request four times in a session and each response is around 6 MB in size, although there are no changes at all in either database. This does not seem to be normal? How do I optimize the system to reduce such heavy traffic? Please help.

I have defined two scopes with first one having 15 tables all download only. The second one has 3 tables with upload only direction.

The XML response has a very huge number of <range> tags under coreFragments/coreFragment/ranges tag which is the major portion contributing to the response size.

Let me know if any additional information is required.

3

3 Answers

0
votes

must be the sync knowledge. do you do lots of deletes? or do you have lots of replicas? try running a metadata cleanup and see if it compacts the sync knowledge.

0
votes

Creating one to one scopes and re-provisioning fixed the issue. I am not still sure what caused the original issue.

0
votes

Do you happen to have any join tables and use any ORM. If you do, then this post might help.

https://kumarkrish.wordpress.com/2015/01/07/microsoft-sync-frameworks-heavy-traffic/