Azure Sql数据库日志I / O似乎很高

时间:2015-07-10 14:39:22

标签: sql database azure logging azure-sql-database

我一直在优化Azure Sql数据库并开始获得非常好的性能。现在主要关注的是它所做的记录。在运行插入/更新负载测试时,一切都很低,除了CPU达到峰值15%左右,日志记录达到峰值25%左右。由于日志记录IO达到25%,这导致DTU为25%。我在数据库的设置中关闭了审核,但没有做任何事情。有没有办法减少正在进行的日志记录?我甚至不确定日志的保存位置。

任何有关这方面的见解都会有所帮助,因为我已经用Google搜索,无法找到任何值得一提的有关正在进行的日志记录的内容。

以下是指标的屏幕截图...

Azure SQL Database Metrics

  

工作流程详细信息:

我没有字节大小,因为我不在办公室。每个Task都是SELECTINSERTUPDATE,这是使用实体框架的典型添加或更新流程。这些任务以每秒63个任务的速度启动并完成,以创建这些指标。

4 个答案:

答案 0 :(得分:4)

度量标准表示对数据库的事务日志的写入。事务日志跟踪数据的更改,因此这在很大程度上取决于您插入或更新的数据量。正如您所说,审计对SQL数据库中的日志速率没有影响。

答案 1 :(得分:3)

根据您对工作量的描述,审核没有影响。插入/更新按您插入的数据的顺序生成日志。您可以尝试在SQL DB v12中提高工作负载效率的几个选项是禁用SI / RCSI。如果您的记录大小很小,则可以节省一些数据IO / log和临时数据库使用量。更多详细信息@ http://www.sqlindepth.com/row-versioning-in-sql-database-version-v12/您还可以压缩表,以便您的IO /日志可以略低于它,但是您的CPU消耗会略微增加。

答案 2 :(得分:2)

审核与事务日志IO正交,这是为了保持数据库的一致性和持久性。正如Sirisha所说,你可以禁用SI / RCSI / compress(V12数据库)。您可能还希望在表上删除不需要的索引,以便日志IO可以很小。

答案 3 :(得分:1)

尝试将保留天数更改为适用于您的案例的最小值,除非您需要将保留天数保持在最大值。

日志存储在您的存储帐户中。

希望这有帮助。