“什么是”呢;“过度使用资源”;在SQLAzure中?

“什么是”呢;“过度使用资源”;在SQLAzure中?,sql,azure,azure-sql-database,Sql,Azure,Azure Sql Database,我在网上搜索了一段时间,关于什么是SQLAzure上的“过度资源使用”,仍然没有得到一个想法 一些文章建议查询时间过长、内存过多等会导致“资源过度使用”。但如果我使用简单的查询,简单的数据结构,会发生什么 例如:我将1G SQL Azure作为会话状态。由于session是一个非常小的字符串,并且一直在保存/删除,我认为它不会在数百万个session的同时增长到1G。您可以计算,对于100万个会话,每个20个字符,只占用20m空间,考虑20分钟过期等,甚至不能接近1G。但是查询应该是很多很多。通

我在网上搜索了一段时间,关于什么是SQLAzure上的“过度资源使用”,仍然没有得到一个想法

一些文章建议查询时间过长、内存过多等会导致“资源过度使用”。但如果我使用简单的查询,简单的数据结构,会发生什么

例如:我将1G SQL Azure作为会话状态。由于session是一个非常小的字符串,并且一直在保存/删除,我认为它不会在数百万个session的同时增长到1G。您可以计算,对于100万个会话,每个20个字符,只占用20m空间,考虑20分钟过期等,甚至不能接近1G。但是查询应该是很多很多。通过索引,每个查询都将非常简单和快速

我想知道,如果这种使用会被认为是“过度的资源使用”吗?是否有任何硬性数字限制您的使用


顺便说一句,如上所述,如果所有这些都发生在同一个数据中心,那么所有成本都是1G数据库,每月10美元,对吗?

不幸的是,答案是“这取决于”。我认为关于SQLAzure查询节流阀的最佳参考(带指导)可能在这里:这将提供有关所监视的指标和节流阀机制的详细信息

我之所以说这取决于,是因为油门对于任何给定的用户都是不确定的。这是因为节流将根据节点上的总负载(Azure DC中的物理SQL Server)激活。虽然将被限制的订阅者是提供最大负载的订阅者,但限制生效的级别将取决于节点上的总负载。因此,如果您在一个安静的节点上(其他租户DB相对不活跃),那么您将能够比在繁忙节点上提供更多的吞吐量

使用1GB SQL Azure DBs进行会话状态存储非常有吸引力;您已经确定了成本效益。不过你在冒险。减轻此风险的一种方法是至少跨两个SQLAzure 1GB数据库进行分区,并根据其中一个数据库是否开始遇到瓶颈自行调整负载


如果您想确定吞吐量,另一个选项是使用WindowsAzure缓存来备份您的sesion状态存储。缓存对查询吞吐量有严格的预定义限制,因此您可以更轻松地进行规划。缓存方法可能有点贵,但出现问题的风险较低。

不幸的是,答案是“视情况而定”。我认为关于SQLAzure查询节流阀的最佳参考(带指导)可能在这里:这将提供有关所监视的指标和节流阀机制的详细信息

我之所以说这取决于,是因为油门对于任何给定的用户都是不确定的。这是因为节流将根据节点上的总负载(Azure DC中的物理SQL Server)激活。虽然将被限制的订阅者是提供最大负载的订阅者,但限制生效的级别将取决于节点上的总负载。因此,如果您在一个安静的节点上(其他租户DB相对不活跃),那么您将能够比在繁忙节点上提供更多的吞吐量

使用1GB SQL Azure DBs进行会话状态存储非常有吸引力;您已经确定了成本效益。不过你在冒险。减轻此风险的一种方法是至少跨两个SQLAzure 1GB数据库进行分区,并根据其中一个数据库是否开始遇到瓶颈自行调整负载


如果您想确定吞吐量,另一个选项是使用WindowsAzure缓存来备份您的sesion状态存储。缓存对查询吞吐量有严格的预定义限制,因此您可以更轻松地进行规划。缓存方法可能有点贵,但出现问题的风险较低。

没有允许跨不同SQL Azure数据库对会话状态进行分区的机制。在SQL1上有点a-m,在SQL2解决方案上有点n-z。不dynamic@Chris,分销是个好主意。然而,如何知道DB是否开始加速?很多503错误?嗨,大卫。实际上,版本2.0中的ASP.NET会话状态通过实现IPartitionResolver对分区具有本机支持。我还没有做过一个实现联邦的实现,但是,我做过一个实现,只是在预定义的一组SQL Azure数据库上对我的数据库进行了分区。还有一个关于吞吐量的后续点。在负载下对SQL Azure进行了一些探索(并警告它是不确定的),我有理由相信您的会话表上每秒有几百个请求。没有任何机制允许您的会话状态在不同的SQL Azure数据库之间进行分区。在SQL1上有点a-m,在SQL2解决方案上有点n-z。不dynamic@Chris,分销是个好主意。然而,如何知道DB是否开始加速?很多503错误?嗨,大卫。实际上,版本2.0中的ASP.NET会话状态通过实现IPartitionResolver对分区具有本机支持。我还没有做过一个实现联邦的实现,但是,我做过一个实现,只是在预定义的一组SQL Azure数据库上对我的数据库进行了分区。还有一个关于吞吐量的后续点。在负载下对SQL Azure进行了一些探索(并警告它是不确定的),我有理由相信您的会话表上每秒会有几百个请求。请记住,不支持在SQL Azure中存储会话,但如果您真的想这样做,请看一看:谢谢Tom,我不打算在那里存储会话。我只是以它为例请记住,在SQLAzure中存储会话是不受支持的,但如果您真的想这样做,请看一看:谢谢Tom,我不会在那里存储会话。我只是以它为例