Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
Ga naar C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.
Start de SQLIOSIM.EXE-applicatie.
Zoek in het venster Bestanden en configuratie naar standaardinstellingen die u kunt aanpassen aan uw configuratiebehoeften.
Selecteer het eerste mdx-bestand in de lijst , C:\temp\sqliosim\sqliosim.mdx. Dit bestand is het equivalent van een gegevensbestand.
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.
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.
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.
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.
Wanneer u tevreden bent met uw configuratie, selecteert u OK.
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.
Wacht tot de simulatie is voltooid en bekijk vervolgens de uitvoer.
Voorbeeld 2: Een opdrachtregelprogramma en een configuratiebestand gebruiken
Bewerk het sqliosim.default.cfg.ini bestand. Verwijder de opmerkingen voor de
File1enFile2secties en wijzig deFileNamewaarden 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=FALSEVoer 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=10000UserCount=0 |
| sqliosim.nothrottle.cfg.ini | - I/O-beperking verwijderen - Minimaliseert de tijd die moet worden gewacht om het I/O-volume te verhogen |
TargetIODuration=1000000AuditDelay=10RADelay=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=FALSEVoor de secties AuditUser, ReadAheadUser en RandomUser : CacheHitRatio=10000ForceReadAhead=FALSEBuffersBUMin=600BuffersBUMax=1000BUDelay=1UserCount=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=32TestCycles=3TestCycleDuration=600TargetIODuration=10000UseScatterGather=FALSE[File1]FileName=sqliosim.mdxInitialSize=1000 MaxSize=1000Increment=10Shrinkable=FALSELogFile=FALSESparse=FALSE[File2]FileName=sqliosim.ldxInitialSize=50MaxSize=50Increment=0Shrinkable=FALSELogFile=TRUESparse=FALSE[File3]FileName=sqliosim.mdx:replicaInitialSize=1000MaxSize=1000Increment=10Shrinkable=FALSELogFile=FALSESparse=TRUE |
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
CacheHitRatioparameter is10 percent. Deze waarde wordt uitgedrukt als1000, omdat 10 gedeeld door 0,01 gelijk is aan1000. 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 type van de parameter boolean is, zijn de geldige waarden die u aan de parameter kunt toewijzen
trueenfalse. 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
MinIOChainLengthparameter mag bijvoorbeeld niet groter zijn dan de waarde van deMaxIOChainLengthparameter. - 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:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
-
[Bestand<N>] (de tijdelijke aanduiding
<N>is een getal)
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-100Een 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
MaxMemoryMBparameter 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.