Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 231619
Summary
Das SQLIOSim-Tool führt Zuverlässigkeits- und Integritätsstresstests auf Datenträgersubsystemen aus, indem Microsoft SQL Server E/A-Muster simuliert werden. Zu diesen Tests gehören Leseaktivitäten, Schreibvorgänge, Checkpoint, Sicherungsprozesse, Sortiervorgänge und Vorausleseaktivitäten. Verwenden Sie SQLIOSim, um Ihr E/A-Subsystem zu überprüfen, bevor Sie SQL Server auf neuer Hardware bereitstellen. Das Tool arbeitet unabhängig vom SQL Server-Modul und erfordert keine ausführungsbereite SQL Server.
Einführung in SQLIOSim
SQLIOSim simuliert lese- und schreibmuster (Seitenlesevorgänge, Prüfpunkt, Sicherung, Sortierung, Vorlesen) eines SQL Server Systems, um potenzielle E/A-Probleme zu identifizieren. Das Hauptziel der E/A-Simulationstests besteht darin, die Zuverlässigkeit des zugrunde liegenden E/A-Subsystems zu überprüfen, bevor SQL Server mit der Verwendung beginnen. Weitere Informationen zu SQL Server E/A-Grundlagen finden Sie unter SQL Server E/A-Grundlagen.
SQLIOSim interagiert nicht mit SQL Server und erfordert keine Ausführung von SQL Server. Führen Sie in den meisten Fällen SQLIOSim aus, wenn SQL Server nicht ausgeführt wird, um den Wettbewerb für den E/A-Durchsatz zwischen den beiden Anwendungen zu vermeiden.
Warnung
Zeigen Sie nicht auf tatsächliche SQL Server Datenbankdateien in Ihrem SQLIOSim-Test, da das Tool zufällige Testmuster verwendet, um die Dateien zu überschreiben.
SQLIOSim garantiert keine Datensicherheit oder Integrität. Das Tool bietet grundlegende Tests einer Systemumgebung und kann potenzielle Datenintegritätsprobleme offenlegen.
Weitere Informationen zur Protokollierung und Datenspeicherung finden Sie unter Beschreibung der Protokollierungs- und Datenspeicheralgorithmen, die die Datensicherheit in SQL Server erweitern.
Wenn Sie Leistungs-Benchmarks ausführen und die E/A-Durchsatzkapazität ermitteln müssen, verwenden Sie stattdessen das Diskspd-Tool .
Tip
Führen Sie SQLIOSim für jede neue Speicherkonfiguration vor der Produktionsbereitstellung aus. Mit diesem Test wird sichergestellt, dass das System Schreibreihenfolge berücksichtigt und semantische Semantik löscht, auch wenn Zwischenspeicherungsebenen vorhanden sind. Zu diesen Ebenen gehören Controllercache, Firmwarepufferung und SAN-Optimierungen.
SQLIOSim-Speicherort
SQLIOSim war zuvor als separates Downloadpaket verfügbar. Ab Microsoft SQL Server 2008 ist SQLIOSim in der SQL Server Produktinstallation enthalten. Wenn Sie SQL Server installieren, finden Sie das SQLIOSim-Tool im Ordner Binn Ihrer SQL Server Installation. Verwenden Sie diese aktualisierte Version des Tools, um die E/A-Aktivität auf dem Datenträgersubsystem zu simulieren.
Das SQLIOSim-Paket enthält drei Dateien. Der Ordner "Binn " enthält zwei ausführbare Dateien, SQLIOSim.com und SQLIOSim.exe. Beide ausführbaren Dateien bieten identische E/A-Simulationsfunktionen.
- SQLIOSim.com ist ein Befehlszeilentool. Sie können sie so konfigurieren, dass sie ohne Benutzerinteraktion ausgeführt wird, indem Sie Befehlszeilenparameter, eine Konfigurationsdatei oder eine Kombination aus beiden Methoden verwenden.
- SQLIOSim.exe ist eine grafische Anwendung (GUI), die keine Befehlszeilenparameter akzeptiert. SQLIOSim.exe lädt jedoch Standardkonfigurationsdaten aus Konfigurationsdateien.
- Verwenden Sie Konfigurationsdateien, um die E/A-Simulation mithilfe von SQLIOSim zu automatisieren. Weitere Informationen finden Sie im Abschnitt zur SQLIOSim-Konfigurationsdatei .
Verwenden von SQLIOSim auf einem Computer ohne SQL Server
Führen Sie SQLIOSim für einen erweiterten Test auf einem Computer aus, bevor Sie SQL Server installieren. Verwenden Sie es, um das E/A-Subsystem zu testen, in dem Sie Daten und Protokolldateien platzieren und die Zuverlässigkeit überprüfen möchten. Kopieren Sie dazu die SQLIOSim-Dateien von einem Computer, auf dem SQL Server installiert ist, und führen Sie die Tests aus, bevor Sie SQL Server installieren. Kopieren Sie SQLIOSim.com, SQLIOSim.exe und optional eine oder mehrere Konfigurationsdateien, wenn Sie vorkonfigurierte Einstellungen verwenden möchten. Führen Sie dann die Testsimulation auf diesem Computer aus.
So verwenden Sie SQLIOSim
Sie benötigen den SQL Server Dienst nicht, während Sie SQLIOSim ausführen. Führen Sie in der Tat nicht SQL Server aus, während SQLIOSim ausgeführt wird, da die Anwendungen für E/A-Ressourcen konkurrieren können.
Warnung
Um zu vermeiden, dass Ihre tatsächlichen SQL Server Daten verloren gehen, geben Sie keine tatsächlichen SQL Server Datenbankdateien für Tests an. Das SQLIOSim-Tool überschreibt die Daten mithilfe zufälliger Testmuster.
Die folgenden Beispiele zeigen, wie sie SQLIOSim mithilfe der GUI und der Befehlszeile ausführen.
Beispiel 1: Verwenden der GUI
Wechseln Sie zu "C:\Programme\Microsoft SQL Server\MSSQLXX".<InstanceName>\MSSQL\Binn.
Starten Sie die SQLIOSIM.EXE Anwendung.
Suchen Sie im Fenster "Dateien und Konfiguration " nach Standardeinstellungen, die Sie an Ihre Konfigurationsanforderungen anpassen können.
Wählen Sie die erste mdx-Datei in der Liste aus, C:\temp\sqliosim\sqliosim.mdx. Diese Datei entspricht einer Datendatei.
Ändern Sie die Dateieinstellungen, z. B. speicherort, Größe, max. Größe oder Inkrement. Lassen Sie die Option "Protokolldatei " deaktiviert, da Sie eine Datendatei simulieren möchten. Klicken Sie anschließend auf Anwenden.
Das Beispiel zeigt, dass der Speicherort der Datei in D:\temp\sqliosim\sqliosim.mdx geändert wird, seine Größe auf 2048 MB festgelegt ist, seine maximale Größe auf 4096 MB festgelegt ist und seine Inkrementgröße auf 64 MB festgelegt ist.
Ändern Sie die zweite Datei, die das ldx-Suffix enthält. Diese Datei stellt das Äquivalent einer Transaktionsprotokolldatei dar. Stellen Sie sicher, dass die Option "Protokolldatei" ausgewählt bleibt. Nachdem Sie fertig sind, wählen Sie "Übernehmen" aus.
Fügen Sie der Liste weitere Dateien hinzu, indem Sie die Option "Neue Datei " in der Mitte des Bildschirms im tabellarischen Raster auswählen. Geben Sie den Dateispeicherort ein, und legen Sie dann die verbleibenden Optionen fest. Nachdem Sie fertig sind, wählen Sie "Übernehmen" aus. Im Folgenden finden Sie ein Beispiel.
Wenn Sie mit Ihrer Konfiguration zufrieden sind, wählen Sie "OK" aus.
Um die SQL-E/A-Simulation auszuführen, wählen Sie "Simulator starten" aus>. Alternativ können Sie F12 oder die schaltfläche ganz links auswählen, die einen grünen Kreis enthält.
Warten Sie, bis die Simulation abgeschlossen ist, und überprüfen Sie dann die Ausgabe.
Beispiel 2: Verwenden eines Befehlszeilentools und einer Konfigurationsdatei
Bearbeiten Sie die sqliosim.default.cfg.ini Datei. Entfernen Sie die Kommentare für die
File1undFile2Abschnitte, und ändern Sie dieFileNameWerte in neue SQLIOSim-Dateien. Zum Beispiel:[File1] FileName=D:\sqliosim\sqliosim.mdx InitialSize=100 MaxSize=200 Increment=10 Shrinkable=TRUE LogFile=FALSE Sparse=FALSE [File2] FileName=L:\sqliosim\sqliosim.ldx InitialSize=50 MaxSize=50 Increment=0 Shrinkable=FALSE LogFile=TRUE Sparse=FALSEFühren Sie SQLIOSIM.COM mithilfe der Konfigurationsdatei C:\temp\sqliosimconfig\sqliosim.default.cfg.iniaus:
SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
Beispiel 3: Verwenden eines Befehlszeilentools mit Schaltern
Sie können mehrere Datenträgervolumes gleichzeitig testen, indem Sie die -dir Option verwenden. Im folgenden Beispiel werden 500 MB Dateien erstellt und der Test für 300 Sekunden (fünf Minuten) ausgeführt:
SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosim\sqliosim.log.xml -dir "D:\sqliosim" -dir "F:\sqliosim\testfolder" -size 500 -d 300
Beispiel 4: Verwenden eines Befehlszeilentools für mehrere Laufwerke
Im folgenden Beispiel werden 32 GB Dateien erstellt und der Test für 600 Sekunden (10 Minuten) mithilfe der sqliosim.hwcache.cfg.ini Konfigurationsdatei ausgeführt:
SQLIOSIM.COM -cfg "D:\Temp\SQLIOSIM\SQLIOSIM_Configs\sqliosim.hwcache.cfg.ini" -d 600 -dir D:\temp\sqliosim -log D:\temp\sqliosim\simlog.xml -size 32768
SQLIOSim.com Befehlszeilenparameter
SQLIOSIM.COM akzeptiert eine begrenzte Anzahl von Befehlszeilenparametern, um das grundlegende Verhalten zu steuern. Die Konfigurationsdatei für das SQLIOSim-Tool bietet erweiterte Verhaltenssteuerung. Wenn Befehlszeilenparameter und Konfigurationsdateioptionen überlappen, haben die Befehlszeilenparameter Vorrang.
| Parameter | Beschreibung |
|---|---|
-cfg
Datei |
Überschreiben Sie die Standardkonfigurationsdatei Sqliosim.cfg.ini. Das SQLIOSim-Tool generiert einen Fehler, wenn sie die Datei nicht finden kann. |
-save
Datei |
Speichern Sie die resultierende Konfiguration in der Konfigurationsdatei. Verwenden Sie diese Option, um die anfängliche Konfigurationsdatei zu erstellen. |
-log
Datei |
Geben Sie den Namen der Fehlerprotokolldatei und den Pfad der Fehlerprotokolldatei an. Der Standarddateiname ist Sqliosim.log.xml. |
-dir
dir |
Legen Sie den Speicherort fest, um die Datendatei (.mdf) und die Protokolldatei (LDF) zu erstellen. Sie können diesen Befehl mehrmals ausführen. In den meisten Fällen ist dieser Speicherort ein Laufwerkstamm oder ein Volume-Bereitstellungspunkt. Dieser Speicherort kann ein langer Pfad oder ein UNC-Pfad sein. |
-d
sekunden |
Legen Sie die Dauer der Hauptausführung fest. Dieser Wert schließt die Vorbereitungsphase und die Überprüfungsphase aus. |
-size
MB |
Legen Sie die Anfangsgröße der Datendatei in Megabyte (MB) fest. Die Datei kann bis zu zwei Mal größer werden. Die Größe der Protokolldatei wird als Hälfte der Größe der Datendatei berechnet. Die Protokolldatei darf jedoch nicht größer als 50 MB sein. |
SQLIOSim-Konfigurationsdatei
Verwenden Sie eine Konfigurationsdatei zusammen mit SQLIOSim, damit Sie alle Einstellungen für die E/A-Simulation im Vorfeld auswählen können. Mit dieser Konfigurationsdatei können Sie die Ausführung von SQLIOSim automatisieren.
Sie können Beispielkonfigurationsdateien für verschiedene Tests aus dem SQL Server Supportteam GitHub Repo herunterladen.
Sie müssen keine Konfigurationsdatei verwenden. Wenn Sie keine Konfigurationsdatei verwenden, übernehmen alle Parameter Standardwerte, mit Ausnahme des Speicherorts der Datendatei und des Speicherorts der Protokolldatei. Sie müssen eine der folgenden Methoden verwenden, um den Speicherort der Datendatei und den Speicherort der Protokolldatei anzugeben:
- Verwenden Sie die Befehlszeilenparameter in der SQLIOSIM.COM-Datei .
- Verwenden Sie das Dialogfeld "Dateien und Konfiguration ", nachdem Sie die SQLIOSim.exe Datei ausgeführt haben.
- Verwenden Sie den File<N>-Abschnitt der Konfigurationsdatei.
Beispielkonfigurationsdateien
Verwenden Sie diese fünf Beispielkonfigurationsdateien für automatisierte SQLIOSim-Ausführungen.
| Beispieldatei | Beschreibung | Parameter, die sich von der Standardkonfigurationsdatei unterscheiden |
|---|---|---|
| sqliosim.default.cfg.ini | ||
| sqliosim.hwcache.cfg.ini | - Minimiert Lesevorgänge – Hält Dateien klein, um sie vollständig im Arbeitsspeicher zu speichern - Keine sequenziellen Lesevorgänge |
Für den Abschnitt "AuditUser " und für den Abschnitt "ReadAheadUser ":CacheHitRatio=10000UserCount=0 |
| sqliosim.nothrottle.cfg.ini | - Entfernt die E/A-Drosselung Minimiert die Wartezeit zur Erhöhung des E/A-Volumens. |
TargetIODuration=1000000AuditDelay=10RADelay=10 |
| sqliosim.seqwrites.cfg.ini | - Minimiert Lesevorgänge – Hält Dateien klein, um sie vollständig im Arbeitsspeicher zu speichern - Macht Dateien nicht verkleinerbar - Keine sequenziellen Lesevorgänge - Kein zufälliger Zugriff - Massenaktualisierung in großen Blöcken ohne Verzögerungen |
Shrinkable=FALSEFür die Abschnitte AuditUser, ReadAheadUser und RandomUser : CacheHitRatio=10000ForceReadAhead=FALSEBuffersBUMin=600BuffersBUMax=1000BUDelay=1UserCount=0 |
| sqliosim.sparse.cfg.ini | - Verwendet nur 32 MB Arbeitsspeicher – Macht die Ziel-E/A-Dauer groß genug, um viele ausstehende E/A-Anforderungen zu aktivieren. – Deaktiviert Scatter/Gather-APIs, damit separate E/A-Anforderungen für jede Seite mit 8 KB ausgestellt werden können. - Erstellt eine nicht verkleinerbare Datei mit 1 GB ** – Erstellt einen nicht verkleinerbaren sekundären Sparse-Stream von 1 GB in der Datei. |
MaxMemoryMB=32TestCycles=3TestCycleDuration=600TargetIODuration=10000UseScatterGather=FALSE[File1]FileName=sqliosim.mdxInitialSize=1000 MaxSize=1000Increment=10Shrinkable=FALSELogFile=FALSESparse=FALSE[File2]FileName=sqliosim.ldxInitialSize=50MaxSize=50Increment=0Shrinkable=FALSELogFile=TRUESparse=FALSE[File3]FileName=sqliosim.mdx:replicaInitialSize=1000MaxSize=1000Increment=10Shrinkable=FALSELogFile=FALSESparse=TRUE |
Vorbehalte für Parameterwerte
- Wenn der Name des Parameters angibt, dass es sich bei dem Parameter um ein Verhältnis oder einen Prozentsatz handelt, wird der Wert des Parameters als Prozentsatz oder als Verhältnis dividiert durch 0,01 ausgedrückt. Der Wert des
CacheHitRatio-Parameters ist zum Beispiel10 percent. Dieser Wert wird ausgedrückt,1000da 10 dividiert durch 0,01 gleich ist1000. Der Maximalwert eines Prozentparameters lautet10000. - Wenn der Parametertyp numerisch ist und Sie dem Parameter einen nicht numerischen Wert zuweisen, legt das SQLIOSim-Tool den Parameter auf
0. - Wenn der Parametertyp boolesch ist, sind
trueundfalsedie gültigen Werte, die Sie dem Parameter zuweisen können. Darüber hinaus wird bei den Werten die Groß-/Kleinschreibung beachtet. Das SQLIOSim-Tool ignoriert alle ungültigen Werte. - Wenn ein Parameterpaar einen Minimalwert und einen Maximalwert angibt, darf der Minimalwert den Maximalwert nicht überschreiten. Der Wert des
MinIOChainLengthParameters darf beispielsweise nicht größer als der Wert desMaxIOChainLengthParameters sein. - Wenn der Parameter eine Reihe von Seiten angibt, überprüft das SQLIOSim-Tool den Wert, den Sie dem Parameter zuweisen, anhand der Datei, die das SQLIOSim-Tool verarbeitet. Das SQLIOSim-Tool führt diese Überprüfung durch, um sicherzustellen, dass die Anzahl der Seiten die Dateigröße nicht überschreitet.
Konfigurationsdateiabschnitte
Die Konfigurationsdatei enthält mehrere Abschnitte:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
-
[Datei<N>] (der Platzhalter
<N>ist eine Zahl)
Jeder Konfigurationsabschnitt wird im folgenden Abschnitt beschrieben.
CONFIG-Abschnitt
Das SQLIOSim-Tool verwendet die Werte, die Sie im Config-Abschnitt der SQLIOSim-Konfigurationsdatei angeben, um das globale Testverhalten einzurichten.
| Parameter | Standardwert | Beschreibung | Kommentare |
|---|---|---|---|
ErrorFile |
sqliosim.log.xml | Name der XML-Typprotokolldatei | |
CPUCount |
Anzahl der CPUs auf dem Computer | Anzahl logischer CPUs, die erstellt werden sollen | Das Maximum beträgt 64 CPUs. |
Affinity |
0 | Physische CPU-Affinitätsmaske, die für logische CPUs angewendet werden soll | Die Affinitätsmaske sollte sich innerhalb der aktiven CPU-Maske enthalten. Ein Wert von 0 bedeutet, dass alle verfügbaren CPUs verwendet werden. |
MaxMemoryMB |
Verfügbarer physischer Arbeitsspeicher, wenn das SQLIOSim-Tool gestartet wird | Größe des Pufferpools in MB | Der Wert darf die Gesamtmenge des physischen Arbeitsspeichers auf dem Computer nicht überschreiten. |
StopOnError |
true | Stoppt die Simulation, wenn der erste Fehler auftritt. | |
TestCycles |
1 | Anzahl der auszuführenden vollständigen Testzyklen | Ein Wert von 0 gibt eine unendliche Anzahl von Testzyklen an. |
TestCycleDuration |
300 | Dauer eines Testzyklus in Sekunden, mit Ausnahme des Audit-Passes am Ende des Zyklus | |
CacheHitRatio |
1.000 | Simuliertes Cachetrefferverhältnis, wenn das SQLIOSim-Tool vom Datenträger liest | |
MaxOutstandingIO |
0 | Maximale Anzahl ausstehender E/A-Vorgänge, die prozessweit zulässig sind | Der Wert darf 140.000 nicht überschreiten. Ein Wert von 0 bedeutet, dass bis zu ca. 140.000 E/A-Vorgänge zulässig sind. Dies ist die Grenze des Tools. |
TargetIODuration |
100 | Dauer von E/A-Vorgängen in Millisekunden, die durch Drosselung angestrebt wird | Wenn die durchschnittliche E/A-Dauer die Ziel-E/A-Dauer überschreitet, drosselt das SQLIOSim-Tool die Anzahl der ausstehenden E/A-Vorgänge, um die Last zu verringern und die E/A-Vervollständigungszeit zu verbessern. |
AllowIOBursts |
true | Ermöglichen, die Drosselung zu deaktivieren, um viele E/A-Anfragen zu senden. | I/O-Bursts werden während der ersten Aktualisierung, des anfänglichen Prüfpunkts und des endgültigen Prüfpunkts am Ende der Testzyklen aktiviert. Der MaxOutstandingIO Parameter wird weiterhin berücksichtigt. Sie können lange E/A-Warnungen erwarten. |
NoBuffering |
true | Verwenden Sie die Option FILE_FLAG_NO_BUFFERING. |
SQL Server öffnet Datenbankdateien mithilfe von FILE_FLAG_NO_BUFFERING == true. Einige Dienstprogramme und Dienste, z. B. Analysis Services, verwenden FILE_FLAG_NO_BUFFERING == false. Um einen Server vollständig zu testen, führen Sie einen Test für jede Einstellung aus. |
WriteThrough |
true | Verwenden Sie die Option FILE_FLAG_WRITE_THROUGH. |
SQL Server öffnet Datenbankdateien mithilfe von FILE_FLAG_WRITE_THROUGH == true. Einige Tools und Dienste öffnen jedoch die Datenbankdateien mithilfe FILE_FLAG_WRITE_THROUGH == false. SQL Server Analysis Services öffnet z. B. die Datenbankdateien mithilfe FILE_FLAG_WRITE_THROUGH == false. Um einen Server vollständig zu testen, führen Sie einen Test für jede Einstellung aus. |
ScatterGather |
true | Verwenden Sie die ReadScatter- oder WriteGather-APIs |
Wenn Sie diesen Parameter auf truefestlegen, wird der NoBuffering Parameter auch auf true.SQL Server verwendet Scatter/Gather-Ein-/Ausgabe für die meisten Ein-/Ausgabe-Anforderungen. |
ForceReadAhead |
true | Führen Sie einen Read-Ahead-Vorgang aus, auch wenn die Daten bereits gelesen wurden. | Das SQLIOSim-Tool gibt den Lesebefehl aus, auch wenn sich die Datenseite bereits im Pufferpool befindet. Der Microsoft SQL Server-Support hat die Einstellung "true" erfolgreich verwendet, um E/A-Probleme zu erkennen. |
DeleteFilesAtStartup |
true | Löschen von Dateien beim Start, wenn Dateien vorhanden sind | Eine Datei kann mehrere Datenströme enthalten. Nur Datenströme, die im Eintrag File <N> FileName angegeben sind, werden in der Datei abgeschnitten. Wenn der Standarddatenstrom angegeben ist, werden alle Datenströme gelöscht. |
DeleteFilesAtShutdown |
false | Löschen von Dateien nach Abschluss des Tests | Eine Datei kann mehrere Datenströme enthalten. Nur die Datenströme, die Sie im File <N> FileName Eintrag angeben, werden in der Datei gekürzt. Wenn der Standarddatenstrom angegeben ist, löscht das SQLIOSim-Tool alle Datenströme. |
StampFiles |
false | Erweitern der Datei durch Stempeln von Nullen | Dieser Vorgang kann sehr lange dauern, wenn die Datei groß ist. Wenn Sie diesen Parameter auf "false" festlegen, erweitert das SQLIOSim-Tool die Datei durch Festlegen einer gültigen Datenmarkierung. SQL Server 2005 verwendet das Feature für die Sofortige Dateiinitialisierung für Datendateien. Wenn es sich bei der Datendatei um eine Protokolldatei handelt oder wenn die Sofortige Dateiinitialisierung nicht aktiviert ist, führt SQL Server null Stempel aus. Versionen von SQL Server vor SQL Server 2000 führen immer eine Nullwert-Stempelung durch. Sie sollten den Wert des Parameters während des StampFiles Tests wechseln, um sicherzustellen, dass sowohl die sofortige Dateiinitialisierung als auch die Nullstempel ordnungsgemäß funktionieren. |
Datei<N-Abschnitt>
Das SQLIOSim-Tool wurde entwickelt, um mehrere Dateitests zu ermöglichen. Der File<N> Abschnitt wird für jede Datei im Test als [File1], [File2] dargestellt.
| Parameter | Standardwert | Beschreibung | Kommentare |
|---|---|---|---|
FileName |
Kein Standardwert | Dateiname und Pfad | Der FileName Parameter kann ein langer Pfad oder ein UNC-Pfad sein. Sie kann auch einen sekundären Datenstromnamen und -typ enthalten. Der Parameter kann z. B. auf FileName gesetzt werden.HINWEIS In SQL Server 2005 verwenden DBCC-Vorgänge Datenströme. Streamtests werden empfohlen. |
InitialSize |
Kein Standardwert | Anfangsgröße in MB | Wenn die vorhandene Datei größer ist als der für den InitialSize Parameter angegebene Wert, wird die vorhandene Datei vom SQLIOSim-Tool nicht verkleinert. Wenn die vorhandene Datei kleiner ist, erweitert das SQLIOSim-Tool die vorhandene Datei. |
MaxSize |
Kein Standardwert | Maximale Größe in MB | Eine Datei kann nicht größer als der Wert sein, den Sie für den MaxSize Parameter angeben. |
Increment |
0 | Größe in MB des Inkrements, um das die Datei vergrößert oder verkleinert wird. Weitere Informationen finden Sie im ShrinkUser Abschnitt dieses Artikels. |
Das SQLIOSim-Tool passt den Increment Parameter beim Start so an, dass die Situation eingerichtet wird: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles.Wenn der Wert Increment lautet 0, legt das SQLIOSim-Tool die Datei als nicht verkleinerbar fest. |
Shrinkable |
falsch | Gibt an, ob die Datei verkrumpft oder erweitert werden kann. | Wenn Sie den Increment Parameter auf 0"" festlegen, legen Sie die Datei als nicht verkleinerbar fest. In diesem Fall müssen Sie den Shrinkable-Parameter auf false setzen. Wenn Sie den Increment Parameter auf einen anderen 0Wert als festlegen, legen Sie fest, dass die Datei verkleinert werden kann. In diesem Fall müssen Sie den Parameter Shrinkable auf true setzen. |
Sparse |
false | Gibt an, ob das Sparse Attribut für die Dateien festgelegt werden soll. |
Bei vorhandenen Dateien löscht das SQLIOSim-Tool das Sparse Attribut nicht, wenn Sie den Sparse Parameter auf "false" festlegen.SQL Server 2005 verwendet sparse Dateien, um Snapshotdatenbanken und die sekundären DBCC-Datenströme zu unterstützen. Aktivieren Sie sowohl die sparse-Datei als auch die Datenströme, und führen Sie dann einen Testdurchlauf aus. HINWEIS Wenn Sie im Abschnitt config für die Dateieinstellungen Sparse = true festgelegt haben, geben Sie NoBuffering = false nicht an. Wenn Sie diese beiden in Konflikt stehenden Kombinationen verwenden, wird möglicherweise eine Fehlermeldung angezeigt, die dem folgenden aus dem Tool ähnelt:Fehler:-=====Fehler: 0x80070467 Fehlertext: Beim Zugriff auf die Festplatte ist auch nach Wiederholungen ein Datenträgervorgang fehlgeschlagen. Beschreibung: Fehler bei der Pufferüberprüfung auf C:\SQLIOSim.mdx Page: 28097 |
LogFile |
false | Gibt an, ob eine Datei Benutzer- oder Transaktionsprotokolldaten enthält. | Definieren Sie mindestens eine Protokolldatei. |
RandomUser-Abschnitt
Das SQLIOSim-Tool verwendet die Werte, die Sie im Abschnitt RandomUser angeben, um einen SQL Server Worker zu simulieren, der zufällige Abfragevorgänge ausführt, z. B. OLTP-E/A-Muster (Online Transaction Processing).
| Parameter | Standardwert | Beschreibung | Kommentare |
|---|---|---|---|
UserCount |
-1 | Anzahl der Threads mit wahllosem Zugriff, die gleichzeitig ausgeführt werden | Der Wert darf den Wert nicht überschreiten: CPUCount*1023-100.Die Gesamtzahl aller Benutzer kann diesen Wert nicht überschreiten. Ein Wert von Null (0) bedeutet, dass Sie keine Benutzer mit wahllosem Zugriff erstellen können. Ein Wert von -1 bedeutet, dass Sie die automatische Konfiguration des Werts verwenden müssen: min(CPUCount*2, 8).NOTE Ein SQL Server System kann tausende Sitzungen enthalten. Die meisten Sitzungen haben keine aktiven Anfragen. Verwenden Sie die count(*)-Funktion in Abfragen gegen die sys.dm_exec_requests-Dynamic Management View (DMV) als Grundlage zum Festlegen dieses Testparameterwerts.CPUCount hier bezieht sich auf den Wert des CPUCount Parameters im CONFIG Abschnitt.Der min(CPUCount*2, 8) Wert führt zu den kleineren Werten zwischen CPUCount*2 und 8. |
JumpToNewRegionPercentage |
500 | Die Chance eines Sprungs zu einer neuen Region der Datei | Der Anfang des Bereichs wird zufällig ausgewählt. Die Größe des Bereichs ist ein zufälliger Wert zwischen dem Wert des MinIOChainLength Parameters und dem Wert des MaxIOChainLength Parameters. |
MinIOChainLength |
1 | Minimale Bereichsgröße in Seiten | |
MaxIOChainLength |
100 | Maximale Bereichsgröße auf Seiten | SQL Server 2005 Enterprise Edition und SQL Server 2000 Enterprise Edition können bis zu 1.024 Seiten vorausschauend lesen. Der Minimalwert ist 0. Der Maximalwert ist durch den Systemspeicher begrenzt.In der Regel führt die zufällige Benutzeraktivität zu kleinen Scanvorgängen. Verwenden Sie die im ReadAheadUser Abschnitt angegebenen Werte, um größere Scanvorgänge zu simulieren. |
RandomUserReadWriteRatio |
9000 | Prozentsatz der zu aktualisierenden Seiten | Eine Kette mit zufälliger Länge wird in der Region ausgewählt und kann gelesen werden. Dieser Parameter definiert den Prozentsatz der Seiten, die aktualisiert und auf den Datenträger geschrieben werden sollen. |
MinLogPerBuffer |
64 | Minimale Protokolldatensatzgröße in Byte | Der Wert muss entweder ein Vielfaches der Größe des Datenträgersektors oder eine Größe sein, die gleichmäßig in die Größe des Datenträgersektors passt. |
MaxLogPerBuffer |
8192 | Maximale Protokolldatensatzgröße in Byte | Dieser Wert darf 64.000 nicht überschreiten. Der Wert muss ein Vielfaches der Größe des Datenträgersektors sein. |
RollbackChance |
100 | Die Wahrscheinlichung, dass ein In-Memory-Vorgang auftritt, der dazu führt, dass ein Rollbackvorgang ausgeführt wird. | Wenn dieser Rollbackvorgang auftritt, schreibt SQL Server nicht in die Protokolldatei. |
SleepAfter |
5 | Ruhezeit nach jedem Zyklus in Millisekunden |
AuditUser-Abschnitt
Das SQLIOSim-Tool verwendet die Werte, die Sie im AuditUser Abschnitt angeben, um DBCC-Aktivitäten zu simulieren, um die Informationen zur Seite zu lesen und zu überwachen. Die Überprüfung erfolgt auch dann, wenn der Wert des UserCount Parameter auf 0 festgelegt ist.
| Parameter | Standardwert | Beschreibung | Kommentare |
|---|---|---|---|
UserCount |
2 | Anzahl der Audit-Threads | Der Wert darf den folgenden Wert nicht überschreiten: CPUCount*1023-100.Die Gesamtzahl aller Benutzer kann diesen Wert nicht überschreiten. Ein Wert von 0 bedeutet, dass Sie keine Benutzer mit zufälligem Zugriff erstellen können. Ein Wert von -1 bedeutet, dass Sie die automatische Konfiguration des Werts verwenden müssen: min(CPUCount*2, 8).HINWEIS Ein SQL Server System könnte über Tausende von Sitzungen verfügen. Die meisten Sitzungen haben keine aktiven Anfragen. Verwenden Sie die count(*) Funktion in Abfragen gegen den sys.dm_exec_requests DMV als Ausgangspunkt zur Festlegung dieses Testparameterwerts.CPUCount hier bezieht sich auf den Wert des CPUCount Parameters im CONFIG Abschnitt.Der min(CPUCount*2, 8) Wert erzeugt die kleineren Werte zwischen CPUCount*2 und 8. |
BuffersValidated |
64 | ||
DelayAfterCycles |
2 | Wenden Sie den Parameter AuditDelay an, nachdem die Zahl der gepufferten Prüfzyklen abgeschlossen sind. | |
AuditDelay |
200 | Anzahl der Millisekunden, die nach jedem DelayAfterCycles Vorgang gewartet werden sollen |
ReadAheadUser-Abschnitt
Das SQLIOSim-Tool verwendet die Werte, die im Abschnitt ReadAheadUser angegeben sind, um SQL Server Read-Ahead-Aktivität zu simulieren. SQL Server nutzt Read-Ahead-Aktivitäten, um asynchrone E/A-Funktionen zu maximieren und Abfrageverzögerungen zu minimieren.
| Parameter | Standardwert | Beschreibung | Kommentare |
|---|---|---|---|
UserCount |
2 | Anzahl der Vorlese-Threads | Der Wert darf den folgenden Wert nicht überschreiten: CPUCount*1023-100.Die Gesamtzahl aller Benutzer kann diesen Wert nicht überschreiten. Ein Wert von 0 bedeutet, dass Sie keine Benutzer mit zufälligem Zugriff erstellen können. Ein Wert von -1 Bedeutet, dass Sie die automatische Konfiguration des folgenden Werts verwenden müssen: min(CPUCount*2, 8).HINWEIS : Ein SQL Server-System kann Tausende von Sitzungen haben. Die meisten Sitzungen haben keine aktiven Anfragen. Verwenden Sie die count(*) Funktion in Abfragen gegen den sys.dm_exec_requests DMV als Grundlage zur Festlegung dieses Testparameterwerts.CPUCount hier bezieht sich auf den Wert des CPUCount Parameters im ABSCHNITT CONFIG.Der min(CPUCount*2, 8) Wert führt zu den kleineren Werten zwischen CPUCount*2 und 8. |
BuffersRAMin |
32 | Minimale Anzahl von Seiten pro Zyklus zu lesen | Der Minimalwert ist 0. Der Maximalwert ist durch den Systemspeicher begrenzt. |
BuffersRAMax |
64 | Maximale Anzahl von Seiten, die pro Zyklus gelesen werden sollen | SQL Server Enterprise-Editionen können bis zu 1.024 Seiten in einer einzigen Anforderung lesen. Wenn Sie SQL Server auf einem Computer installieren, auf dem viele CPU-, Arbeitsspeicher- und Datenträgerressourcen vorhanden sind, erhöhen Sie die Dateigröße und die Lese-/Vorlesegröße. |
DelayAfterCycles |
2 | Anwenden des RADelay Parameters nach Abschluss der angegebenen Anzahl von Zyklen |
|
RADelay |
200 | Anzahl der Millisekunden, die nach jedem DelayAfterCycles Vorgang gewartet werden sollen |
BulkUpdateUser-Sektion
Das SQLIOSim-Tool verwendet die Werte, die Sie im BulkUpdateUser Abschnitt angeben, um Massenvorgänge zu simulieren, wie z. B. SELECT...INTO-Vorgänge und BULK INSERT-Vorgänge.
| Parameter | Standardwert | Beschreibung | Kommentare |
|---|---|---|---|
UserCount |
-1 | Anzahl der BULK UPDATE Threads |
Der Wert darf den folgenden Wert nicht überschreiten: CPUCount*1023-100Ein Wert von -1 bedeutet, dass Sie die automatische Konfiguration des folgenden Werts verwenden müssen: min(CPUCount*2, 8)HINWEIS : Ein SQL Server-System kann Tausende von Sitzungen haben. Die meisten Sitzungen haben keine aktiven Anfragen. Verwenden Sie die count(*) Funktion in Abfragen gegen den sys.dm_exec_requests DMV als Grundlage zur Festlegung dieses Testparameterwerts.CPUCount hier bezieht sich auf den Wert des CPUCount Parameters im CONFIG Abschnitt.Der min(CPUCount*2, 8) Wert führt zu den kleineren Werten zwischen CPUCount*2 und 8. |
BuffersBUMin |
64 | Minimale Anzahl von Seiten, die pro Zyklus aktualisiert werden sollen | |
BuffersBUMax |
128 | Maximale Anzahl von Seiten, die pro Zyklus aktualisiert werden sollen | Der Minimalwert ist 0. Der Maximalwert ist durch den Systemspeicher begrenzt. |
DelayAfterCycles |
2 | Anwenden des BUDelay Parameters nach Abschluss der angegebenen Anzahl von Zyklen |
|
BUDelay |
10 | Anzahl der Millisekunden, die nach jedem DelayAfterCycles Vorgang gewartet werden sollen |
Shrink-Benutzerabschnitt
Das SQLIOSim-Tool verwendet die Werte, die Sie im ShrinkUser Abschnitt angeben, um DBCC-Schrumpfvorgänge zu simulieren. Das SQLIOSim-Tool kann auch den ShrinkUser Abschnitt verwenden, um die Datei zu vergrößern.
| Parameter | Standardwert | Beschreibung |
|---|---|---|
MinShrinkInterval |
120 | Minimales Intervall zwischen Verkleinerungsvorgängen in Sekunden |
MaxShrinkInterval |
600 | Maximales Intervall zwischen Verkleinerungsvorgängen in Sekunden |
MinExtends |
1 | Minimale Anzahl von Schritten, um die das SQLIOSim-Tool wächst oder verkleinert die Datei |
MaxExtends |
20 | Maximale Anzahl von Schritten, um die das SQLIOSim-Tool wächst oder verkleinert die Datei |
Konfigurations- .ini Dateikommentare
Das Semikolonzeichen (;) am Anfang einer Zeile in der Konfigurationsdatei .ini Datei bewirkt, dass die Zeile als einzelner Kommentar behandelt wird.
Dateierstellung
Das SQLIOSim-Tool erstellt separate Datendateien und Protokolldateien, um die E/A-Muster zu simulieren, die SQL Server in der Datendatei und deren Protokolldatei generiert. Das SQLIOSim-Tool verwendet das SQL Server-Modul nicht, um Stressaktivitäten auszuführen. Daher können Sie das SQLIOSim-Tool verwenden, um einen Computer zu testen, bevor Sie SQL Server installieren.
Stellen Sie beim Ausführen des SQLIOSim-Tools sicher, dass Sie denselben Dateispeicherort angeben, den Sie für Ihre SQL Server Datenbankdateien verwenden. In diesem Fall simuliert das Tool den gleichen E/A-Pfad, den Ihre SQL Server Datenbank verwendet.
Sie können die Komprimierungs- oder Verschlüsselungsattribute für die vorhandenen Testdateien aktivieren. Sie können diese Attribute auch für das vorhandene Verzeichnis aktivieren, in dem die Testdateien erstellt werden. Die entsprechenden Optionen zum Aktivieren dieser Attribute befinden sich im Dialogfeld "Eigenschaften " für eine Datei oder ein Verzeichnis.
Standardmäßig erstellt das SQLIOSim-Tool Testdateien mit den Dateinamenerweiterungen MDX und LDX . Daher überschreiben diese Dateien keine vorhandenen Daten und Protokolldateien.
Warnung
Um zu vermeiden, dass Ihre tatsächlichen SQL Server Daten verloren gehen, geben Sie keine tatsächlichen SQL Server Datenbankdateien für Tests an. Das SQLIOSim-Tool überschreibt die Daten mithilfe zufälliger Testmuster.
SQLIOSim-Fehlerprotokoll und -Bearbeitung
Das SQLIOSim-Tool erstellt die Fehlerprotokolldatei an einem der folgenden Speicherorte:
- Der Speicherort, den Sie im Protokollstartparameter angeben
- Der Speicherort, den Sie in der Zeile in der
ErrorFile=datei Sqliosim.cfg.ini angeben
Das SQLIOSim.log.xml Fehlerprotokoll enthält Details zur Ausführung. Zu diesen Details gehören Fehlerinformationen. Überprüfen Sie das Protokoll sorgfältig auf Fehlerinformationen und Warnungsinformationen.
Notiz
Wenn im SQLIOSim-Tool ein Fehler auftritt, bitten Sie Ihren Hardwarehersteller, die Ursache des Problems zu ermitteln. Das Problem kann auch durch einen Gerätetreiber, dateisystemfiltertreiber (z. B. Antivirensoftware) oder das Betriebssystem verursacht werden.
Mehrere Kopien
Das SQLIOSim-Tool unterstützt Tests auf mehreren Dateiebenen und Tests auf mehreren Benutzerebenen. Das SQLIOSim-Tool erfordert nicht mehrere Aufrufe. Sie können mehrere Kopien des SQLIOSim-Tools ausführen, wenn die folgenden Bedingungen erfüllt sind:
- Alle Kopien verweisen auf eindeutige Testdateien für jede Instanz des Tools.
- Der
MaxMemoryMBParameter jeder Instanz stellt einen nicht überlappenden Speicherbereich bereit, der für jede Instanz ausreichend ist.
Die Summe des MaxMemoryMB Parameters für jede Instanz muss kleiner oder gleich dem gesamten physischen Speicher sein. Einige Testphasen, wie die Prüfpunktsimulation, können speicherintensiv sein und möglicherweise Speichermangelbedingungen verursachen, wenn Sie mehrere Kopien ausführen. Wenn Sie auf Speicherfehler stoßen, reduzieren Sie die Anzahl der ausgeführten Toolkopien.