Gebruik het hulpprogramma SQLIOSim om SQL Server-activiteit op een schijfsubsysteem te simuleren

Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 231619

Summary

Het hulpprogramma SQLIOSim voert betrouwbaarheids- en integriteitsstresstests uit op schijfsubsystemen door Microsoft SQL Server I/O-patronen te simuleren. Deze tests omvatten lees-, schrijf-, controlepunt-, backup-, sorteer- en leesvooractiviteiten. Gebruik SQLIOSim om uw I/O-subsysteem te valideren voordat u SQL Server implementeert op nieuwe hardware. Het hulpprogramma werkt onafhankelijk van de SQL Server-engine en vereist niet dat SQL Server wordt uitgevoerd.

Inleiding tot SQLIOSim

SQLIOSim simuleert de lees- en schrijfpatronen (paginaleesbewerkingen, controlepunt, back-up, sorteren, lezen-vooruit) van een SQL Server systeem om mogelijke I/O-problemen te identificeren. Het primaire doel van de I/O-simulatietests is om de betrouwbaarheid van het onderliggende I/O-subsysteem te controleren voordat SQL Server het gaat gebruiken. Zie SQL Server I/O fundamentals voor meer informatie over SQL Server I/O fundamentals.

SQLIOSim communiceert niet met SQL Server en vereist niet dat SQL Server wordt uitgevoerd. Voer in de meeste gevallen SQLIOSim uit wanneer SQL Server niet wordt uitgevoerd om concurrentie voor I/O-doorvoer tussen de twee toepassingen te voorkomen.

Waarschuwing

Wijs geen werkelijke SQL Server databasebestanden aan in uw SQLIOSim-test omdat het hulpprogramma willekeurige testpatronen gebruikt om de bestanden te overschrijven.

SQLIOSim garandeert geen gegevensbeveiliging of integriteit. Het hulpprogramma biedt basislijntests van een systeemomgeving en 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 prestatiebenchmarks moet uitvoeren en de I/O-doorvoercapaciteit moet bepalen, gebruikt u in plaats daarvan het hulpprogramma Diskspd .

Tip

Voer SQLIOSim uit op elke nieuwe opslagconfiguratie vóór de productie-implementatie. Deze test helpt ervoor te zorgen dat het systeem schrijfvolgorde en leeggemaakte semantiek respecteert, zelfs als cachelagen aanwezig zijn. Dergelijke lagen omvatten controllercache, firmwarebuffering en SAN-optimalisaties.

SQLIOSim-locatie

SQLIOSim was eerder beschikbaar als afzonderlijk downloadpakket. Vanaf Microsoft 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. Gebruik deze bijgewerkte versie van het hulpprogramma om I/O-activiteit op het schijfsubsysteem te simuleren.

Het SQLIOSim-pakket bevat drie bestanden. 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 configureren voor uitvoering zonder tussenkomst van de gebruiker met behulp van opdrachtregelparameters, een configuratiebestand of een combinatie van beide methoden.
  • SQLIOSim.exe is een grafische toepassing (GUI) die geen opdrachtregelparameters accepteert. SQLIOSim.exe echter standaardconfiguratiegegevens uit configuratiebestanden laadt.
  • Gebruik configuratiebestanden om de I/O-simulatie te automatiseren met behulp van SQLIOSim. Zie de sectie SQLIOSim-configuratiebestand voor meer informatie.

SQLIOSim gebruiken op een computer zonder SQL Server

Voer SQLIOSim uit voor een uitgebreide test op een computer voordat u SQL Server installeert. Gebruik het om het I/O-subsysteem te testen waar u gegevens en logboekbestanden wilt plaatsen en om de betrouwbaarheid ervan te controleren. Hiervoor kopieert u de SQLIOSim-bestanden vanaf een computer waarop SQL Server is geïnstalleerd en voert u de tests uit voordat u SQL Server installeert. 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 computer.

SQLIOSim gebruiken

U hebt de SQL Server-service niet nodig om uit te voeren tijdens het uitvoeren van SQLIOSim. Voer in feite geen SQL Server uit terwijl SQLIOSim wordt uitgevoerd omdat de toepassingen kunnen concurreren voor I/O-resources.

Waarschuwing

Als u wilt voorkomen dat uw werkelijke SQL Server gegevens verloren gaan, geeft u geen werkelijke SQL Server databasebestanden op voor het testen. Het SQLIOSim-hulpprogramma overschrijft de gegevens met behulp van willekeurige testpatronen.

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-applicatie.

  3. Zoek in het venster Bestanden en configuratie naar standaardinstellingen die u kunt aanpassen aan uw configuratiebehoeften.

    Schermopname van de bestandsconfiguratie.

  4. Selecteer het eerste mdx-bestand in de lijst , C:\temp\sqliosim\sqliosim.mdx. Dit bestand is het equivalent van een gegevensbestand.

  5. Wijzig de bestandsinstellingen, zoals de locatie, grootte, maximale grootte of verhoging van bestanden. Houd de optie Logboekbestand uitgeschakeld omdat u een gegevensbestand wilt simuleren. Selecteer vervolgens Toepassen.

    Schermopname van de configuratie van het gegevensbestand.

    In het voorbeeld ziet u dat de locatie van het bestand wordt 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.

  6. Wijzig het tweede bestand, het bestand met het achtervoegsel ldx . Dit bestand vertegenwoordigt het equivalent van een transactielogboekbestand. Zorg ervoor dat de optie Logboekbestand geselecteerd blijft. Nadat u klaar bent, selecteert u Toepassen.

    Schermopname van configuratie van logboekbestanden.

  7. Voeg meer bestanden toe aan de lijst door de optie Nieuw bestand te selecteren in het midden van het scherm in het tabellaire raster. Typ de bestandslocatie en stel vervolgens de resterende opties in. Nadat u klaar bent, selecteert u Toepassen. Dit is een voorbeeld.

    Schermopname van het toevoegen van een nieuw testbestand.

  8. Wanneer u tevreden bent met uw configuratie, selecteert u OK.

  9. Als u de SQL I/O-simulatie wilt uitvoeren, selecteert u Simulator>starten. U kunt ook F12 of de meest linkse knop selecteren die een groene cirkel bevat.

    Schermopname van een actieve SQLIOSim.

  10. Wacht tot de simulatie is voltooid en bekijk vervolgens de uitvoer.

Voorbeeld 2: Een opdrachtregelprogramma en een configuratiebestand gebruiken

  1. Bewerk het sqliosim.default.cfg.ini bestand. Verwijder de opmerkingen voor de File1 en File2 secties en wijzig de FileName waarden 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 uitgevoerd (vijf minuten):

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 opdrachtregelhulpprogramma 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. Als opdrachtregelparameters en configuratiebestandsopties elkaar overlappen, hebben de opdrachtregelparameters voorrang.

Parameter Beschrijving
-cfg bestand Overschrijf het standaardconfiguratiebestand Sqliosim.cfg.ini. Het hulpprogramma SQLIOSim genereert een fout als het bestand niet kan worden gevonden.
-save bestand Sla de resulterende configuratie op in het configuratiebestand. Gebruik deze optie 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 schijfstation 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

Gebruik een configuratiebestand samen met SQLIOSim om u te helpen bij het kiezen van alle instellingen voor de I/O-simulatie vooraf. Met dit configuratiebestand kunt u uitvoeringen van SQLIOSim automatiseren.

U kunt voorbeeldconfiguratiebestanden downloaden voor verschillende tests van het SQL Server ondersteuningsteam GitHub opslagplaats.

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

Gebruik deze vijf voorbeeldconfiguratiebestanden voor geautomatiseerde SQLIOSim-uitvoeringen.

Voorbeeldbestand Beschrijving Parameters die verschillen van het standaardconfiguratiebestand
sqliosim.default.cfg.ini
sqliosim.hwcache.cfg.ini - Minimaliseert leesbewerkingen

- Houdt bestanden klein om ze volledig in het geheugen te bewaren

- 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

- Minimaliseert de tijd die moet worden gewacht om het I/O-volume te verhogen
TargetIODuration=1000000
AuditDelay=10
RADelay=10
sqliosim.seqwrites.cfg.ini - Minimaliseert leesbewerkingen

- Houdt bestanden klein om ze volledig in het geheugen te bewaren

- Maakt bestanden niet-verkleinbaar

- 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 - Gebruikt slechts 32 MB geheugen

- Maakt de I/O-duur lang genoeg om veel gelijktijdige I/O-verzoeken mogelijk te maken.

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

- Hiermee maakt u een niet-verkleinbaar bestand van 1 GB

- Hiermee maakt u 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. Bijvoorbeeld, de waarde van de CacheHitRatio parameter is 10 percent. Deze waarde wordt uitgedrukt als 1000, omdat 10 gedeeld door 0,01 gelijk is aan 1000. 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 type van de parameter boolean is, zijn de geldige waarden die u aan de parameter kunt toewijzen true en 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 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 van het configuratiebestand

Het configuratiebestand bevat verschillende secties:

Elke configuratiesectie 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 CPUs.
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 waar 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 auditcontrole 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 betekent dat tot ongeveer 140.000 I/O-bewerkingen zijn toegestaan. Dit is de limiet van het hulpprogramma.
TargetIODuration 100 Duur van I/O-bewerkingen, in milliseconden, waarop de beperking zich richt 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 het uitschakelen van beperking mogelijk wordt gemaakt om veel I/O-aanvragen uit te voeren. 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 waar 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 waar Gebruik ReadScatter of WriteGather APIs Als u deze parameter trueinstelt op , 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 Voer een vooruitleesbewerking uit, 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 met succes de ware instelling gebruikt om I/O-problemen op te sporen.
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 invoer, worden afgebroken 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. In het bestand worden alleen gegevensstromen afgekort die u in de File <N> FileName invoer opgeeft. 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.

Bestandsectie<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 FileName parameter kan bijvoorbeeld worden ingesteld op file.mdf:stream2.

OPMERKING In SQL Server 2005 gebruiken DBCC-bewerkingen streams. Streamtests worden aanbevolen.
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, 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. Met het hulpprogramma SQLIOSim wordt de Increment parameter bij opstarten aangepast, zodat de situatie tot stand komt: 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 Het hulpprogramma SQLIOSim verwijdert het Sparse kenmerk niet voor bestaande bestanden 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.

Schakel zowel het sparse-bestand als de streams in en voer vervolgens een testpas uit.

Opmerking: Als u Sparse = true voor de bestandsinstellingen instelt, specificeert u deze niet in sectie config. Als u deze twee conflicterende combinaties gebruikt, wordt mogelijk een foutbericht weergegeven dat 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 onwaar Geeft aan of een bestand gebruikers- of transactielogboekgegevens bevat Definieer ten minste één logboekbestand.

Sectie RandomUser

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

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).
NOTE 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 sprong naar een nieuw deel 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 grootte van de regio in pagina's
MaxIOChainLength 100 Maximaal regioformaat in pagina-eenheden 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 geheugenbewerking optreedt die een terugdraaibewerking veroorzaakt. 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).
NOTE Een SQL Server systeem heeft duizenden sessies. 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 produceert 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

De sectie "ReadAheadUser"

Het hulpprogramma SQLIOSim gebruikt de waarden die zijn opgegeven in de ReadAheadUser sectie om SQL Server read-ahead-activiteit te simuleren. SQL Server maakt gebruik van vooruit lezen om de asynchrone I/O-mogelijkheden te maximaliseren en vertragingen bij query's te beperken.

Parameter Standaardwaarde Beschrijving Opmerkingen
UserCount 2 Aantal vooraflezingdraadjes 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 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 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, vergroot u de bestandsgrootte en de leesdoorloopgrootte.
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 Minimaal aantal stappen waarmee het SQLIOSim-hulpprogramma het bestand groeit of verkleint
MaxExtends 20 Maximum aantal stappen waarmee het SQLIOSim-hulpprogramma het bestand groeit of verkleint

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 genereert in het gegevensbestand en het bijbehorende 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 dezelfde bestandslocatie opgeven die u voor uw SQL Server-databasebestanden gebruikt. Wanneer u dit doet, simuleert het hulpprogramma hetzelfde I/O-pad dat uw SQL Server database gebruikt.

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 overschrijven deze bestanden geen bestaande gegevens en logboekbestanden.

Waarschuwing

Als u wilt voorkomen dat uw werkelijke SQL Server gegevens verloren gaan, geeft u geen werkelijke SQL Server databasebestanden op voor het testen. Het SQLIOSim-hulpprogramma overschrijft de gegevens met behulp van willekeurige testpatronen.

SQLIOSim-foutenlogboek en -afhandeling

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, vraagt u de fabrikant van de hardware om de hoofdoorzaak van het probleem te bepalen. Het probleem kan ook worden veroorzaakt door een apparaatstuurprogramma, stuurprogramma voor bestandssysteemfilters (bijvoorbeeld antivirussoftware) of het besturingssysteem.

Meerdere exemplaren

Het hulpprogramma SQLIOSim ondersteunt 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 voor elk 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 u te maken krijgt met geheugenfouten vanwege onvoldoende geheugen, vermindert u het aantal lopende kopieën van het hulpprogramma.