2012-08-15 105 views
7

我想對我管理的幾臺服務器進行基準測試,並希望能夠設置自己的場景和事件/自動化順序。可用於C的基準測試庫#

所以我想知道是否有任何庫可以用來執行Windows計算機的不同方面的基準測試,如CPU,磁盤IO和RAM。

更新1: 由於似乎是這樣做的我也不會接受指向實例或一個如何測試CPU,硬盤和內存的性能與C#導遊的答案沒有可用的庫。

更新2在任何語言中是否有任何好的庫?

+0

我建議閱讀本文:http://www.codeproject.com/Articles/8590/An-Introduction-To-Performance-Counters,[PerformanceCounter]的一個很好的介紹(http://msdn.microsoft .com/en-us/library/system.diagnostics.performancecounter.aspx),我認爲你會發現它很有用。 – Bridge 2012-08-15 15:34:44

+0

這似乎很有趣,但也許不完全是我要找的。代碼項目的例子似乎是關於衡量當前的性能,而不是關於如何最大限度地利用系統,以及看看它能做什麼。也許我可以將它與一些代碼一起使用,這些代碼將cpu/disk/memory限制在極限之內,並查看它是如何得到的。 – JensB 2012-08-15 15:40:08

+0

非常有趣的問題。如果你可以總結你的發現並在這裏回答:)會很棒。 Ahmm與c#只針對Windows Server? – Gero 2012-08-15 19:06:20

回答

1

這可能超出範圍,但我在單元測試級別尋找類似的東西,發現this MSDN topic about Creating and Editing Load Tests

+0

這似乎是它可以用於錘擊不同請求的應用程序..所以理論上我可能飽和我的CPU /磁盤/ RAM如果我運行測試使用這些類型的資源的代碼..不完全是我所擁有的記住,但謝謝你的提示。 – JensB 2012-08-15 21:46:04

+0

@wokawaka在服務器環境中,你不只是在服務器上扔東西,看看它如何處理。你寫你的程序來完成你需要完成的工作,然後敲擊程序,然後看看***引起的放緩。如果放緩是來自一個糟糕的優化循環,那麼你就修正了你的代碼。如果減速是來自慢速磁盤I/O,則使用更快的驅動器升級磁盤I/O。想想這樣,當你需要尋找「最好的做我將要給服務器的任何工作」時,你的問題就是尋找「最好的」。 – 2012-08-16 16:29:04

+0

@wokawaka考慮到我的這句話,我認爲我需要改寫爲「能夠滿足我爲服務器提供任何工作所需的設備」。如果您在一對200美元的raptor磁盤的RAID 0設置工作正常的情況下在[RAMSAN](http://en.wikipedia.org/wiki/Texas_Memory_Systems)上花費15,000美元,並且您在我的員工所在的位置長期成爲我的員工。 – 2012-08-16 17:09:26

3

您可以使用此開源框架BenchmarkDotNet進行CPU基準測試。它包括Stopwatch使用,GC預調用,熱身,設置進程優先級,Thred,ProcessorAffinity-mask,api等基準比賽以及帶有結果的好控制檯輸出。