2009-09-02 45 views
0

在Windows上进行性能测试时,我通常使用perfmon。但是当我把负载,CPU%是变化太多,如果我设置perfmon的时间间隔为1秒,并没有太大的变化,如果我设置perfmon的时间间隔为15秒(默认一个)。哪个区间最适合测量Windows应用程序的CPU性能?如果性能不好,是否还有其他工具可以提供更好的结果?使用Perfmon测量性能

非常感谢

--Ram

+0

从技术上讲,这属于ServerFault。 – RBarryYoung 2009-09-02 11:45:48

回答

1

你的问题是,这一进程将使用单核CPU的100%,持续时间很短的时间,然后不使用它同时等待IO等。

因此(正如您已经确定的),CPU使用率的观点可能会有很大的不同。您如何决定如何衡量,取决于使用情况以及该机器上其他进程的需求。例如你可能会在100%的时间内使用CPU 5分钟,但这并不重要,因为其他进程在特定的时间不需要它。或者您可能会收取CPU使用费,在这种情况下,您可以在24小时内进行测量。

直到/除非别的东西受到您的过程的不利影响,否则没有真正的最佳/最差测量机制。在这种情况下,您可以获得一些可以优化的硬数据。

+0

非常感谢Brian。这是更有趣的。我通过对流程施加恒定负载来衡量性能。因此,在加速时间(最大负载达到)之后,该过程的负载是相同的,直到测试结束。这就是为什么我想知道为什么它是这样的。另外,在这个过程的Linux上的负载相同产生一条直线(以及..几乎直接使用ps)。我无法得到一个好的机制,由于这种行为可以可靠地测量windows中的性能。如果这个过程服务于一个恒定的负载,我预计它至少应该在任何时候都使用CPU。 – vpram86 2009-09-02 13:43:14

+0

我不了解Windows,但是在Unix系统上,负载数据是一个时间窗口的CPU测量值(通常超过1分钟/ 5分钟/ 15分钟),因此“升高”时间和随后的下降。 – 2009-09-02 14:41:24

+0

谢谢brian.I会尝试通过测试找到接近最佳的间隔。我希望我会得到一个。因为在我的情况下,负载类型几乎相似。那时的行为也会类似。 – vpram86 2009-09-02 18:03:09