在Windows上進行性能測試時,我通常使用perfmon。但是當我把負載,CPU%是變化太多,如果我設置perfmon的時間間隔爲1秒,並沒有太大的變化,如果我設置perfmon的時間間隔爲15秒(默認一個)。哪個區間最適合測量Windows應用程序的CPU性能?如果性能不好,是否還有其他工具可以提供更好的結果?使用Perfmon測量性能
非常感謝
--Ram
在Windows上進行性能測試時,我通常使用perfmon。但是當我把負載,CPU%是變化太多,如果我設置perfmon的時間間隔爲1秒,並沒有太大的變化,如果我設置perfmon的時間間隔爲15秒(默認一個)。哪個區間最適合測量Windows應用程序的CPU性能?如果性能不好,是否還有其他工具可以提供更好的結果?使用Perfmon測量性能
非常感謝
--Ram
你的問題是,這一進程將使用單核CPU的100%,持續時間很短的時間,然後不使用它同時等待IO等。
因此(正如您已經確定的),CPU使用率的觀點可能會有很大的不同。您如何決定如何衡量,取決於使用情況以及該機器上其他進程的需求。例如你可能會在100%的時間內使用CPU 5分鐘,但這並不重要,因爲其他進程在特定的時間不需要它。或者您可能會收取CPU使用費,在這種情況下,您可以在24小時內進行測量。
直到/除非別的東西受到您的過程的不利影響,否則沒有真正的最佳/最差測量機制。在這種情況下,您可以獲得一些可以優化的硬數據。
非常感謝Brian。這是更有趣的。我通過對流程施加恆定負載來衡量性能。因此,在加速時間(最大負載達到)之後,該過程的負載是相同的,直到測試結束。這就是爲什麼我想知道爲什麼它是這樣的。另外,在這個過程的Linux上的負載相同產生一條直線(以及..幾乎直接使用ps)。我無法得到一個好的機制,由於這種行爲可以可靠地測量windows中的性能。如果這個過程服務於一個恆定的負載,我預計它至少應該在任何時候都使用CPU。 – vpram86 2009-09-02 13:43:14
我不瞭解Windows,但是在Unix系統上,負載數據是一個時間窗口的CPU測量值(通常超過1分鐘/ 5分鐘/ 15分鐘),因此「升高」時間和隨後的下降。 – 2009-09-02 14:41:24
謝謝brian.I會嘗試通過測試找到接近最佳的間隔。我希望我會得到一個。因爲在我的情況下,負載類型幾乎相似。那時的行爲也會類似。 – vpram86 2009-09-02 18:03:09
從技術上講,這屬於ServerFault。 – RBarryYoung 2009-09-02 11:45:48