2012-08-15 12 views
7

I Benchmark-Tests auf ein paar Servern leiten bin zu wollen, die ich verwalten und möchte in der Lage sein, meine eigenen Szenarien einzurichten und die Reihenfolge der Ereignisse/Automatisierung.Benchmarking Bibliothek nutzbar von C#

Also ich frage mich, ob es irgendwelche Bibliotheken, die verwendet werden können Benchmarking verschiedenen Aspekte eines Windows-Computer wie CPU, Disk-IO und RAM auszuführen.

Update 1: Da es scheint dies keine verfügbaren Bibliotheken werden dafür werde ich auch Antworten akzeptieren Hinweis auf Beispiele oder Führungen, wie eine CPU, Festplatte und Speicher-Performance mit C# testen.

Update 2 Gibt es irgendwelche gute Bibliotheken dafür in jeder Sprache?

+0

ich dies empfehle die Lektüre würde: http://www.codeproject.com/Articles/8590/An-Introduction-To-Performance-Counters, eine gute Einführung in die [Performance] (http://msdn.microsoft .com/de-us/library/system.diagnostics.performancecounter.aspx) Klasse, die Sie nützlich finden werden. – Bridge

+0

Das scheint interessant, aber vielleicht nicht genau das, wonach ich suche. Die Beispiele auf Codeprojekt scheinen über die Messung der aktuellen Leistung zu gehen, nicht darum, das System maximal zu nutzen und zu sehen, was es kann. Vielleicht kann ich es zusammen mit etwas Code verwenden, der den CPU/Datenträger/Speicher an seine Grenzen bringt und sieht, was es auch bekommt. – JensB

+0

Sehr interessante Frage. Wäre toll, wenn Sie Ihre Ergebnisse summerisieren und hier antworten könnten :). Ahmm mit C# zielst du nur auf Windows Server? – Gero

Antwort

1

Dies könnte außerhalb des Bereichs sein, auf der Suche nach etwas, ich war aber ähnlich in der Unit-Test-Ebene und fand this MSDN topic about Creating and Editing Load Tests.

+0

Dies scheint wie es verwendet werden kann, um eine Anwendung mit verschiedenen Anforderungen hämmern .. so theoretisch könnte ich wahrscheinlich meine CPU/Festplatte/Ram sättigen, wenn ich den Test in Richtung Code, der diese Arten von Ressourcen verwendet laufen .. Nicht genau was ich hatte im Hinterkopf, aber danke für den Tipp. – JensB

+0

@wokawaka In der Server-Umgebung, werfen Sie nicht nur Zeug auf den Server und sehen, wie es behandelt. Du schreibst dein Programm, das den Job ausführt, den du brauchst, dann hammerst du das Programm und siehst ***, wo *** die Verlangsamung verursacht wird. Wenn die Verlangsamung von einer schlecht optimierten Schleife stammt, beheben Sie Ihren Code. Wenn die Verlangsamung durch langsames Platten-I/O verursacht wird, aktualisieren Sie Ihre Festplatten-I/O mit schnelleren Laufwerken. Stellen Sie sich das so vor, Ihre Frage sucht nach "The Best", wenn Sie nach "The Best" suchen müssen, egal welche Arbeit ich dem Server geben werde. –

+0

@wokawaka Wenn ich über meinen Satz nachdenke, denke ich, dass ich neu formuliert werden muss als "Die Ausrüstung, die meine Bedürfnisse für jede Arbeit erfüllen wird, die ich dem Server geben werde". Wenn Sie $ 15.000 für ein [RAMSAN] (http://en.wikipedia.org/wiki/Texas_Memory_Systems) ausgeben, wenn ein RAID 0, das aus einem Paar 200 Raptor-Festplatten besteht, gut funktionieren würde und Sie meinen Mitarbeiter wären, würden Sie das nicht tun sei mein Mitarbeiter für lange Zeit. –

3

können Sie diesen Rahmen Open-Source-BenchmarkDotNet für CPU Benchmarking nutzen. Es beinhaltet die Verwendung von Stoppuhr, GC Pre-Call, Aufwärmprogramm, Prozesspriorität, Thred, ProcessorAffinity-Maske, API für Benchmark-Wettbewerbe und eine schöne Konsolenausgabe mit Ergebnissen.