【问题标题】:PerformanceCounterType for average timePerformanceCounterType 平均时间
【发布时间】:2012-04-10 21:36:58
【问题描述】:

我创建了一些Load Tests to an HTTP server,其中包含简单的Unit Tests。每个单元测试都会向服务器发送一个 http 请求。现在我想保留一些关于每次负载测试运行的额外信息,所以我创建了自定义性能计数器。

例如,我有一个超时计数器。每次发生超时时,我 increment 的计数器类型为 NumberOfItems32,因此在负载测试结束时,我可以看到总超时数。

我的问题是我想创建一个计数器来保持对 http 调用的平均响应时间。 我应该使用哪个PerformanceCounterType 以及如何使用?

编辑
我认为AverageTimer32 是正确的,但MSDN 的描述是:

这种类型的计数器显示采样间隔的总经过时间与在此期间完成的进程或操作数的比率

我不想要这个。在每次单元测试运行时,我都会计算响应时间,所以我认为使用适当的计数器只有以下代码才能工作:

responseTimeCounter.IncrementBy(responseTime);

【问题讨论】:

    标签: c# visual-studio-2010 unit-testing performancecounter


    【解决方案1】:

    NumberOfItems32计数器,因为你想捕获一个数字。

    【讨论】:

    • 我试过了,但它不起作用。它似乎像 Sum 计数器而不是 Avg 一样工作。我希望每次使用新的 ResponseTime 调用 IncrementBy 方法时,它都会自动更新性能监视器上的 Max、Min 和 Avg 值。这可能吗?
    • 改用AverageCount64 - 恕我直言,使用性能计数器和集成测试似乎不是最好的主意。我只会在一次测试中生成多个线程。
    猜你喜欢
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多