Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Microsoft Sync Framework - Prestazioni e scalabilità

alcune cose da tenere a mente:

  1. N. di ambiti:potresti voler mantenere un rapporto di ambito da 1 a 1 per client-server invece di 1500 ambiti client rispetto a un ambito server. questo isola le conoscenze di sincronizzazione di ciascun client l'una dall'altra, puoi persino eliminare e ricreare un ambito client senza influire su altri ambiti. anche la conoscenza di sincronizzazione sarà molto compatta.

  2. Definizione dell'ambito:non eseguire il dump di tutte le tabelle in un unico ambito. tabelle diverse hanno caratteristiche diverse (es. solo download, sola lettura, aggiornamento meno frequente, aggiornamento frequente, ecc...). tabelle di gruppo in base alle loro caratteristiche.

  3. Batch:se le modifiche sono piccole, non eseguire il batch. si incorre in un sovraccarico delle prestazioni nel batch poiché il batching deve scrivere file e, in seguito, deve ricostituire il set di dati di modifica dai file.

  4. Pulizia dei metadati:imposta la conservazione dei metadati e il processo di pulizia dei metadati. questo dovrebbe ridurre i metadati di sincronizzazione (righe nelle tabelle di monitoraggio e la conoscenza della sincronizzazione).

  5. Config WCF:fai attenzione alle voci di configurazione WCF come timeout, dimensione del messaggio, ecc... tieni presente anche questo problema:http://support.microsoft.com/kb/2567595

MODIFICA:

Inoltre, dai un'occhiata ad altre considerazioni su Scope qui:Ambito del framework di sincronizzazione e considerazioni sul set di dati di sincronizzazione dei dati di SQL Azure