- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个 Azure SQL 数据库。直到几周前,我们还设置为 10 个 DTU (S0)。最近,我们收到了更多 SQL 超时错误,促使我们将 DTU 增加到 50 (S2)。我们遇到错误的频率较低,但偶尔也会出现。当我们遇到这些超时时,我们会看到资源图上的峰值达到 100%。深入研究一下,通常是数据 I/O 操作导致了峰值。但是,当我们检查 Query Performance Insight 时,所列出的查询均未显示它们正在使用那么多资源。
另一件值得注意的事情是我们的数据库规模一直在稳步增长。现在约为 19 GB,其中大部分 (18 GB) 来自一个包含大量长 JSON 字符串的表。超时错误通常发生在具有多个连接的特定查询上,但它们不会与具有长字符串的表交互。
我们测试了制作数据库的副本并删除所有长字符串,它在 10 DTU 时没有出现任何超时,但就加载时间而言,其性能与具有所有长字符串的数据库在 50 DTU 时相同。
我们已经重建了索引,尽管它有所帮助,但我们仍然遇到超时错误。
鉴于超时的查询并未触及具有长字符串的表,那么具有长字符串的表是否仍然是 DTU 使用的罪魁祸首?与 SQL 缓存有关吗?长字符串是否会占用缓存并导致大量数据 I/O? (它们的访问也相当频繁。)
最佳答案
如果字符串很热(正如您所说),它们肯定会耗尽您的缓存预算。当热工作集超过 RAM 缓存大小时,性能可能会急剧下降 (10-100 倍)。这是因为 IO 比 RAM 访问慢 10-1000 倍。这意味着,即使缓存命中率略有下降(例如 1%),也会造成巨大的性能损失。
这个悬崖可能非常陡峭。某一时刻应用还不错,下一时刻 IO 就破纪录了。
由于 Azure SQL 数据库具有严格的资源限制(正如我所听到和读到的),这会很快耗尽您购买的性能,从而带来限制。
我认为您所做的测试证实了字符串导致了问题。您可以尝试将字符串隔离在其他地方吗?如果它们冷了,就把它们移到另一张 table 上。如果它们很热,请将它们移动到另一个数据存储(数据库或 NoSQL)。这样您就可以回到更低的级别。
关于sql-server - Azure SQL 数据库 DTU 已满 - 由于数据库较大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51109434/
Azure 弹性池中的标准 DTU 和高级 DTU 之间有哪些性能差异? 最佳答案 标准版和高级版之间的主要区别除了可用 DTU 的数量之外,还在于每单位 DTU 的最大可用 I/O。标准层中每单位
是否有兴趣了解幕后发生了什么导致同一查询在一个 Azure SQL 性能级别失败但在更高级别工作的情况? 该查询确实在标准级别将服务器最大化到 100%,但如果这是问题所在,我预计会出现内存不足相关的
我们正在考虑将生产数据库迁移到 Azure SQL 数据库。作为初步调查的一部分,我们使用了 Azure SQL Database DTU Calulater估算所需的 DTU。 计数器估计将所有数据
我正在尝试找出 Azure SQL 数据库的定价模型。将默认情况下的 vCore 与 DTU 进行比较,值(value) 20 个 DTU 的服务器每月费用估计为 27.96 英镑,而 vCore 每
我正在尝试找出 Azure SQL 数据库的定价模型。将默认情况下的 vCore 与 DTU 进行比较,值(value) 20 个 DTU 的服务器每月费用估计为 27.96 英镑,而 vCore 每
有没有API可以实时获取DTU消耗情况?我想在我的网站上重建这样的图表。 最佳答案 希望我的回答还不算太晚, 最近我被要求使用 Azure 监控 API 获取 Azure DTU(平均指标)。示例工作
我正在使用 azure 数据工厂 v2 在 azure sql server 上进行数据加载。我开始加载数据,并将数据库设置为具有 800 个 DTU 的标准定价层。它很慢,所以我将 DTU 增加到
我有一个 Azure SQL Db,配置了基于 DTU 的定价模型。我正在尝试在数据库的辅助区域中创建副本。但是,当我尝试使用 Azure 门户对其进行配置时,没有选择将服务层选择为 DTU 的选项。
基本上,我想知道是否有人有增加 DTU 与分片的经验。 DTU应该线性地提高性能。因此,如果您有 5 个 DTU,而您改为 10 个 DTU,那么(理论上)您应该获得大约两倍的性能。 因此,四个 SQ
基本上,我想知道是否有人有增加 DTU 与分片的经验。 DTU应该线性地提高性能。因此,如果您有 5 个 DTU,而您改为 10 个 DTU,那么(理论上)您应该获得大约两倍的性能。 因此,四个 SQ
我们有一个 S1 定价的 SQL 数据库,具有 100 个 DTU,一切正常,但当我们的网站流量激增时,DTU 超过了 99% 的使用量,需要手动扩展,否则一切都会停止工作。 我们是否应该建立 Red
我们在 Azure 上有一些数据库实例,我正在尝试优化 Azure 上的数据库性能。能否解释一下什么是 Azure DTU 以及我们如何计算 Azure DTU? 最佳答案 1.什么是Azure DT
我们正在使用 SQL Azure,我们的数据库位于弹性池中。它有以下参数: 整个池允许的 DTU 数量为 400。 每个数据库允许的最大 DTU 为 100。 池中的数据库数量为 50 简单地说,50
我在 Azure SQL 服务器的可靠性方面遇到了一些问题。 有时会使用子查询执行复杂的查询,如下所示: SELECT DISTINCT [DeviceName] ,name ,data.[Addr]
$ServiceObjective = Get-AzureSqlDatabaseServiceObjective -ServerName exampledb-ServiceObjectiveName
我有一个不简单的查询。当我的数据库有 10 个 DTU 时,执行查询大约需要 17 秒。我将级别增加到 50 DTU - 现在执行需要 3-4 秒。该比率与文档相对应 - 更多 DTU = 工作速度更
我想知道在使用Entity Framework Code First 时是否可以定义Azure SQL 数据库 的DTU?我的意思是,您可以使用 DropCreateDatabaseIfModelCh
我们将 Azure SQL 用作单个数据库并在 DTU 定价模型下使用。我们有一个包含约 50M 条记录的表,我们想在单个字符串属性上添加一个新的非聚集索引。 问题是这是一个生产数据库。如果我使用简单
有了新的Azure SQL Database tier structure ,监视数据库“DTU”使用情况以了解是否升级或降级到另一层似乎很重要。 阅读Azure SQL Database Servi
将 SQL 数据库导出到存储时,我们的 DTU 容量已达到,这本质上意味着我们的系统性能受到严重影响。 这对我们来说是一个问题,因为我们使用导出功能来备份和移动数据库。 这个问题有解决办法吗? 最佳答
我是一名优秀的程序员,十分优秀!