Het hulpprogramma SQLIOSim gebruiken om SQL Server activiteit op een schijfsubsysteem te simuleren

In dit artikel wordt beschreven hoe u het hulpprogramma SQLIOSim gebruikt om stresstests uit te voeren op schijfsubsystemen om SQL Server activiteit te simuleren.

Originele productversie: SQL Server
Origineel KB-nummer: 231619

Inleiding

In dit artikel wordt het hulpprogramma SQLIOSim beschreven. U kunt SQLIOSim gebruiken om betrouwbaarheids- en integriteitstests uit te voeren op schijfsubsystemen die SQL Server gebruikt. Deze SQLIOSim-tests simuleren lees-, schrijf-, controlepunt-, back-up-, sorteer- en leesactiviteiten die Microsoft SQL Server uitvoert. Zie SQL Server I/O-basisbeginselen, hoofdstuk 2 voor meer informatie over SQL Server I/O-patronen. Het hulpprogramma SQLIOSim voert deze simulatie onafhankelijk van de SQL Server engine uit.

Het primaire doel van de I/O-simulatietests is om de betrouwbaarheid van het onderliggende I/O-subsysteem te garanderen voordat uw SQL Server het gaat gebruiken. SQLIOSim communiceert niet met SQL Server en vereist zelfs niet dat SQL Server wordt uitgevoerd. In de meeste gevallen raden we u zelfs aan SQLIOSim te gebruiken wanneer SQL Server niet wordt uitgevoerd om concurrentie voor I/O-doorvoer tussen de twee toepassingen te voorkomen. Wees voorzichtig dat u niet naar de werkelijke SQL Server databasebestanden in uw SQLIOSim-test wijst of gebruikt, omdat u deze kunt overschrijven.

Om de juiste gegevensintegriteit te behouden, raden we u aan stresstests uit te voeren van uw I/O-subsysteem voordat u SQL Server op nieuwe hardware implementeert. Het hulpprogramma SQLIOSim simuleert de lees- en schrijfpatronen en de technieken voor probleemidentificatie van SQL Server. Om deze taken uit te voeren, simuleert het hulpprogramma SQLIOSim de gebruikersactiviteit en de systeemactiviteit van een SQL Server systeem.

Het hulpprogramma SQLIOSim garandeert of garandeert geen gegevensbeveiliging of integriteit. Het hulpprogramma is ontworpen om basislijntests van een systeemomgeving te bieden. Het hulpprogramma SQLIOSim kan potentiële problemen met gegevensintegriteit blootleggen.

Zie Beschrijving van algoritmen voor logboekregistratie en gegevensopslag die de betrouwbaarheid van gegevens in SQL Server uitbreiden voor meer informatie over logboekregistratie en gegevensopslag.

Als u prestatiebenchmarktests moet uitvoeren en de I/O-doorvoercapaciteit van het opslagsysteem wilt bepalen, gebruikt u in plaats daarvan het hulpprogramma Diskspd .

Het hulpprogramma SQLIOSim vervangt het hulpprogramma SQLIOStress, dat voorheen bekend stond als het hulpprogramma SQL70IOStress.

SQLIOSim-locatie

In het verleden is SQLIOSim verzonden als een afzonderlijk downloadpakket. Vanaf SQL Server 2008 is SQLIOSim opgenomen in de SQL Server productinstallatie. Wanneer u SQL Server installeert, vindt u het hulpprogramma SQLIOSim in de map \Binn van uw SQL Server installatie. U wordt aangeraden deze bijgewerkte versie van het hulpprogramma te gebruiken om de I/O-activiteit op het schijfsubsysteem te simuleren.

Drie bestanden maken deel uit van het SQLIOSim-pakket. De map \Binn bevat twee uitvoerbare bestanden, SQLIOSim.com en SQLIOSim.exe. Beide uitvoerbare bestanden bieden identieke I/O-simulatiemogelijkheden.

  • SQLIOSim.com is een opdrachtregelprogramma. U kunt deze zo configureren dat deze wordt uitgevoerd zonder tussenkomst van de gebruiker. Voor deze configuratie kunt u opdrachtregelparameters, een configuratiebestand of een combinatie van beide methoden gebruiken.
  • SQLIOSim.exe is een grafische toepassing (GUI) die geen opdrachtregelparameters accepteert. SQLIOSim.exe laadt echter standaardconfiguratiegegevens uit configuratiebestanden.
  • U kunt ook configuratiebestanden gebruiken om de I/O-simulatie te automatiseren met SQLIOSim. Zie de sectie SQLIOSim-configuratiebestand voor meer informatie.

SQLIOSim gebruiken op een computer zonder SQL Server

U wordt aangeraden SQLIOSim te gebruiken voor een uitgebreide test op een computer voordat u SQL Server installeert. Gebruik het om het I/O-subsysteem te testen waar u in de toekomst gegevens en logboekbestanden wilt plaatsen en om de betrouwbaarheid van het I/O-subsysteem te controleren. Als u deze taak wilt uitvoeren, kunt u overwegen de drie SQLIOSim-bestanden te kopiëren van een computer waarop SQL Server is geïnstalleerd en de tests uit te voeren voorafgaand aan een SQL Server installatie. Kopieer SQLIOSim.com, SQLIOSim.exeen eventueel een of meer configuratiebestanden als u vooraf geconfigureerde instellingen wilt gebruiken. Voer vervolgens de testsimulatie uit op die machine.

SQLIOSim gebruiken

U hebt de SQL Server-service niet nodig die wordt uitgevoerd terwijl u SQLIOSim uitvoert. Het is zelfs raadzaam om SQL Server niet uit te voeren terwijl SQLIOSim wordt uitgevoerd, omdat ze kunnen concurreren om I/O-resources.

Waarschuwing

Geef niet de werkelijke SQL Server databasebestanden op die u wilt testen. Het hulpprogramma SQLIOSim overschrijft de gegevens met willekeurige testpatronen en uw werkelijke SQL Server gegevens gaan verloren.

In de volgende voorbeelden ziet u hoe u SQLIOSim uitvoert met behulp van de GUI en opdrachtregel.

Voorbeeld 1: GUI gebruiken

  1. Ga naar C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.

  2. Start de SQLIOSIM.EXE-toepassing . U ziet het venster Bestanden en configuratie , dat enkele standaardinstellingen bevat. U kunt deze instellingen aanpassen aan uw configuratiebehoeften.

    Schermopname van de bestandsconfiguratie.

  3. Markeer het eerste mdx-bestandC:\temp\sqliosim\sqliosim.mdx in de lijst. Dit bestand is het equivalent van een gegevensbestand.

  4. Wijzig de bestandsinstellingen door de locatie, grootte, maximale grootte of verhoging te wijzigen. Houd het logboekbestand uitgeschakeld omdat u een gegevensbestand wilt simuleren. Selecteer vervolgens de knop Toepassen .

    Schermopname van de configuratie van het gegevensbestand.

    In het voorbeeld ziet u dat de locatie van het bestand is gewijzigd in D:\temp\sqliosim\sqliosim.mdx, de grootte is ingesteld op 2048 MB, de maximale grootte is ingesteld op 4096 MB en de increment-grootte is ingesteld op 64 MB.

  5. Wijzig het tweede bestand met het achtervoegsel ldx . Dit bestand vertegenwoordigt het equivalent van een transactielogboekbestand. Zorg ervoor dat het selectievakje Logboekbestand ingeschakeld blijft. Selecteer Toepassen wanneer u klaar bent.

    Schermopname van de configuratie van het logboekbestand.

  6. U kunt meer bestanden aan de lijst toevoegen door de optie Nieuw bestand in het midden van het scherm in het tabellaire raster te selecteren. Zodra u Nieuw bestand hebt geselecteerd, kunt u de bestandslocatie typen en de resterende instellingen kiezen. Vergeet niet Toepassen te selecteren. Hier volgt een voorbeeld:

    Schermopname van het toevoegen van een nieuw testbestand.

  7. Als u tevreden bent met uw configuratie, selecteert u de knop OK .

  8. Selecteer Simulator>Start om de SQL IO-simulatie uit te voeren. U kunt ook F12 of de meest linkse knop selecteren met een groene cirkel erin.

    Schermopname van een actieve SQLIOSim.

  9. Wacht tot de simulatie is voltooid en controleer de uitvoer.

Voorbeeld 2: Een opdrachtregelprogramma en een configuratiebestand gebruiken

  1. Wijzig het sqliosim.default.cfg.ini-bestand door de opmerkingen voor de File1 secties en File2 te verwijderen en de FileName waarden te wijzigen in nieuwe SQLIOSim-bestanden. Bijvoorbeeld:

    [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=FALSE
    
  2. Voer SQLIOSIM.COM uit met behulp van het configuratiebestand C:\temp\sqliosimconfig\sqliosim.default.cfg.ini:

    SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
    

Voorbeeld 3: Een opdrachtregelprogramma met schakelopties gebruiken

U kunt meerdere schijfvolumes tegelijk testen met behulp van de -dir switch. In het volgende voorbeeld worden bestanden van 500 MB gemaakt en wordt de test gedurende 300 seconden (vijf minuten) uitgevoerd.

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

Voorbeeld 4: Een opdrachtregelprogramma gebruiken voor meerdere stations

In het volgende voorbeeld worden bestanden van 32 GB gemaakt en wordt de test gedurende 600 seconden (10 minuten) uitgevoerd met behulp van het sqliosim.hwcache.cfg.ini configuratiebestand.

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

opdrachtregelparameters SQLIOSim.com

SQLIOSIM.COM accepteert een beperkt aantal opdrachtregelparameters om basisgedrag te beheren. Het configuratiebestand voor het hulpprogramma SQLIOSim biedt geavanceerd gedragscontrole. Wanneer opdrachtregelparameters en configuratiebestandsopties elkaar overlappen, hebben de opdrachtregelparameters voorrang.

Parameter Opmerking
-cfgBestand Overschrijf het Sqliosim.cfg.ini standaardconfiguratiebestand. Het hulpprogramma SQLIOSim retourneert een fout als het hulpprogramma het bestand niet kan vinden.
-saveBestand Sla de resulterende configuratie op in het configuratiebestand. U kunt deze optie gebruiken om het eerste configuratiebestand te maken.
-logBestand Geef de naam van het foutenlogboekbestand en het pad naar het foutenlogboekbestand op. De standaardbestandsnaam is Sqliosim.log.xml.
-dirDir Stel de locatie in om het gegevensbestand (.mdf) en het logboekbestand (.ldf) te maken. U kunt deze opdracht meerdere keren uitvoeren. In de meeste gevallen is deze locatie een schijfhoofdmap of een volumekoppelingspunt. Deze locatie kan een lang pad of een UNC-pad zijn.
-dSeconden Stel de duur van de hoofduitvoering in. Deze waarde sluit de voorbereidingsfase en de verificatiefase uit.
-sizeMB Stel de initiële grootte van het gegevensbestand in megabytes (MB) in. Het bestand kan maximaal twee keer groter worden dan de oorspronkelijke grootte. De grootte van het logboekbestand wordt berekend als de helft van de grootte van het gegevensbestand. Het logboekbestand mag echter niet groter zijn dan 50 MB.

SQLIOSim-configuratiebestand

U kunt een configuratiebestand met SQLIOSim gebruiken om alle instellingen voor de I/O-simulatie vooraf te kiezen. Dit configuratiebestand kan helpen bij het automatiseren van uitvoeringen van SQLIOSim.

Voorbeeldconfiguratiebestanden voor verschillende tests kunnen worden gedownload van de GitHub-opslagplaats van het SQL Server-ondersteuningsteam.

U hoeft geen configuratiebestand te gebruiken. Als u geen configuratiebestand gebruikt, nemen alle parameters standaardwaarden, behalve de locatie van het gegevensbestand en de locatie van het logboekbestand. U moet een van de volgende methoden gebruiken om de locatie van het gegevensbestand en de locatie van het logboekbestand op te geven:

  • Gebruik de opdrachtregelparameters in het SQLIOSIM.COM-bestand .
  • Gebruik het dialoogvenster Bestanden en configuratie nadat u het SQLIOSim.exe-bestand hebt uitgevoerd.
  • Gebruik de sectie Bestand<N> van het configuratiebestand.

Voorbeeldconfiguratiebestanden

Er zijn vijf voorbeeldconfiguratiebestanden beschikbaar als u deze wilt gebruiken voor geautomatiseerde SQLIOSim-uitvoeringen.

Voorbeeldbestand Beschrijving Parameters die afwijken van het standaardconfiguratiebestand
sqliosim.default.cfg.ini
sqliosim.hwcache.cfg.ini - Leesbewerkingen minimaliseren

- Bestanden worden klein gemaakt om ze volledig in het geheugen te houden

- Geen opeenvolgende leesbewerkingen
Voor de sectie AuditUser en voor de sectie ReadAheadUser :

CacheHitRatio=10000
UserCount=0
sqliosim.nothrottle.cfg.ini - I/O-beperking verwijderen

- Minimaliseer de wachttijd om het I/O-volume te verhogen
TargetIODuration=1000000
AuditDelay=10
RADelay=10
sqliosim.seqwrites.cfg.ini - Leesbewerkingen minimaliseren

- Bestanden worden klein gemaakt om ze volledig in het geheugen te houden

- Bestanden worden niet-verkleinbaar gemaakt

- Geen opeenvolgende leesbewerkingen

- Geen willekeurige toegang

- Bulksgewijs bijwerken in grote segmenten zonder vertragingen
Shrinkable=FALSE

Voor de secties AuditUser, ReadAheadUser en RandomUser :

CacheHitRatio=10000
ForceReadAhead=FALSE
BuffersBUMin=600
BuffersBUMax=1000
BUDelay=1
UserCount=0
sqliosim.sparse.cfg.ini - Gebruik slechts 32 MB geheugen

- Maak de doel-I/O-duur groot genoeg om veel openstaande I/O-aanvragen in te schakelen

- Spreidings-/verzamel-API's uitschakelen om afzonderlijke I/O-aanvragen uit te geven voor elke pagina van 8 kB

- Een niet-verkleinbaar bestand van 1 GB maken

- Maak een niet-beshrinkbare secundaire sparse-stream van 1 GB in het bestand
MaxMemoryMB=32
TestCycles=3
TestCycleDuration=600
TargetIODuration=10000
UseScatterGather=FALSE

[File1]
FileName=sqliosim.mdx
InitialSize=1000 MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=FALSE

[File2]
FileName=sqliosim.ldx
InitialSize=50
MaxSize=50
Increment=0
Shrinkable=FALSE
LogFile=TRUE
Sparse=FALSE

[File3]
FileName=sqliosim.mdx:replica
InitialSize=1000
MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=TRUE

Opmerkingen bij parameterwaarden

  • Als de naam van de parameter aangeeft dat de parameter een verhouding of een percentage is, wordt de waarde van de parameter uitgedrukt als het percentage of de verhouding gedeeld door 0,01. De waarde van de CacheHitRatio parameter is 10 percentbijvoorbeeld . Deze waarde wordt uitgedrukt als 1000 omdat 10 gedeeld door 0,01 gelijk is 1000aan . De maximumwaarde van een percentageparameter is 10000.
  • Als het parametertype numeriek is en u een niet-numerieke waarde toewijst aan de parameter, stelt het hulpprogramma SQLIOSim de parameter in op 0.
  • Als het parametertype is Boolean, zijn true de geldige waarden die u aan de parameter kunt toewijzen en false. Bovendien zijn de waarden hoofdlettergevoelig. Het hulpprogramma SQLIOSim negeert ongeldige waarden.
  • Als een paar parameters een minimumwaarde en een maximumwaarde aangeeft, mag de minimumwaarde niet hoger zijn dan de maximumwaarde. De waarde van de MinIOChainLength parameter mag bijvoorbeeld niet groter zijn dan de waarde van de MaxIOChainLength parameter.
  • Als de parameter een aantal pagina's aangeeft, controleert het hulpprogramma SQLIOSim de waarde die u aan de parameter toewijst op basis van het bestand dat het hulpprogramma SQLIOSim verwerkt. Het hulpprogramma SQLIOSim voert deze controle uit om ervoor te zorgen dat het aantal pagina's niet groter is dan de bestandsgrootte.

Secties configuratiebestand

Het configuratiebestand bevat verschillende secties:

Elk van deze secties wordt beschreven in de volgende sectie.

Sectie CONFIG

Het hulpprogramma SQLIOSim gebruikt de waarden die u opgeeft in de sectie CONFIG van het SQLIOSim-configuratiebestand om globaal testgedrag vast te stellen.

Parameter Standaardwaarde Beschrijving Opmerkingen
ErrorFile sqliosim.log.xml Naam van het logboekbestand van het XML-type
CPUCount Aantal CPU's op de computer Aantal logische CPU's dat moet worden gemaakt Het maximum is 64 CPU's.
Affinity 0 Fysieke CPU-affiniteitsmasker dat moet worden toegepast op logische CPU's Het affiniteitsmasker moet zich binnen het actieve CPU-masker bevindt. Een waarde van 0 betekent dat alle beschikbare CPU's worden gebruikt.
MaxMemoryMB Beschikbaar fysiek geheugen wanneer het hulpprogramma SQLIOSim wordt gestart Grootte van de buffergroep in MB De waarde mag niet groter zijn dan de totale hoeveelheid fysiek geheugen op de computer.
StopOnError Waar De simulatie wordt gestopt wanneer de eerste fout optreedt
TestCycles 1 Aantal volledige testcycli dat moet worden uitgevoerd Een waarde van 0 geeft een oneindig aantal testcycli aan.
TestCycleDuration 300 Duur van een testcyclus in seconden, met uitzondering van de auditpass aan het einde van de cyclus
CacheHitRatio 1000 Gesimuleerde cachetrefferverhouding wanneer het hulpprogramma SQLIOSim leest van de schijf
MaxOutstandingIO 0 Maximum aantal openstaande I/O-bewerkingen die procesbreed zijn toegestaan De waarde mag niet groter zijn dan 140.000. Een waarde van 0 betekent dat maximaal 140.000 I/O-bewerkingen zijn toegestaan. Dit is de limiet van het hulpprogramma.
TargetIODuration 100 Duur van I/O-bewerkingen, in milliseconden, waarop beperking van toepassing is Als de gemiddelde I/O-duur de doel-I/O-duur overschrijdt, beperkt het hulpprogramma SQLIOSim het aantal openstaande I/O-bewerkingen om de belasting te verlagen en de I/O-voltooiingstijd te verbeteren.
AllowIOBursts Waar Toestaan dat beperking wordt uitgeschakeld om veel I/O-aanvragen te posten I/O-bursts worden ingeschakeld tijdens de eerste update, het eerste controlepunt en de laatste controlepuntpassen aan het einde van de testcycli. De MaxOutstandingIO parameter wordt nog steeds gehonoreerd. U kunt lange I/O-waarschuwingen verwachten.
NoBuffering Waar Gebruik de FILE_FLAG_NO_BUFFERING optie SQL Server databasebestanden opent met behulp van FILE_FLAG_NO_BUFFERING == true. Sommige hulpprogramma's en services, zoals Analysis Services, gebruiken FILE_FLAG_NO_BUFFERING == false. Als u een server volledig wilt testen, voert u één test uit voor elke instelling.
WriteThrough Waar Gebruik de FILE_FLAG_WRITE_THROUGH optie SQL Server databasebestanden opent met behulp van FILE_FLAG_WRITE_THROUGH == true. Sommige hulpprogramma's en services openen de databasebestanden echter met behulp van FILE_FLAG_WRITE_THROUGH == false. SQL Server Analysis Services bijvoorbeeld de databasebestanden opent met behulp van FILE_FLAG_WRITE_THROUGH == false. Als u een server volledig wilt testen, voert u één test uit voor elke instelling.
ScatterGather Waar Gebruik ReadScatter of WriteGather API's Als deze parameter is ingesteld op true, wordt de NoBuffering parameter ook ingesteld op true.

SQL Server gebruikt spreidings-/verzamel-I/O-aanvragen voor de meeste I/O-aanvragen.
ForceReadAhead Waar Een leesbewerking uitvoeren, zelfs als de gegevens al zijn gelezen Het hulpprogramma SQLIOSim geeft de leesopdracht uit, zelfs als de gegevenspagina zich al in de buffergroep bevindt.

Microsoft SQL Server Ondersteuning heeft de instelling True gebruikt om I/O-problemen aan de kaak te stellen.
DeleteFilesAtStartup Waar Bestanden verwijderen bij het opstarten als er bestanden bestaan Een bestand kan meerdere gegevensstromen bevatten. Alleen streams die zijn opgegeven in de File <N> FileName vermelding, worden afgekapt in het bestand. Als de standaardstream is opgegeven, worden alle streams verwijderd.
DeleteFilesAtShutdown Valse Bestanden verwijderen nadat de test is voltooid Een bestand kan meerdere gegevensstromen bevatten. Alleen gegevensstromen die u in de File <N> FileName vermelding opgeeft, worden afgekapt in het bestand. Als de standaardgegevensstroom is opgegeven, verwijdert het hulpprogramma SQLIOSim alle gegevensstromen.
StampFiles Valse Vouw het bestand uit door nullen te stempelen Dit proces kan lang duren als het bestand groot is. Als u deze parameter instelt op false, breidt het hulpprogramma SQLIOSim het bestand uit door een geldige gegevensmarkering in te stellen.

SQL Server 2005 maakt gebruik van de functie voor het direct initialiseren van bestanden voor gegevensbestanden. Als het gegevensbestand een logboekbestand is of als direct initialiseren van bestanden niet is ingeschakeld, voert SQL Server nulstempels uit. Versies van SQL Server ouder dan SQL Server 2000 voeren altijd nulstempeling uit.

U moet de waarde van de parameter tijdens het StampFiles testen wijzigen om ervoor te zorgen dat zowel directe bestands initialisatie als nulstempels correct werken.

Sectie Bestand<N>

Het hulpprogramma SQLIOSim is ontworpen om meerdere bestandstests toe te staan. De File<N> sectie wordt weergegeven als [File1], [File2] voor elk bestand in de test.

Parameter Standaardwaarde Beschrijving Opmerkingen
FileName Geen standaardwaarde Bestandsnaam en pad De FileName parameter kan een lang pad of een UNC-pad zijn. Het kan ook een secundaire stroomnaam en -type bevatten. De parameter kan bijvoorbeeld FileName worden ingesteld op file.mdf:stream2.

OPMERKING In SQL Server 2005 gebruiken DBCC-bewerkingen streams. We raden u aan streamtests uit te voeren.
InitialSize Geen standaardwaarde Initiële grootte in MB Als het bestaande bestand groter is dan de waarde die is opgegeven voor de InitialSize parameter, verkleint het hulpprogramma SQLIOSim het bestaande bestand niet. Als het bestaande bestand kleiner is, breidt het hulpprogramma SQLIOSim het bestaande bestand uit.
MaxSize Geen standaardwaarde Maximale grootte in MB Een bestand kan niet groter worden dan de waarde die u opgeeft voor de MaxSize parameter.
Increment 0 Grootte in MB van de toename waarmee het bestand groeit of verkleint. Zie de ShrinkUser sectie van dit artikel voor meer informatie. Het hulpprogramma SQLIOSim past de parameter bij het Increment opstarten aan, zodat de situatie tot stand wordt gebracht: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles.
Als de waarde van Increment is 0, stelt het hulpprogramma SQLIOSim het bestand in als niet-verkleinbaar.
Shrinkable Valse Geeft aan of het bestand kan worden geslonken of uitgevouwen Als u de Increment parameter instelt op 0, stelt u het bestand in op niet-verkleinbaar. In dit geval moet u de Shrinkable parameter instellen op false. Als u de Increment parameter instelt op een andere waarde dan 0, stelt u het bestand zo in dat het kan worden verkleind. In dit geval moet u de Shrinkable parameter instellen op true.
Sparse Valse Geeft aan of het kenmerk Sparse moet worden ingesteld voor de bestanden Voor bestaande bestanden wist het hulpprogramma SQLIOSim het kenmerk Sparse niet wanneer u de Sparse parameter instelt op false.

SQL Server 2005 maakt gebruik van sparse-bestanden ter ondersteuning van momentopnamedatabases en de secundaire DBCC-streams.

U wordt aangeraden zowel het sparse-bestand als de streams in te schakelen en vervolgens een testpass uit te voeren.

OPMERKING Als u de bestandsinstellingen instelt Sparse = true , geeft u niet op NoBuffering = false in de config sectie. Als u deze twee conflicterende combinaties gebruikt, wordt er mogelijk een fout weergegeven die lijkt op het volgende van het hulpprogramma:

Fout:-=====Fout: 0x80070467
Fouttekst: Tijdens het openen van de harde schijf is een schijfbewerking zelfs na nieuwe pogingen mislukt.
Beschrijving: Buffervalidatie is mislukt op de pagina C:\SQLIOSim.mdx: 28097
LogFile Valse Geeft aan of een bestand gebruikers- of transactielogboekgegevens bevat U moet ten minste één logboekbestand definiëren.

Sectie RandomUser

Het hulpprogramma SQLIOSim gebruikt de waarden die u in de RandomUser sectie opgeeft om een SQL Server worker te simuleren die willekeurige querybewerkingen uitvoert, zoals I/O-patronen voor Online Transaction Processing (OLTP).

Parameter Standaardwaarde Beschrijving Opmerkingen
UserCount -1 Aantal willekeurige toegangsthreads dat tegelijkertijd wordt uitgevoerd De waarde mag niet groter zijn dan de waarde: CPUCount*1023-100.
Het totale aantal gebruikers mag deze waarde ook niet overschrijden. Een waarde van nul (0) betekent dat u geen willekeurige toegangsgebruikers kunt maken. Een waarde van -1 betekent dat u de automatische configuratie van de waarde moet gebruiken: min(CPUCount*2, 8).
OPMERKING Een SQL Server-systeem kan duizenden sessies hebben. De meeste sessies hebben geen actieve aanvragen. Gebruik de count(*) functie in query's op basis van de sys.dm_exec_requests dynamische beheerweergave (DMV) als basislijn voor het vaststellen van deze testparameterwaarde.

CPUCount hier verwijst naar de waarde van de CPUCount parameter in de CONFIG sectie.

De min(CPUCount*2, 8) waarde resulteert in de kleinste van de waarden tussen CPUCount*2 en 8.
JumpToNewRegionPercentage 500 De kans op een sprong naar een nieuwe regio van het bestand Het begin van de regio wordt willekeurig geselecteerd. De grootte van de regio is een willekeurige waarde tussen de waarde van de MinIOChainLength parameter en de waarde van de MaxIOChainLength parameter.
MinIOChainLength 1 Minimale regiogrootte op pagina's
MaxIOChainLength 100 Maximale regiogrootte in pagina's SQL Server 2005 Enterprise Edition en SQL Server 2000 kunnen Enterprise Edition maximaal 1024 pagina's vooruit lezen.

De minimumwaarde is 0. De maximumwaarde wordt beperkt door het systeemgeheugen.

Meestal worden door willekeurige gebruikersactiviteit kleine scanbewerkingen uitgevoerd. Gebruik de waarden die in de ReadAheadUser sectie zijn opgegeven om grotere scanbewerkingen te simuleren.
RandomUserReadWriteRatio 9000 Percentage pagina's dat moet worden bijgewerkt Een willekeurige keten wordt geselecteerd in de regio en kan worden gelezen. Met deze parameter wordt het percentage van de pagina's gedefinieerd dat moet worden bijgewerkt en naar de schijf moet worden geschreven.
MinLogPerBuffer 64 Minimale grootte van logboekrecord in bytes De waarde moet een veelvoud zijn van de sectorgrootte van de schijf of een grootte die gelijkmatig in de grootte van de schijfsector past.
MaxLogPerBuffer 8192 Maximale grootte van logboekrecord in bytes Deze waarde mag niet groter zijn dan 64.000. De waarde moet een veelvoud van de sectorgrootte op de schijf zijn.
RollbackChance 100 De kans dat er een in-memory bewerking plaatsvindt waardoor een terugdraaibewerking wordt uitgevoerd. Wanneer deze terugdraaibewerking plaatsvindt, schrijft SQL Server niet naar het logboekbestand.
SleepAfter 5 Slaaptijd na elke cyclus, in milliseconden

Sectie AuditUser

Het hulpprogramma SQLIOSim gebruikt de waarden die u in de AuditUser sectie opgeeft om DBCC-activiteit te simuleren om de informatie over de pagina te lezen en te controleren. Validatie vindt zelfs plaats als de waarde van de UserCount parameter is ingesteld op 0.

Parameter Standaardwaarde Beschrijving Opmerkingen
UserCount 2 Aantal controlethreads De waarde mag niet groter zijn dan de volgende waarde: CPUCount*1023-100.
Het totale aantal gebruikers mag deze waarde ook niet overschrijden. Een waarde van 0 betekent dat u geen willekeurige toegangsgebruikers kunt maken. Een waarde van -1 betekent dat u de automatische configuratie van de waarde moet gebruiken: min(CPUCount*2, 8).
OPMERKING Een SQL Server-systeem kan duizenden sessies hebben. De meeste sessies hebben geen actieve aanvragen. Gebruik de count(*) functie in query's op de sys.dm_exec_requests DMV als basislijn voor het vaststellen van deze testparameterwaarde.

CPUCount hier verwijst naar de waarde van de CPUCount parameter in de CONFIG sectie.

De min(CPUCount*2, 8) waarde resulteert in de kleinste van de waarden tussen CPUCount*2 en 8.
BuffersValidated 64
DelayAfterCycles 2 Pas de parameter AuditDelay toe nadat het aantal BuffersValidated cycli is voltooid
AuditDelay 200 Aantal milliseconden dat moet worden gewacht na elke DelayAfterCycles bewerking

Sectie ReadAheadUser

Het hulpprogramma SQLIOSim gebruikt de waarden die in de ReadAheadUser sectie zijn opgegeven om SQL Server leesactiviteit te simuleren. SQL Server profiteert van read-ahead-activiteit om asynchrone I/O-mogelijkheden te maximaliseren en om queryvertragingen te beperken.

Parameter Standaardwaarde Beschrijving Opmerkingen
UserCount 2 Aantal threads met leesbewerkingen De waarde mag niet groter zijn dan de volgende waarde: CPUCount*1023-100.
Het totale aantal gebruikers mag deze waarde ook niet overschrijden. Een waarde van 0 betekent dat u geen willekeurige toegangsgebruikers kunt maken. Een waarde van -1 betekent dat u de automatische configuratie van de volgende waarde moet gebruiken: min(CPUCount*2, 8).
OPMERKING Een SQL Server-systeem kan duizenden sessies hebben. De meeste sessies hebben geen actieve aanvragen. Gebruik de count(*) functie in query's op de sys.dm_exec_requests DMV als basislijn voor het vaststellen van deze testparameterwaarde.

CPUCount hier verwijst naar de waarde van de CPUCount parameter in de sectie CONFIG.

De min(CPUCount*2, 8) waarde resulteert in de kleinste van de waarden tussen CPUCount*2 en 8.
BuffersRAMin 32 Minimum aantal pagina's dat per cyclus moet worden gelezen De minimumwaarde is 0. De maximumwaarde wordt beperkt door het systeemgeheugen.
BuffersRAMax 64 Maximum aantal pagina's dat per cyclus moet worden gelezen SQL Server Enterprise edities kunnen maximaal 1024 pagina's in één aanvraag lezen. Als u SQL Server installeert op een computer met veel CPU-, geheugen- en schijfresources, raden we u aan de bestandsgrootte en de grootte voor vooruitlezen te vergroten.
DelayAfterCycles 2 Pas de RADelay parameter toe nadat het opgegeven aantal cycli is voltooid
RADelay 200 Aantal milliseconden dat moet worden gewacht na elke DelayAfterCycles bewerking

Sectie BulkUpdateUser

Het hulpprogramma SQLIOSim gebruikt de waarden die u in de BulkUpdateUser sectie opgeeft om bulkbewerkingen, zoals SELECT...INTO bewerkingen en BULK INSERT bewerkingen, te simuleren.

Parameter Standaardwaarde Beschrijving Opmerkingen
UserCount -1 Aantal BULK UPDATE threads De waarde mag niet groter zijn dan de volgende waarde: CPUCount*1023-100
Een waarde van -1 betekent dat u de automatische configuratie van de volgende waarde moet gebruiken: min(CPUCount*2, 8).
OPMERKING Een SQL Server-systeem kan duizenden sessies hebben. De meeste sessies hebben geen actieve aanvragen. Gebruik de count(*) functie in query's op de sys.dm_exec_requests DMV als basislijn voor het vaststellen van deze testparameterwaarde.

CPUCount hier verwijst naar de waarde van de CPUCount parameter in de CONFIG sectie.

De min(CPUCount*2, 8) waarde resulteert in de kleinste van de waarden tussen CPUCount*2 en 8.
BuffersBUMin 64 Minimaal aantal pagina's dat per cyclus moet worden bijgewerkt
BuffersBUMax 128 Maximum aantal pagina's dat per cyclus moet worden bijgewerkt De minimumwaarde is 0. De maximumwaarde wordt beperkt door het systeemgeheugen.
DelayAfterCycles 2 Pas de BUDelay parameter toe nadat het opgegeven aantal cycli is voltooid
BUDelay 10 Aantal milliseconden dat moet worden gewacht na elke DelayAfterCycles bewerking

Sectie ShrinkUser

Het hulpprogramma SQLIOSim gebruikt de waarden die u in de ShrinkUser sectie opgeeft om DBCC-verkleiningsbewerkingen te simuleren. Het hulpprogramma SQLIOSim kan ook de ShrinkUser sectie gebruiken om het bestand te laten groeien.

Parameter Standaardwaarde Beschrijving
MinShrinkInterval 120 Minimuminterval tussen verkleinbewerkingen in seconden
MaxShrinkInterval 600 Maximuminterval tussen verkleinbewerkingen in seconden
MinExtends 1 Minimaal aantal stappen waarmee het hulpprogramma SQLIOSim het bestand zal vergroten of verkleinen
MaxExtends 20 Maximum aantal stappen waarmee het hulpprogramma SQLIOSim het bestand zal vergroten of verkleinen

Opmerkingen bij configuratie-.ini-bestand

Het puntkommateken (;) aan het begin van een regel in het configuratie -.ini-bestand zorgt ervoor dat de regel wordt behandeld als één opmerking.

Bestand maken

Het hulpprogramma SQLIOSim maakt afzonderlijke gegevensbestanden en logboekbestanden om de I/O-patronen te simuleren die SQL Server genereert in het gegevensbestand en het logboekbestand. Het hulpprogramma SQLIOSim gebruikt de SQL Server-engine niet om stressactiviteit uit te voeren. Daarom kunt u het hulpprogramma SQLIOSim gebruiken om een computer te testen voordat u SQL Server installeert.

Wanneer u het hulpprogramma SQLIOSim uitvoert, moet u ervoor zorgen dat u dezelfde bestandslocatie opgeeft die u gebruikt voor uw SQL Server databasebestanden. Wanneer u dit doet, simuleert het hulpprogramma hetzelfde I/O-pad als uw SQL Server-database.

U kunt de kenmerken comprimeren of versleutelen voor de bestaande testbestanden inschakelen. U kunt deze kenmerken ook inschakelen voor de bestaande map waarin de testbestanden worden gemaakt. De bijbehorende opties voor het inschakelen van deze kenmerken bevinden zich in het dialoogvenster Eigenschappen voor een bestand of map.

Standaard maakt het hulpprogramma SQLIOSim testbestanden met de bestandsextensie .mdx en .ldx . Daarom worden bestaande gegevens en logboekbestanden niet door deze bestanden overschreven.

Waarschuwing

Geef niet de werkelijke SQL Server databasebestanden op die u wilt testen. Het hulpprogramma SQLIOSim overschrijft de gegevens met willekeurige testpatronen en uw werkelijke SQL Server gegevens gaan verloren.

SQLIOSim-foutenlogboek en -verwerking

Het sqlIOSim-hulpprogramma maakt het foutenlogboekbestand op een van de volgende locaties:

  • De locatie die u opgeeft in de opstartparameter van het logboek
  • De locatie die u opgeeft in de ErrorFile= regel in het Sqliosim.cfg.ini-bestand

Het SQLIOSim.log.xml foutenlogboek bevat details over de uitvoering. Deze details bevatten foutinformatie. Bekijk het logboek zorgvuldig voor foutinformatie en waarschuwingsinformatie.

Opmerking

Als er een fout optreedt in het hulpprogramma SQLIOSim, wordt u aangeraden de fabrikant van de hardware te vragen om de hoofdoorzaak van het probleem te bepalen. Het probleem kan ook worden veroorzaakt door een apparaatstuurprogramma, bestandssysteemfilterstuurprogramma (bijvoorbeeld antivirus) of het besturingssysteem.

Meerdere exemplaren

Het hulpprogramma SQLIOSim is geschikt voor testen op meerdere bestandsniveaus en testen op meerdere gebruikersniveau. Voor het hulpprogramma SQLIOSim zijn niet meerdere aanroepen vereist. U kunt meerdere kopieën van het hulpprogramma SQLIOSim uitvoeren als aan de volgende voorwaarden wordt voldaan:

  • Alle kopieën verwijzen naar unieke testbestanden per exemplaar van het hulpprogramma.
  • De MaxMemoryMB parameter van elk exemplaar biedt een niet-overlappende geheugenregio die voldoende is voor elk exemplaar.

De som van de MaxMemoryMB parameter voor elk exemplaar moet kleiner dan of gelijk zijn aan het totale fysieke geheugen. Sommige testfasen, zoals controlepuntsimulatie, kunnen geheugenintensief zijn en kunnen leiden tot onvoldoende geheugen wanneer u meerdere kopieën uitvoert. Als u te weinig geheugenfouten ondervindt, kunt u het aantal exemplaren van hulpprogramma's verminderen dat wordt uitgevoerd.

Verwijzingen