我正在考虑在我们的服务器上运行 perfmon 并将数据存储到数据源,这相对容易做到。但我担心的是 Perfmon 执行数据更新的频率。
每次更新都会这样做吗?意思是,如果我将间隔设置为 1 秒,它会每秒执行一次插入吗?还是它会等待并将它们分批处理?有什么方法可以控制吗?
答案1
每次更新都会这样做吗?
是的。
答案2
您可以使用另一个流程来为您完成此操作。
“另一种方法是将数据以 *.blg(二进制)格式记录到您正在监控的机器的本地磁盘上,然后再进行后期处理。”
http://blogs.msdn.com/b/granth/archive/2008/09/23/relogging-perfmon-binary-log-files-to-sql.aspx
现在,如果您按上述配置,重新记录过程运行时可能会对您的数据库造成严重影响:每天一次。也许您将 perfmon 配置为每 10 分钟重新启动一次,然后对您的复制和重新记录过程进行类似配置。
无论如何,如果您担心对生产的影响并希望第一次就做好这件事,您应该在测试 SQL 服务器上测试不同的场景。无论哪种方式,您都只能分散或集中负载,而不能减少负载。所有这些写入都将影响 SQL 服务器,从我的阅读来看,它似乎不会从记录的命令行选项执行批量插入。