测量服务中的平均执行时间

时间:2011-03-12 00:23:48

标签: .net windows performancecounter

我正在尝试使用Windows性能计数器来衡量WCF服务的每秒点击次数和每次点击次数,并且看到了一些奇怪的结果。

目前,我正在做的是:

public void MethodToTime()
{
    StopWatch sw = new StopWatch();
    sw.Start();

    //...do stuff...

    totalHitsCounter.Increment();  //this one works fine - NumberOfItems32 counter
    hitsPerSecondCounter.Increment();  //appears broken - RateOfCountsPerSecond32 counter
    secondsPerHitBaseTime.Increment(); //can't tell - AverageBase counter

    sw.Stop();
    secondsPerHitCounter.IncrementBy( sw.ElapsedTime );  //appears broken - AverageTimer32
}

在一天结束时,我想知道:

- 这个方法被击中x次(在其生命周期内)。 - 该方法平均需要x.x秒才能执行。 - 此方法每秒调用x次(跨所有服务实例,因为对服务的一次调用会导致对方法的一次调用)。

我是否在正确的轨道上?有没有更好的方法来解决这个问题? 非常感谢任何反馈:)

先谢谢大家!

1 个答案:

答案 0 :(得分:0)

你知道,秒/命中只是命中/秒的倒数。你需要将你的命中数除以1来得到它。