Вопрос по wpf, .net, wcf – WCF OperationContract Настройка экземпляра и параллелизма с TSQL

1
WPF .NET 4.0 application Currently hosted in Citrix MSSQL 2008 R2 back end DB size up to 100 GB TSQL search will return 100 objects at a time and hits 12 tables Most searches < 1 second and almost never > 10 seconds TSQL (SP) updates are one at a time Reads:Write > 10000:1 A single database may have 100 active users but never more than 10 active connections. The SQL box only goes over 25% when performing a data load and then stays under 50%

Переезд на клиентский сервер через WCF. Мой первый WCF.

Since no web client thinking of hosting as a service in house ?? Later will create a sister product and host on Azure Thinking to require sessions ?? If I am thinking wrong please let me know

Где я потерян, так это в экземпляре OperationContract и параллелизма.

Для поиска Instancing я должен пойти PerSession? И если так, я должен держать соединение SQL открытым?

Обновление сильно отличается от поиска. Существует 6 разных обновлений OperationContracts (для разных типов данных). Обновление по одному и через ПК, и попадет в исходную таблицу и таблицу журнала. Что может иметь больше смысла как Single Instance и ConcurrencyMode Mutiple и удерживать соединение? Если да, я управляю параллелизмом?

Существует также массовое обновление, но я хочу пока рассматривать его как серию отдельных обновлений.

Основная цель - целостность данных, доступность и масштабируемость.

Я понимаю, что не может быть твердых ответов. Любые указатели или справочный материал? Как мне пройти стресс-тест? Как управлять и контролировать процесс?

У меня есть много данных для проверки, и я сообщу результаты.

Ваш Ответ

1   ответ
1

Нашел блог, который адресован моим вопросам напрямую

ФОС-Instancing-параллелизмом-и-дросселирование-часть-1

ФОС-Instancing-параллелизмом-и-дросселирование-часть-2

ФОС-Instancing-параллелизмом-и-дросселирование-часть-3

PerCall Вы можете рассмотреть этот режим создания экземпляров в этих обстоятельствах.

  • If your service is stateless

  • If your service has light-weight initialization code (or none at all).

  • If your service is single threaded.

Мои методы соответствуют всем этим критериям. После создания канала накладные расходы на InstanceContextMode PerCall представляют собой не что иное, как создание экземпляра класса. Затраты на подключение к SQL также невелики, поскольку они будут содержать пул соединений. Я делал это слишком сложным.

Если у кого-то есть что добавить, я был бы рад принять ваш ответ.

Похожие вопросы