Windows Azure — сеанс SQL Azure против предложений по запросу к базе данных

#asp.net-mvc #azure

#asp.net-mvc #azure

Вопрос:

Приветствия,

Windows Azure поддерживает состояние сеанса SQL Azure только для нескольких экземпляров.

Я думаю, повысит ли сохранение объектов в сеансе какую-либо производительность для данного сценария, приведенного ниже:

Сценарий: У меня есть приложение MVC, где его верхний и нижний колонтитулы заполняются из базы данных. Я создал ApplicationController, который наследуется от контроллера. Этот applicationcontroller, в свою очередь, будет унаследован фактическими контроллерами, такими как Home / Account и т.д.

Я подумываю о загрузке всех этих значений нижнего колонтитула / заголовка в session и использовании объекта session для любых последующих запросов.

Кто-нибудь знает, повысит ли это производительность? Единственная причина, по которой я спрашиваю, заключается в том, что сеанс SQL Azure будет делать то же самое, т. Е. запрашивать хранилище сеансов SQL Azure для каждого запроса?

Спасибо.

Ответ №1:

Я бы сказал, что прямо сейчас степень повышения производительности, которую вы получаете от одного варианта по сравнению с другим, довольно незначительна. Единственный способ узнать наверняка — создать несколько тестовых сценариев.

С учетом сказанного, кэширование App Fabric выходит из CTP менее чем через месяц и включает поставщика сеансов. Если бы вы захотели его использовать, у вас было бы два варианта:

  1. Используйте поставщик сеанса кэширования App Fabric и метод сеанса, который вы описали выше, и это должно быть быстрее, чем любой из вариантов SQL
  2. Используйте кэш напрямую для предоставления сведений о верхнем и нижнем колонтитулах (вам все равно нужно будет хранить данные в SQL, но вы можете заполнить кэш по требованию, когда запрашиваются верхние и нижние колонтитулы)

Комментарии:

1. Спасибо knightpfhor. Будет следить за кэшированием App Fabric.