Wie testet man die TempDB-Leistung?

Wie testet man die TempDB-Leistung?

Ich bekomme widersprüchliche Ratschläge zur optimalen Konfiguration unseres SQL-Speichers mit unserem aktuellen SAN. Ich würde gerne selbst einige Leistungstests mit einigen unterschiedlichen Konfigurationen durchführen.

Ich habe mir die Verwendung von SQLIOSim angesehen, aber es scheint TempDB nicht zu simulieren.

Kann jemand eine Möglichkeit zum Testen der Daten-, Protokoll- und TempDB-Leistung empfehlen?

Wie wäre es mit der Verwendung einer SQL-Profiler-Trace-Datei aus unserem Produktionssystem? Wie kann ich diese auf meinem Testserver ausführen?

Danke, Matt

Antwort1

Eine allgemeine Empfehlung besteht darin, das E/A-Subsystem – noch bevor Sie SQL Server installieren – mit einem Programm wie SQL IO zu testen, damit Sie seine Fähigkeiten kennen. http://www.brentozar.com/archive/2008/11/storage-performance-testing-with-sqlio/

Das Wiedergeben von Trace-Dateien ist eine gute Idee, kann aber ziemlich umständlich einzurichten sein. Vielleicht ist es besser, einige Skripte zusammenzustellen, die unterschiedliche Arten von Arbeitslasten simulieren. http://msdn.microsoft.com/en-us/library/ms189604.aspx

CheckDB und Neuindizierung (insbesondere online) verbrauchen ziemlich viel TempDB – je nach Konfiguration/Datenbankgröße usw. Möglicherweise möchten Sie typische Aktivitäten wie diese auf Ihrer neuen Box vergleichen.

Schließlich stellt Ihr SAN-Anbieter möglicherweise ein Whitepaper zur Konfiguration speziell für SQL Server bereit. Versuchen Sie, dieses zu finden, und wenn es existiert, gehen Sie es mit Ihrem SAN-Administrator durch.

Antwort2

Die allgemeine Information, die ich geben kann, ist, dass Tempdb normalerweise auf einem RAID10-Array laufen sollte, da es sich um eine Datenbank mit vielen Schreibvorgängen handelt. Was die Anzahl der Spindeln betrifft, so hängt dies vollständig vom betreffenden Server und davon ab, wie viel IO die Tempdb-Datenbank generieren wird.

verwandte Informationen