2012-08-15 104 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等基准比赛以及带有结果的好控制台输出。