我最近接管了一个包含大约 25 个数据库的系统的管理。使用 Redgate Monitor 绘制一些指标图表,我看到每天都有一个数据库显示日志刷新/秒的值,看起来像一个“正常”图表 - 全天的锯齿形线。
Redgate 解释了该指标:“当提交事务并将数据从日志缓存写入物理事务日志文件时,就会发生日志刷新。”
一切都很好——工作正在进行,数据在提交时被刷新到磁盘。
我的问题是——为什么所有其他数据库根本无法在 x 轴上方注册任何东西?
Redgate 还解释说:“每秒的日志刷新通常应该与每秒的事务数相关联。”
当我查看每秒事务时,很多数据库都显示锯齿形图表线 - 那么发生了什么,只有其中一个显示日志刷新活动?这是否意味着所有其他数据库都无法提交?
所有用户数据库都使用完整恢复模式。
(我还注意到,在凌晨 2 点到凌晨 5 点之间,几乎所有数据库的日志刷新都出现了巨大的峰值——仍在调查这些问题的原因)。
我对您使用的 Redgate 工具一无所知,但听起来“每秒事务处理”将包括读写事务。因此,可能的解释是每秒日志刷新率高的数据库是唯一具有大量写入工作负载(因此产生日志刷新率)的数据库。其他数据库可能有很多读取事务,但这些不会生成任何日志活动。
关于你最后的注释,半夜的日志活动可能是由于索引维护,这是一种常见的通宵工作,会产生大量日志记录。
如果没有关于您的数据库的详细信息,这些大多只是根据您的问题中提供的信息进行的有根据的猜测。
每秒刷新日志本身并不意味着什么。当有很多交易发生时它会上升——仅此而已。
用户是否抱怨他们在点击提交按钮后失去了他们的工作?用户是否抱怨应用程序运行缓慢?如果没有,请不要担心。对于您的应用程序来说,这可能是一种完全正常的模式。
当用户抱怨时,看看 redgate 指标与标准相比有什么不同,然后从那里开始挖掘。