Azure SQL DTU Spike处理理念?

时间:2016-02-22 08:54:11

标签: azure redis

我们有一个SQL数据库在S1定价撕裂100 DTU' s一切正常但是当我们的网站获得流量高峰时,DTU超过99%的使用量并需要手动缩放其他东西停止工作。

如果处理尖峰的任何想法我们应该放置Redis并提供缓存数据而不是直接来自数据库?这是最好的解决方案吗?

寻找想法

2 个答案:

答案 0 :(得分:2)

无论如何,Azure Redis是该方案的绝佳解决方案,但首先,您必须执行以下操作:

  1. 使用this query查找哪些查询最耗费CPU。
  2. 通过重构或adding indexes优化这些查询。
  3. 一旦无法进一步优化数据库,请设置缓存策略。如果您正在使用具有多个实例的Web应用程序,请使用分布式缓存解决方案(如Azure Redis)并存储最常用的信息,这些信息始终是为大多数用户构建和共享的。如果您不使用多个实例,则可以选择内存缓存,但这实际上取决于实例的大小。

答案 1 :(得分:0)

您应该缓存不经常更改的公共数据。我们假设您在主页上有通知。你只有1小时的最多1公告然后缓存它。

但你不应该缓存私人数据。特别是如果他们敏感并经常变化,例如:客户平衡。

你应该有适当的索引。

如果您有日志/审核,则应使用另一个数据库。表存储对此有好处。