【发布时间】:2013-11-28 23:58:08
【问题描述】:
我读过几篇文章,其中说推荐的是 azure 上的开发应用程序结构缓存,而其他人则说使用通用提供程序并使用 sql azure 将会话状态存储在 sql azure 表中。有哪位专家请告诉我哪个更好,为什么? “为什么”是必需的,所以我提出我的案例以供推荐。谢谢
【问题讨论】:
标签: azure azure-sql-database azure-appfabric
我读过几篇文章,其中说推荐的是 azure 上的开发应用程序结构缓存,而其他人则说使用通用提供程序并使用 sql azure 将会话状态存储在 sql azure 表中。有哪位专家请告诉我哪个更好,为什么? “为什么”是必需的,所以我提出我的案例以供推荐。谢谢
【问题讨论】:
标签: azure azure-sql-database azure-appfabric
缓存对事务/小时、带宽/小时和并发连接数有特定限制。事务和带宽阈值是按时钟小时计算的,因此您必须保持在这些限制之下。由于价格不是线性的,您可以估计会话使用情况并创建一个比您需要的缓存大的缓存,但这只是您需要考虑的事情。
通过通用提供程序的 SQL Azure 不会有这样的限制。我不知道您的缓存存储要求,但如果缓存低于 100MB,您现在谈论的是每月 5 美元的缓存,而缓存服务最低 45 美元。如果您需要完整的 4GB 缓存空间,5GB SQL Azure 缓存的成本会大大降低。
话虽如此:缓存提供程序有一个特定的使用目标。例如:4GB 缓存支持高达每小时 1280 万次事务,或每秒超过 3500 次。即使是 128MB 的缓存提供程序,每秒也有超过 100 个事务。
所以:我会根据两个基本标准来看待这个决定:
有关缓存细节的更多信息,请参阅here。
编辑 除了 SQL 和共享缓存之外,您现在可以配置自己的专用缓存,可以使用现有角色的内存(无需任何成本)或使用部署中的缓存角色(成本角色实例成本)。这是最快的选择,因为它与您的部署位于同一位置。它还支持 memcached 协议。更多信息可以找到here。
【讨论】:
这篇好文章描述了 Azure 中三种不同会话状态管理的优缺点:sessions in azure
【讨论】: