-6

我需要使用 C# 开发一个评估工具,该工具将在系统上运行数小时,然后显示系统的整体性能。

系统应该运行一项服务,我们想要评估该服务如何影响系统的性能。如果我可以使用“Windows 性能监视器”中可用的性能计数器,那就太好了……我不确定是否有任何 API 可供开发人员使用。

我只是在寻找建议...

谢谢

4

2 回答 2

1

如果是我,我会使用 perfmon。优点是:

  • 众所周知的数据归档模型,提供多种格式。
  • 对数据进行切片和切块的现有工具,包括可视化。
  • 如果客户关心,可以与其他系统集成(即让他们将数据吸入其他性能工具)。
  • 别人的代码。:)

如果需要,您可以包装 perfmon 并以编程方式调用它。最坏的情况只是通过命令行调用它并以这种方式开始/停止收集。

当然,您也可以针对特定应用程序公开自己的性能计数器。对于我在 Windows 上能想到的几乎所有编程环境,都有大量的 API,当然包括 C#。

于 2012-11-05T17:30:48.613 回答
0

我强烈建议您使用现有选项,例如自动收集 WPM 统计信息。

否则 C# 可能不是最佳选择,因为硬件几乎完全被运行时从代码中抽象出来。此外,该应用程序可能需要足够的资源和时间来污染您的结果。通常 C++ 和 C# 之间的性能成本可以忽略不计,但在这种情况下可能是一个问题。

祝你好运。

于 2012-11-05T17:31:55.947 回答