Кэш NHibernate AppFabric

Кто-нибудь пробовал использовать кеш-провайдер NHibernate Velocity L2 против кэша Azure AppFabric? Если да, то что вы узнали?

Кстати, мы используем SQL Azure для хранения наших данных.


person Jonathan McIntire    schedule 02.05.2011    source источник
comment
Вы когда-нибудь получали на это ответ? Сижу с точно таким же вопросом.   -  person jhovgaard    schedule 06.08.2011
comment
Приносим извинения за то, что так долго не сообщали вам обновленную информацию. Пожалуйста, посмотрите мой ответ ниже.   -  person Jonathan McIntire    schedule 18.12.2011


Ответы (2)


Последний выпуск «Windows Azure Caching (Preview)» должен помочь вам - http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/9a2dbd9f-1b9d-4249-a48b-216d9dfdc2bc

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

person SharadAg    schedule 18.06.2012
comment
Спасибо за внимание. Я проверю новые функции кеширования, когда у меня будет время. - person Jonathan McIntire; 19.06.2012

Наш вариант использования кеширования указан ниже:

  1. Мы хотим ускорить работу нашего веб-приложения за счет кэширования часто используемых данных SQL Azure.
  2. Кэш следует включить, просто отредактировав конфигурацию NHibernate (как и любой другой кеш L2 NHibernate).
  3. При обновлении одной из этих сущностей в экземпляре роли Azure это изменение должно немедленно распространиться на другие экземпляры Azure.
  4. Мы хотели бы избежать хлопот, связанных с настройкой и управлением чем-то вроде memcached.

К сожалению, текущее состояние кэша Azure AppFabric не соответствует нашим потребностям. Вот почему:

После настройки поставщика NHibernate Velocity мы смогли кэшировать объекты в распределенном кеше, но при доступе к каждому объекту была небольшая задержка (~ 1 секунда). Поскольку мы пытались получить доступ к сотням кэшированных объектов на каждый веб-запрос, каждый HTTP-запрос был на самом деле медленнее, чем если бы мы обращались к БД напрямую - конечно, это не то, что мы искали.

Мы попытались решить эту проблему, включив локальный кеш AppFabric. Производительность была значительно улучшена, но возникла другая проблема. После того, как объект будет сохранен в локальном кеше, он будет оставаться там до истечения срока его действия (вы можете установить срок действия для кеша). На данный момент нет большой разницы между локальным кешем AppFabric и поставщиком NHibernate SysCache (который использует кэш ASP.NET), за исключением того, что вам придется доплачивать за кеш AppFabric.

Если локальный кеш Azure AppFabric поддерживал уведомления, такие как его двоюродный брат Windows Server AppFabric, мы были бы счастливы использовать кеш Azure. Пожалуйста, проголосуйте за эту функцию на сайте www.mygreatwindowsazureidea.com.

Для справки: сотрудник разместил вопрос на форумах Azure об использовании локального кеша AppFabric.

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

person Jonathan McIntire    schedule 17.12.2011