Delen via


Gebruik het hulpprogramma SQLIOSim 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.

Oorspronkelijke productversie: SQL Server
Oorspronkelijk 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 door SQL Server worden gebruikt. Deze SQLIOSim-tests simuleren lees-, schrijf-, controlepunt-, back-up-, sorteer- en leesactiviteiten die Door Microsoft SQL Server worden uitgevoerd. Zie SQL Server I/O-basisbeginselen, hoofdstuk 2, voor meer informatie over I/O-patronen van SQL Server. 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 deze gaat gebruiken. SQLIOSim communiceert niet met SQL Server en vereist niet eens dat SQL Server wordt uitgevoerd. In de meeste gevallen raden we u aan SQLIOSim te gebruiken wanneer SQL Server niet wordt uitgevoerd om concurrentie voor I/O-doorvoer tussen de twee toepassingen te voorkomen. Wees erg voorzichtig om niet te verwijzen naar of de werkelijke SQL Server-databasebestanden in uw SQLIOSim-test te gebruiken, omdat u ze kunt overschrijven.

Om de juiste gegevensintegriteit te behouden, raden we u aan stresstests van uw I/O-subsysteem uit te voeren voordat u SQL Server implementeert op nieuwe hardware. 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 blootstellen.

Zie Beschrijving van logboekregistratie- en gegevensopslagalgoritmen waarmee de betrouwbaarheid van gegevens in SQL Server wordt uitgebreid 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, voorheen bekend als het hulpprogramma SQL70IOStress.

SQLIOSim-locatie

In het verleden werd SQLIOSim geleverd als een afzonderlijk downloadpakket. Vanaf SQL Server 2008 is SQLIOSim opgenomen in de installatie van het SQL Server-product. 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 IO-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. Als u deze configuratie wilt uitvoeren, 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 echter standaardconfiguratiegegevens uit configuratiebestanden laadt.
  • 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 machine zonder SQL Server

U wordt aangeraden SQLIOSim te gebruiken voor een uitgebreide test op een computer voordat u SQL Server installeert. Gebruik dit om het I/O-subsysteem te testen waar u van plan bent om gegevens en logboekbestanden in de toekomst te plaatsen en de betrouwbaarheid van het I/O-subsysteem te garanderen. U kunt deze taak uitvoeren door de drie SQLIOSim-bestanden te kopiëren vanaf een computer waarop SQL Server is geïnstalleerd en de tests uit te voeren vóór een SQL Server-installatie. Kopieer SQLIOSim.com, SQLIOSim.exe en 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. We raden u zelfs aan om SQL Server niet uit te voeren terwijl SQLIOSim wordt uitgevoerd, omdat ze kunnen concurreren voor I/O-resources.

Waarschuwing

Geef niet de werkelijke SQL Server-databasebestanden op voor het 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 de 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 terwijl u een gegevensbestand wilt simuleren. Selecteer vervolgens de knop Toepassen.

    Schermopname van de configuratie van het gegevensbestand.

    In het voorbeeld wordt de locatie van het bestand gewijzigd in D:\temp\sqliosim\sqliosim.mdx, de grootte is ingesteld op 2048 MB, de maximale grootte is ingesteld op 4096 MB en de incrementele 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 is ingeschakeld. Selecteer Toepassen als u klaar bent.

    Schermopname van configuratie van logboekbestanden.

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

    Schermopname van het toevoegen van een nieuw testbestand.

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

  8. Selecteer Simulator>Starten 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 en File2 secties 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 gebruiken met schakelopties

U kunt meerdere schijfvolumes tegelijkertijd testen met behulp van de -dir switch. In het volgende voorbeeld worden 500 MB-bestanden 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 op meerdere stations

In het volgende voorbeeld worden 32 GB-bestanden 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

SQLIOSim.com opdrachtregelparameters

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
-cfg bestand Overschrijf het Sqliosim.cfg.ini standaardconfiguratiebestand. Het hulpprogramma SQLIOSim retourneert een fout als het hulpprogramma het bestand niet kan vinden.
-save bestand Sla de resulterende configuratie op in het configuratiebestand. U kunt deze optie gebruiken om het eerste configuratiebestand te maken.
-log bestand Geef de naam van het foutenlogboekbestand en het pad naar het foutenlogboekbestand op. De standaardbestandsnaam is Sqliosim.log.xml.
-dir Dir 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 stationshoofdmap of een volumekoppelingspunt. Deze locatie kan een lang pad of een UNC-pad zijn.
-d Seconden Stel de duur van de hoofduitvoering in. Deze waarde sluit de voorbereidingsfase en de verificatiefase uit.
-size MB 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 u te helpen bij het kiezen van alle instellingen voor de I/O-simulatie vooraf. Dit configuratiebestand kan helpen bij het automatiseren van uitvoeringen van SQLIOSim.

Voorbeeldconfiguratiebestanden voor verschillende tests kunnen worden gedownload uit 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 verschillen 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 sequentiële leesbewerkingen
Voor de sectie AuditUser en voor de sectie ReadAheadUser :

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

- Minimaliseer de tijd die moet worden gewacht 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 verkleind

- Geen sequentiële 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

- Doel-I/O-duur groot genoeg maken om veel openstaande I/O-aanvragen in te schakelen

- Schakel spreidings-/verzamel-API's uit om afzonderlijke I/O-aanvragen uit te voeren voor elke pagina van 8 kB

- Een niet-verkleinbaar bestand van 1 GB maken

- Maak een secundaire sparsestroom van 1 GB die niet kan worden gesinkt 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 omdat 1000 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 isBoolean, zijn true en de geldige waarden die u aan de parameter kunt toewijzen.false Daarnaast zijn de waarden hoofdlettergevoelig. Het hulpprogramma SQLIOSim negeert ongeldige waarden.
  • Als een paar parameters een minimumwaarde en een maximumwaarde aangeeft, mag de minimumwaarde niet groter 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 aan het bestand dat door het HULPPROGRAMMA SQLIOSim wordt 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

Er zijn verschillende secties in het configuratiebestand:

Elk van deze secties wordt beschreven in de volgende sectie.

CONFIG-sectie

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 Masker voor fysieke CPU-affiniteit om te worden toegepast op logische CPU's Het affiniteitsmasker moet zich in het actieve CPU-masker bevindt. Een waarde die 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 kan de totale hoeveelheid fysiek geheugen op de computer niet overschrijden.
StopOnError true Stopt de simulatie 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 De duur van een testcyclus in seconden, met uitzondering van de controlepas aan het einde van de cyclus
CacheHitRatio 1000 Gesimuleerde cachetrefferverhouding wanneer het SQLIOSim-hulpprogramma van de schijf leest
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 dit type 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 is gericht 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 true 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 controlepunten aan het einde van de testcycli. De MaxOutstandingIO parameter wordt nog steeds gehonoreerd. U kunt lange I/O-waarschuwingen verwachten.
NoBuffering true FILE_FLAG_NO_BUFFERING De optie gebruiken SQL Server opent databasebestanden 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 true FILE_FLAG_WRITE_THROUGH De optie gebruiken SQL Server opent databasebestanden met behulp van FILE_FLAG_WRITE_THROUGH == true. Sommige hulpprogramma's en services openen echter de databasebestanden met behulp van FILE_FLAG_WRITE_THROUGH == false. Sql Server Analysis Services opent bijvoorbeeld de databasebestanden met behulp van FILE_FLAG_WRITE_THROUGH == false. Als u een server volledig wilt testen, voert u één test uit voor elke instelling.
ScatterGather true Gebruik ReadScatter of WriteGather API's Als deze parameter is ingesteld op true, wordt de NoBuffering parameter ook ingesteld op true.

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

Microsoft SQL Server-ondersteuning heeft de echte instelling gebruikt om I/O-problemen beschikbaar te maken.
DeleteFilesAtStartup true Bestanden bij het opstarten verwijderen 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 false 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 false 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, wordt het bestand uitgebreid met het hulpprogramma SQLIOSim door een geldige gegevensmarkering in te stellen.

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

U moet tijdens het testen de waarde van de StampFiles parameter wijzigen om ervoor te zorgen dat zowel de initialisatie van het bestand als het nulstempel correct werkt.

Sectie Bestand<N>

Het hulpprogramma SQLIOSim is ontworpen om meerdere bestandstests mogelijk te maken. 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. U wordt aangeraden 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 SQLIOSim-hulpprogramma het bestaande bestand niet. Als het bestaande bestand kleiner is, wordt het bestaande bestand uitgebreid met het hulpprogramma SQLIOSim.
MaxSize Geen standaardwaarde Maximale grootte in MB Een bestand kan niet groter worden dan de waarde die u voor de MaxSize parameter opgeeft.
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 is gebracht: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles.
Als de waarde Increment is 0, stelt het hulpprogramma SQLIOSim het bestand in als niet-verkleinbaar.
Shrinkable false Geeft aan of het bestand kan worden verkleind of uitgevouwen Als u de Increment parameter 0instelt op , 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 in op verkleinbaar. In dit geval moet u de Shrinkable parameter instellen op true.
Sparse false Geeft aan of het Sparse-kenmerk moet worden ingesteld voor de bestanden Voor bestaande bestanden wist het SQLIOSim-hulpprogramma het Sparse-kenmerk 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 testpas uit te voeren.

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

Fout:-=====Fout: 0x80070467
Fouttekst: tijdens het openen van de harde schijf is een schijfbewerking mislukt, zelfs na nieuwe pogingen.
Beschrijving: Buffervalidatie is mislukt op C:\SQLIOSim.mdx-pagina: 28097
LogFile false 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-werkrol te simuleren die willekeurige querybewerkingen uitvoert, zoals OLTP-I/O-patronen (Online Transaction Processing).

Parameter Standaardwaarde Beschrijving Opmerkingen
UserCount -1 Aantal threads voor willekeurige toegang die tegelijkertijd worden uitgevoerd De waarde kan niet groter zijn dan de waarde: CPUCount*1023-100.
Het totale aantal gebruikers kan deze waarde 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 voor de sys.dm_exec_requests dynamische beheerweergave (DMV) als basislijn voor het instellen 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 het kleiner van de waarden tussen CPUCount*2 en 8.
JumpToNewRegionPercentage 500 De kans op een jump naar een nieuwe regio van het bestand Het begin van de regio wordt willekeurig geselecteerd. De grootte van het gebied is een willekeurige waarde tussen de waarde van de MinIOChainLength parameter en de waarde van de MaxIOChainLength parameter.
MinIOChainLength 1 Minimale regiogrootte in pagina's
MaxIOChainLength 100 Maximale regiogrootte in pagina's SQL Server 2005 Enterprise Edition en SQL Server 2000 Enterprise Edition kunnen maximaal 1024 pagina's voorlezen.

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

Normaal gesproken veroorzaakt willekeurige gebruikersactiviteit kleine scanbewerkingen. Gebruik de waarden die zijn opgegeven in de ReadAheadUser sectie om grotere scanbewerkingen te simuleren.
RandomUserReadWriteRatio 9000 Percentage pagina's dat moet worden bijgewerkt Er wordt een keten met willekeurige lengte geselecteerd in de regio en kan worden gelezen. Deze parameter definieert het percentage van de pagina's die moeten worden bijgewerkt en naar schijf worden geschreven.
MinLogPerBuffer 64 Minimale grootte van logboekrecords in bytes De waarde moet een veelvoud zijn van de grootte van de schijfsector of een grootte die gelijkmatig in de schijfsectorgrootte past.
MaxLogPerBuffer 8192 Maximale logboekrecordgrootte in bytes Deze waarde mag niet groter zijn dan 64.000. De waarde moet een veelvoud van de grootte van de schijfsector zijn.
RollbackChance 100 De kans dat een in-memory bewerking plaatsvindt waardoor een terugdraaibewerking plaatsvindt. 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 kan niet groter zijn dan de volgende waarde: CPUCount*1023-100.
Het totale aantal gebruikers kan deze waarde niet overschrijden. Een waarde die 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 voor de sys.dm_exec_requests DMV als basislijn voor het instellen 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 het kleiner 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 SQLIOSim-hulpprogramma gebruikt de waarden die zijn opgegeven in de ReadAheadUser sectie om de leesbewerking van SQL Server te simuleren. SQL Server maakt gebruik van leesactiviteiten om asynchrone I/O-mogelijkheden te maximaliseren en queryvertragingen te beperken.

Parameter Standaardwaarde Beschrijving Opmerkingen
UserCount 2 Aantal leesdoorloopthreads De waarde kan niet groter zijn dan de volgende waarde: CPUCount*1023-100.
Het totale aantal gebruikers kan deze waarde niet overschrijden. Een waarde die 0 betekent dat u geen willekeurige toegangsgebruikers kunt maken. Een waarde van -1 de middelen die u moet gebruiken de automatische configuratie van de volgende waarde: 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 voor de sys.dm_exec_requests DMV als basislijn voor het instellen 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 het kleiner 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 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 schijfbronnen, raden we u aan om de bestandsgrootte en de leesdoorloopgrootte te vergroten.
DelayAfterCycles 2 RADelay De parameter toepassen 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 te simuleren, zoals SELECT...INTO bewerkingen en BULK INSERT bewerkingen.

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 voor de sys.dm_exec_requests DMV als basislijn voor het instellen 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 het kleiner van de waarden tussen CPUCount*2 en 8.
BuffersBUMin 64 Minimum 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 systeemgeheugen.
DelayAfterCycles 2 BUDelay De parameter toepassen 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 verkleiningsbewerkingen in seconden
MaxShrinkInterval 600 Maximuminterval tussen verkleiningsbewerkingen in seconden
MinExtends 1 Minimum aantal stappen waarmee het SQLIOSim-hulpprogramma het bestand zal vergroten of verkleinen
MaxExtends 20 Maximum aantal stappen waarmee het SQLIOSim-hulpprogramma het bestand zal vergroten of verkleinen

Opmerkingen bij configuratie .ini bestand

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

Bestand maken

Het hulpprogramma SQLIOSim maakt afzonderlijke gegevensbestanden en logboekbestanden om de I/O-patronen te simuleren die SQL Server in het gegevensbestand en het bijbehorende logboekbestand genereert. 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. U kunt deze kenmerken ook inschakelen voor de bestaande map waarin de testbestanden worden gemaakt. De bijbehorende opties om deze kenmerken in te schakelen, bevinden zich in het dialoogvenster Eigenschappen voor een bestand of map.

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

Waarschuwing

Geef niet de werkelijke SQL Server-databasebestanden op voor het testen. Het hulpprogramma SQLIOSim overschrijft de gegevens met willekeurige testpatronen en uw werkelijke SQL Server-gegevens gaan verloren.

SQLIOSim-foutenlogboek en -verwerking

Het hulpprogramma SQLIOSim 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 gegevens bevatten foutinformatie. Bekijk het logboek zorgvuldig voor foutinformatie en waarschuwingsinformatie.

Notitie

Als er een fout optreedt in het HULPPROGRAMMA SQLIOSim, raden we u aan de hardwarefabrikant te vragen om de hoofdoorzaak van het probleem te bepalen. Het probleem kan ook worden veroorzaakt door een apparaatstuurprogramma, stuurprogramma voor bestandssysteemfilters (bijvoorbeeld antivirus) of het besturingssysteem.

Meerdere exemplaren

Het HULPPROGRAMMA SQLIOSim biedt ondersteuning voor testen op meerdere bestanden en testen op gebruikersniveau. Het hulpprogramma SQLIOSim vereist niet meerdere aanroepen. U kunt meerdere exemplaren 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 zijn dan of gelijk zijn aan het totale fysieke geheugen. Sommige testfasen, zoals controlepuntsimulatie, kunnen geheugenintensief zijn en kunnen out-of-memory-omstandigheden creëren wanneer u meerdere exemplaren uitvoert. Als er onvoldoende geheugenfouten optreden, kunt u het aantal actieve exemplaren van het hulpprogramma verminderen.

Verwijzingen