Azure上使用asp.net会话的推荐方法

Azure上使用asp.net会话的推荐方法,azure,azure-sql-database,azure-appfabric,Azure,Azure Sql Database,Azure Appfabric,我读过几篇文章,其中提到推荐的是azure上的dev app fabric缓存,而其他人则说使用通用提供程序和sql azure将会话状态存储在sql azure表中。任何专家请告诉我哪一个更好,为什么?“为什么”是必需的,所以我提出了我的建议。谢谢缓存对事务/小时、带宽/小时和并发连接数有特定的限制。事务和带宽阈值为每时钟小时,因此您必须保持在这些限制之下。由于价格不是线性的,您可以估计会话使用情况,并创建一个大于您需要的缓存,但这只是您需要考虑的问题。 SQLAzure,通过通用提供商,将不

我读过几篇文章,其中提到推荐的是azure上的dev app fabric缓存,而其他人则说使用通用提供程序和sql azure将会话状态存储在sql azure表中。任何专家请告诉我哪一个更好,为什么?“为什么”是必需的,所以我提出了我的建议。谢谢缓存对事务/小时、带宽/小时和并发连接数有特定的限制。事务和带宽阈值为每时钟小时,因此您必须保持在这些限制之下。由于价格不是线性的,您可以估计会话使用情况,并创建一个大于您需要的缓存,但这只是您需要考虑的问题。 SQLAzure,通过通用提供商,将不会有这样的限制。我不知道您的缓存存储需求,但如果缓存低于100MB,您现在谈论的是每月5美元的缓存,而缓存服务的最低成本为45美元。如果您需要完整的4GB缓存空间,5GB SQL Azure缓存的成本将大大降低

话虽如此,缓存提供程序有一个特定的使用目标。例如:4GB缓存每小时支持多达1280万个事务,或每秒支持3500多个事务。即使是128MB缓存提供程序,每秒也有超过100个事务

所以:我会用两个基本标准来看待这个决定:

  • 如果成本是一个因素,并且您相信您的缓存事务速率和数据量可以由SQL Azure处理,那么SQL Azure似乎是您的最佳选择(并且将扩展到远远超过缓存服务最大4GB的大小)。SQLAzure周围没有发布的事务速率信息,但您可能可以做一些简单的测试,看看在看到性能下降之前每秒可以推送多少次会话点击
  • 如果您的应用程序要求非常高的事务速率,则缓存的已发布事务目标指向缓存作为更好的解决方案。注意:您可能无法针对单个实例的缓存每秒生成3500个事务;这更像是一个多实例场景
有关缓存细节的详细信息,请参阅


编辑除了SQL和共享缓存之外,您现在可以配置自己的专用缓存,可以使用现有角色的内存(不需要任何成本),也可以在部署中使用缓存角色(不管角色实例的成本如何)。这是最快的选择,因为它与您的部署共存。它还支持memcached协议。可以找到更多信息。

这篇好文章介绍了Azure中三种不同会话状态管理的优缺点: