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.
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
Ga naar C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.
Start de SQLIOSIM.EXE-toepassing . U ziet het venster Bestanden en configuratie , dat enkele standaardinstellingen bevat. U kunt deze instellingen aanpassen aan uw configuratiebehoeften.
Markeer het eerste mdx-bestandC:\temp\sqliosim\sqliosim.mdx in de lijst. Dit bestand is het equivalent van een gegevensbestand.
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 .
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.
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.
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:
Als u tevreden bent met uw configuratie, selecteert u de knop OK .
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.
Wacht tot de simulatie is voltooid en controleer de uitvoer.
Voorbeeld 2: Een opdrachtregelprogramma en een configuratiebestand gebruiken
Wijzig het sqliosim.default.cfg.ini-bestand door de opmerkingen voor de
File1
secties enFile2
te verwijderen en deFileName
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
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 |
---|---|
-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 schijfhoofdmap 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 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 is10 percent
bijvoorbeeld . Deze waarde wordt uitgedrukt als1000
omdat 10 gedeeld door 0,01 gelijk is1000
aan . De maximumwaarde van een percentageparameter is10000
. - 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
, zijntrue
de geldige waarden die u aan de parameter kunt toewijzen enfalse
. 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 deMaxIOChainLength
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:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
- [Bestand<N>] (de tijdelijke aanduiding
<N>
is een getal)
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
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor