3

Я пытаюсь использовать Microsoft Sync Framework 2.1 в базе данных SQL Server. Будет большое количество одновременных конечных пользователей, синхронизирующихся с центральным сервером базы данных.Microsoft Sync Framework - производительность и масштабируемость

Дополнительные характеристики:

  • 1500 одновременных подключения клиентов к 1 центральному серверу базы данных
    • Client используется MS SQL Server Express 2008 R2
    • сервер использует MS SQL Server Enterprise 2008 R2
  • Краткие интервалы синхронизации (около 5 минут)
  • Databas е размер будет 5 Гб
  • веб-сервиса будет использоваться как на стороне сервера SyncProvider

Кто-нибудь есть опыт работы с Sync Framework сред похожа на это?

  • Возможно ли это?
  • Что важно учитывать при реализации этого?
  • Каковы физические пределы, которые я могу ожидать?

ответ

7

некоторые вещи, которые нужно иметь в виду:

  1. Количество областей - вы можете захотеть сохранить соотношение 1-к-1 Область применения для клиент-сервер вместо 1500 клиентов прицелы против одна область сервера. это изолирует знания синхронизации каждого клиента друг от друга, вы даже можете сбросить и воссоздать область действия клиента, не затрагивая другие области. синхронизация знаний будет очень компактной.

  2. Определение области - не сбрасывать все таблицы в одной области. разные таблицы имеют разные характеристики (например, загрузка только, только для чтения, менее частое обновление, частое обновление и т. д.). основанные на их характеристиках.

  3. Дозирование - если изменения небольшие, не выполняйте партию. вы несете накладные расходы на производительность при пакетной обработке, поскольку пакетная обработка должна записывать файлы, а затем она должна восстанавливать набор данных изменений из файлов.

  4. Очистка метаданных - настройка процесса удержания метаданных и очистки метаданных. это должно уменьшить метаданные синхронизации (строки в таблицах отслеживания и знания синхронизации).

  5. WCF config -watch out для ваших записей конфигурации WCF, таких как тайм-аут, размер сообщения и т. Д. ...быть в курсе этой проблемы, а также: http://support.microsoft.com/kb/2567595

EDIT:

Кроме того, посмотрите на другие соображения Scope здесь: Sync Framework Scope and SQL Azure Data Sync Dataset Considerations

+0

Спасибо за ваш ответ. Мы уже учитываем ваши баллы 2, 3 и 5. Но мне интересно узнать ваш первый момент. Не могли бы вы объяснить это немного дальше, что вы имеете в виду с 1-на-1 сфера? Мы сталкиваемся с множеством проблем (например, 100% конфликтов), если мы создаем несколько областей, указывающих на одну и ту же таблицу. – hwcverwe

+1

Как правило, вы должны указать область действия на сервере, а затем использовать getdescriptionforscope и применить ее к клиенту. поэтому в большинстве случаев у вас есть только одна область на сервере (одна строка в таблице scope_info) и несколько клиентских областей, связанных с ней. область отслеживает идентификаторы реплик всех областей внутри знаний синхронизации, поэтому в вашем случае ваша карта ключей реплик будет состоять из 1501 сопоставлений (1500 идентификаторов клиентов плюс идентификатор сервера). также, если вы хотите изменить область действия для клиента, вы не можете просто изменить область сервера, потому что другие клиенты из 1499 используют один и тот же объем на сервере. – JuneT

+0

Я не уверен, как вы в конечном итоге столкнулись со 100% конфликтами за несколько областей, как вы инициализируете своих клиентов? Вы копируете одну основную копию базы данных каждому клиенту? – JuneT

0

Образец представленную здесь: http://www.rajneeshnoonia.com/blog/2012/03/n-tier-sync-framework/

Есть некоторые вещь, близкая к вашим требованиям

1: 1 scope defined => мы определили шаблон и настроили область для e ach на основе этого шаблона. В этом senerio T1 определен в S1 и S2, однако фильтры используются для идентификации записей уровня строк для каждой области.

+0

Спасибо за вашу ценную ссылку. Хороший блогпост, который вы написали :) – hwcverwe

+4

Ваша ссылка мертва – Guillaume

Смежные вопросы