代码之家  ›  专栏  ›  技术社区  ›  Carles Company

如何使用性能计数器跟踪应用程序吞吐量

  •  1
  • Carles Company  · 技术社区  · 15 年前

    我尝试使用C的性能计数器来跟踪应用程序(实际上是一个Windows服务)的吞吐量。但我有一个关于如何解决这个问题的问题…我的应用程序解析XML文档,我想监控每单位时间解析多少文档。 每次解析文档时,我都使用ounter.increment(),但这总是给出解析的文档总数(平面图)。我想做一个很好的曲线图,在这里我可以设置要采样的间隔,并在该间隔内得到计数。

    是否可以使用性能计数器,或者我应该采用其他方法?

    谢谢。

    3 回复  |  直到 15 年前
        1
  •  3
  •   Chris Patterson    15 年前

    如果要查看项目的速率(例如每秒),则需要使用其他计数器类型。例如:

    性能计数器类型.rateofcountspersecond32

    如果为每个项增加此值,它将以每秒计数的形式显示在性能中,而不是以总计数的形式显示(这是通过PerformanceCounterType.NumberOfitems32获得的结果)。

        2
  •  0
  •   Pete OHanlon    15 年前

    完成文件分析后,可以一直递减计数器。这样,您就可以在任意一个时间点获得活动分析的数量,这实际上会给您一个非线性图,因为这些分析需要不同的时间间隔。

        3
  •  0
  •   Toad    15 年前

    最简单的方法是存储文档完成时的时间戳(因此是一个大数组)

    根据这些数据,您可以很容易地扣除总完成时间、处理速度、每个时间步的速度变化等。

    这些统计数据可以用Excel完成(只需从开始),然后用一些花哨的图形库添加到软件中。