镜像和缓冲页写入/秒

Kyl*_*ndt 4 sql-server-2008 sql-server perfmon sql-server-2012

“缓冲区管理器:页面写入数/秒”(* 8 KB)是否是通过可用性组复制所有数据库将使用多少带宽的良好指标?

如果不是,为什么这些不等价?只是有一些开销还是它们基本上不相关?

Rem*_*anu 6

AG 和 DBM 都将主要复制在主体上生成的日志。缓冲区刷新率与日志生成率有一定关系,但并不完全相同(想想同一行的 100 次更新会生成 100 条日志记录,但只会刷新页面一次,还想想如何描述单个插入在可能 256 字节的日志中,但它弄脏了整个页面,当刷新时,写入 8kb)并且计数器不是每个数据库开始的。

还有一些额外的控制消息,当 AG 存在时,会有额外的日志记录,但并不重要。我会说日志本身约占流量的 95%。一方面请记住,DBM 和 AG 都可以并且将会压缩日志流量。但另一方面,DBM 和 AG 将需要完全记录的操作(AG/DBM 源上不能出现最少的日志记录)。使用 AG 时,副本数也有影响(更糟糕的是,流量会乘以 x 倍的副本数)。

您不仅需要考虑吞吐量,还需要考虑延迟。在同步模式下,副本必须强化提交,这会影响操作延迟。在SQL Server, Databases Object 中检查您当前的日志刷新率。

一旦建立,DBM 和 AG 都有自己的计数器:SQL Server, Database Mirroring ObjectSQL Server, Availability Replica。原始流量(包括协议开销)也可以在SQL Server、Broker/DBM 传输对象中进行测量。当然,这些需要先建立一个AG,然后用load :)

但是对于将要发送的字节数的估计(压缩之前),日志文件 virtual io stats,正如 mrdenny 所建议的那样,是一个非常好的聚合指标,但不幸的是,它没有提供有关吞吐量实际形状的信息(即尖峰)。不幸的是,没有直接的性能计数器。