Använd SQLIOSim-verktyget för att simulera SQL Server-aktivitet på ett diskundersystem
I den här artikeln beskrivs hur du använder SQLIOSim-verktyget för att utföra stresstester på diskundersystem för att simulera SQL Server-aktivitet.
Ursprunglig produktversion: SQL Server
Ursprungligt KB-nummer: 231619
Introduktion
I den här artikeln beskrivs SQLIOSim-verktyget. Du kan använda SQLIOSim för att utföra tillförlitlighets- och integritetstester på diskundersystem som SQL Server använder. Dessa SQLIOSim-tester simulerar läs-, skriv-, kontrollpunkts-, säkerhetskopierings-, sorterings- och läsföreläsningsaktiviteter som Microsoft SQL Server gör. Mer information om SQL Server I/O-mönster finns i SQL Server I/O Basics, kapitel 2. SQLIOSim-verktyget utför den här simuleringen oberoende av SQL Server-motorn.
Det primära målet med I/O-simuleringstesterna är att säkerställa tillförlitligheten för det underliggande I/O-undersystemet innan SQL Server börjar använda det. SQLIOSim interagerar inte med SQL Server och kräver inte ens att SQL Server körs. I de flesta fall rekommenderar vi i själva verket att du använder SQLIOSim när SQL Server inte körs för att undvika konkurrens om I/O-dataflöde mellan de två programmen. Var mycket noga med att inte peka på eller använda de faktiska SQL Server-databasfilerna i ditt SQLIOSim-test eftersom du kan skriva över dem.
För att upprätthålla rätt dataintegritet rekommenderar vi att du utför stresstester av I/O-undersystemet innan du distribuerar SQL Server på ny maskinvara. SQLIOSim-verktyget simulerar läs- och skrivmönster och problemidentifieringstekniker för SQL Server. För att utföra dessa uppgifter simulerar SQLIOSim-verktyget användaraktiviteten och systemaktiviteten i ett SQL Server-system.
SQLIOSim-verktyget garanterar inte eller garanterar inte datasäkerhet eller integritet. Verktyget är utformat för att tillhandahålla baslinjetestning av en systemmiljö. SQLIOSim-verktyget kan exponera potentiella dataintegritetsproblem.
Mer information om loggning och datalagring finns i Beskrivning av loggnings- och datalagringsalgoritmer som utökar datatillförlitligheten i SQL Server.
Om du måste utföra prestandatest och vill fastställa I/O-dataflödeskapaciteten för lagringssystemet använder du diskspd-verktyget i stället.
SQLIOSim-verktyget ersätter SQLIOStress-verktyget, som tidigare kallades SQL70IOStress-verktyget.
SQLIOSim-plats
Tidigare levererades SQLIOSim som ett separat nedladdningspaket. Från och med SQL Server 2008 ingår SQLIOSim i SQL Server-produktinstallationen. När du installerar SQL Server hittar du SQLIOSim-verktyget i mappen \Binn i SQL Server-installationen. Vi rekommenderar att du använder den här uppdaterade versionen av verktyget för att simulera I/O-aktiviteten i diskundersystemet.
Tre filer ingår i SQLIOSim-paketet. Mappen \Binn innehåller två körbara filer, SQLIOSim.com och SQLIOSim.exe. Båda körbara filer har identiska I/O-simuleringsfunktioner.
- SQLIOSim.com är ett kommandoradsverktyg. Du kan konfigurera den så att den körs utan användarinteraktion. För att göra den här konfigurationen kan du använda kommandoradsparametrar, en konfigurationsfil eller en kombination av båda dessa metoder.
- SQLIOSim.exe är ett grafiskt program (GUI) som inte accepterar några kommandoradsparametrar. Men SQLIOSim.exe läser in standardkonfigurationsdata från konfigurationsfiler.
- Du kan också använda konfigurationsfiler för att automatisera I/O-simuleringen med SQLIOSim. Mer information finns i avsnittet SQLIOSim-konfigurationsfil .
Använda SQLIOSim på en dator utan SQL Server
Vi rekommenderar att du använder SQLIOSim för ett utökat test på en dator innan du installerar SQL Server. Använd det för att testa I/O-undersystemet där du planerar att placera data och loggfiler i framtiden och säkerställa I/O-undersystemets tillförlitlighet. Du kan utföra den här uppgiften genom att kopiera de tre SQLIOSim-filerna från en dator där SQL Server är installerat och köra testerna före en SQL Server-installation. Kopiera SQLIOSim.com, SQLIOSim.exe och eventuellt en eller flera av konfigurationsfilerna om du planerar att använda förkonfigurerade inställningar. Kör sedan testsimuleringen på den datorn.
Så här använder du SQLIOSim
Du behöver inte ATT SQL Server-tjänsten körs när du kör SQLIOSim. I själva verket rekommenderar vi att du inte kör SQL Server medan SQLIOSim körs, eftersom de kan konkurrera om I/O-resurser.
Varning
Ange inte de faktiska SQL Server-databasfilerna för testning. SQLIOSim-verktyget skriver över data med slumpmässiga testmönster och dina faktiska SQL Server-data går förlorade.
Följande exempel visar hur du kör SQLIOSim med hjälp av GUI och kommandoraden.
Exempel 1: Använd GUI
Gå till C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.
Starta SQLIOSIM.EXE programmet. Du kan se fönstret Filer och konfiguration , som innehåller vissa standardinställningar. Du kan ändra de här inställningarna så att de matchar dina konfigurationsbehov.
Markera den första mdx-filen C:\temp\sqliosim\sqliosim.mdx i listan. Den här filen motsvarar en datafil.
Ändra filinställningarna genom att ändra dess plats, storlek, maxstorlek eller ökning. Håll loggfilen avmarkerad eftersom du vill simulera en datafil. Välj sedan knappen Apply (Använd).
Exemplet visar att platsen för filen har ändrats till D:\temp\sqliosim\sqliosim.mdx, dess storlek är inställd på 2 048 MB, dess maxstorlek är inställd på 4 096 MB och dess inkrementsstorlek är inställd på 64 MB.
Ändra den andra filen med ldx-suffixet. Den här filen representerar motsvarigheten till en transaktionsloggfil. Se till att kryssrutan Loggfil är aktiverad. När du är klar väljer du Verkställ.
Du kan lägga till fler filer i listan genom att välja alternativet Ny fil i mitten av skärmen i tabellrutnätet. När du har valt Ny fil kan du ange filplatsen och välja de återstående inställningarna. Glöm inte att välja Använd. Här är ett exempel:
När du är nöjd med konfigurationen väljer du knappen OK .
Välj Simulator>Starta för att köra SQL IO-simuleringen. Du kan också välja F12 eller knappen längst till vänster med en grön cirkel inuti.
Vänta tills simuleringen har slutförts och granska utdata.
Exempel 2: Använd ett kommandoradsverktyg och en konfigurationsfil
Ändra sqliosim.default.cfg.ini-filen genom att ta bort kommentarerna för avsnitten
File1
ochFile2
och ändraFileName
värdena till nya SQLIOSim-filer. Till exempel:[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
Kör SQLIOSIM.COM med hjälp av konfigurationsfilen C:\temp\sqliosimconfig\sqliosim.default.cfg.ini:
SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
Exempel 3: Använd ett kommandoradsverktyg med växlar
Du kan testa flera diskvolymer samtidigt med hjälp av växeln -dir
. I följande exempel skapas 500 MB filer och testet körs i 300 sekunder (fem minuter).
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
Exempel 4: Använd ett kommandoradsverktyg mot flera enheter
I följande exempel skapas 32 GB filer och testet körs i 600 sekunder (10 minuter) med hjälp av sqliosim.hwcache.cfg.ini konfigurationsfilen.
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 kommandoradsparametrar
SQLIOSIM.COM accepterar ett begränsat antal kommandoradsparametrar för att styra grundläggande beteende. Konfigurationsfilen för SQLIOSim-verktyget ger avancerad beteendekontroll. När kommandoradsparametrar och konfigurationsfilalternativ överlappar varandra har kommandoradsparametrarna företräde.
Parameter | Kommentar |
---|---|
-cfg fil |
Åsidosätt Sqliosim.cfg.ini standardkonfigurationsfil. SQLIOSim-verktyget returnerar ett fel om verktyget inte kan hitta filen. |
-save fil |
Spara den resulterande konfigurationen i konfigurationsfilen. Du kan använda det här alternativet för att skapa den första konfigurationsfilen. |
-log fil |
Ange namnet på felloggfilen och sökvägen till felloggfilen. Standardfilnamnet är Sqliosim.log.xml. |
-dir Dir |
Ange platsen för att skapa datafilen (.mdf) och loggfilen (.ldf). Du kan köra det här kommandot flera gånger. I de flesta fall är den här platsen en enhetsrot eller en volymmonteringspunkt. Den här platsen kan vara en lång sökväg eller en UNC-sökväg. |
-d Sekunder |
Ange varaktigheten för huvudkörningen. Det här värdet exkluderar förberedelsefasen och verifieringsfasen. |
-size MB |
Ange den ursprungliga storleken på datafilen i megabyte (MB). Filen kan växa upp till två gånger den ursprungliga storleken. Loggfilens storlek beräknas som hälften så stor som datafilen. Loggfilen får dock inte vara större än 50 MB. |
SQLIOSim-konfigurationsfil
Du kan använda en konfigurationsfil med SQLIOSim för att hjälpa dig att välja alla inställningar för I/O-simuleringen i förväg. Den här konfigurationsfilen kan hjälpa dig att automatisera körningar av SQLIOSim.
Exempelkonfigurationsfiler för olika tester kan laddas ned från SQL Server-supportteamets GitHub-lagringsplats.
Du behöver inte använda en konfigurationsfil. Om du inte använder en konfigurationsfil tar alla parametrar standardvärden förutom datafilens plats och loggfilens plats. Du måste använda någon av följande metoder för att ange platsen för datafilen och loggfilens plats:
- Använd kommandoradsparametrarna i filen SQLIOSIM.COM .
- Använd dialogrutan Filer och konfiguration när du har kört filen SQLIOSim.exe.
- Använd avsnittet Fil<N> i konfigurationsfilen.
Exempel på konfigurationsfiler
Fem exempelkonfigurationsfiler är tillgängliga om du vill använda dem för automatiserade SQLIOSim-körningar.
Exempelfil | Beskrivning | Parametrar som skiljer sig från standardkonfigurationsfilen |
---|---|---|
sqliosim.default.cfg.ini | ||
sqliosim.hwcache.cfg.ini | – Minimera läsningar - Filer görs små för att hålla dem helt i minnet – Inga sekventiella läsningar |
För avsnittet AuditUser och för avsnittet ReadAheadUser :CacheHitRatio=10000 UserCount=0 |
sqliosim.nothrottle.cfg.ini | – Ta bort I/O-begränsning – Minimera väntetiden för att öka I/O-volymen |
TargetIODuration=1000000 AuditDelay=10 RADelay=10 |
sqliosim.seqwrites.cfg.ini | – Minimera läsningar - Filer görs små för att hålla dem helt i minnet – Filer görs icke-krympbara – Inga sekventiella läsningar – Ingen slumpmässig åtkomst – Massuppdatering i stora segment utan fördröjningar |
Shrinkable=FALSE För avsnitten AuditUser, ReadAheadUser och RandomUser : CacheHitRatio=10000 ForceReadAhead=FALSE BuffersBUMin=600 BuffersBUMax=1000 BUDelay=1 UserCount=0 |
sqliosim.sparse.cfg.ini | – Använd endast 32 MB minne – Gör mål-I/O-varaktigheten tillräckligt stor för att aktivera många utestående I/O-begäranden – Inaktivera punkt-/insamlings-API:er för att utfärda separata I/O-begäranden för varje 8 KB-sida – Skapa en icke-krympbar fil på 1 GB – Skapa en sekundär sparse-ström på 1 GB som inte kan sparas i filen |
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 |
Varningar om parametervärden
- Om namnet på parametern anger att parametern är ett förhållande eller en procentandel uttrycks värdet för parametern som procentandel eller förhållandet dividerat med 0,01. Värdet för parametern
CacheHitRatio
är10 percent
till exempel . Det här värdet uttrycks som1000
eftersom 10 dividerat med 0,01 är lika med1000
. Det maximala värdet för en procentparameter är10000
. - Om parametertypen är numerisk och du tilldelar parametern ett icke-numeriskt värde, anger SQLIOSim-verktyget parametern till
0
. - Om parametertypen är
Boolean
är de giltiga värden som du kan tilldela parameterntrue
ochfalse
. Dessutom är värdena skiftlägeskänsliga. SQLIOSim-verktyget ignorerar eventuella ogiltiga värden. - Om ett par parametrar anger ett minimivärde och ett högsta värde får minimivärdet inte överskrida det maximala värdet. Värdet för parametern
MinIOChainLength
får till exempel inte vara större än värdet för parameternMaxIOChainLength
. - Om parametern anger ett antal sidor kontrollerar SQLIOSim-verktyget värdet som du tilldelar parametern mot filen som SQLIOSim-verktyget bearbetar. SQLIOSim-verktyget utför den här kontrollen för att se till att antalet sidor inte överskrider filstorleken.
Konfigurationsfilavsnitt
Det finns flera avsnitt i konfigurationsfilen:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
- [Fil<N>] (platshållaren
<N>
är ett tal)
Vart och ett av dessa avsnitt beskrivs i följande avsnitt.
CONFIG-avsnitt
SQLIOSim-verktyget tar de värden som du anger i avsnittet CONFIG i SQLIOSim-konfigurationsfilen för att upprätta ett globalt testbeteende.
Parameter | Standardvärde | Beskrivning | Kommentarer |
---|---|---|---|
ErrorFile |
sqliosim.log.xml | Namn på XML-typloggfilen | |
CPUCount |
Antal processorer på datorn | Antal logiska processorer som ska skapas | Maximalt är 64 processorer. |
Affinity |
0 | Fysisk cpu-tillhörighetsmask som ska användas för logiska processorer | Tillhörighetsmasken ska ligga inom den aktiva CPU-masken. 0 Värdet innebär att alla tillgängliga processorer används. |
MaxMemoryMB |
Tillgängligt fysiskt minne när SQLIOSim-verktyget startar | Storleken på buffertpoolen i MB | Värdet får inte överskrida den totala mängden fysiskt minne på datorn. |
StopOnError |
true | Stoppar simuleringen när det första felet inträffar | |
TestCycles |
1 | Antal fullständiga testcykler som ska utföras | Värdet 0 anger ett oändligt antal testcykler. |
TestCycleDuration |
300 | Varaktighet för en testcykel i sekunder, exklusive granskningspasset i slutet av cykeln | |
CacheHitRatio |
1000 | Kvot för simulerad cacheträff när SQLIOSim-verktyget läser från disken | |
MaxOutstandingIO |
0 | Maximalt antal utestående I/O-åtgärder som tillåts för hela processen | Värdet får inte överstiga 140 000. Värdet 0 innebär att upp till cirka 140 000 I/O-åtgärder tillåts. Det här är gränsen för verktyget. |
TargetIODuration |
100 | Varaktighet för I/O-åtgärder, i millisekunder, som är mål för begränsning | Om den genomsnittliga I/O-varaktigheten överskrider mål-I/O-varaktigheten begränsar SQLIOSim-verktyget antalet utestående I/O-åtgärder för att minska belastningen och förbättra I/O-slutförandetiden. |
AllowIOBursts |
true | Tillåt avstängning av begränsning för att publicera många I/O-begäranden | I/O-bursts aktiveras under den första uppdateringen, den inledande kontrollpunkten och de sista kontrollpunktspassen i slutet av testcyklerna. Parametern MaxOutstandingIO är fortfarande respekterad. Du kan förvänta dig långa I/O-varningar. |
NoBuffering |
true | Använd alternativet FILE_FLAG_NO_BUFFERING |
SQL Server öppnar databasfiler med hjälp FILE_FLAG_NO_BUFFERING == true av . Vissa verktyg och tjänster, till exempel Analysis Services, använder FILE_FLAG_NO_BUFFERING == false . Om du vill testa en server fullständigt kör du ett test för varje inställning. |
WriteThrough |
true | Använd alternativet FILE_FLAG_WRITE_THROUGH |
SQL Server öppnar databasfiler med hjälp FILE_FLAG_WRITE_THROUGH == true av . Vissa verktyg och tjänster öppnar dock databasfilerna med hjälp FILE_FLAG_WRITE_THROUGH == false av . Sql Server Analysis Services öppnar till exempel databasfilerna med hjälp FILE_FLAG_WRITE_THROUGH == false av . Om du vill testa en server fullständigt kör du ett test för varje inställning. |
ScatterGather |
true | Använda ReadScatter eller WriteGather API:er |
Om den här parametern är inställd på true är parametern NoBuffering också inställd på true .SQL Server använder punkt-/insamlings-I/Os för de flesta I/O-begäranden. |
ForceReadAhead |
true | Utföra en läs-framåt-åtgärd även om data redan är lästa | SQLIOSim-verktyget utfärdar läskommandot även om datasidan redan finns i buffertpoolen. Microsoft SQL Server-supporten har använt den sanna inställningen för att exponera I/O-problem. |
DeleteFilesAtStartup |
true | Ta bort filer vid start om det finns filer | En fil kan innehålla flera dataströmmar. Endast strömmar som anges i File <N> FileName posten trunkeras i filen. Om standardströmmen har angetts tas alla strömmar bort. |
DeleteFilesAtShutdown |
falskt | Ta bort filer när testet är klart | En fil kan innehålla flera dataströmmar. Endast dataströmmar som du anger i File <N> FileName posten trunkeras i filen. Om standarddataströmmen anges tar SQLIOSim-verktyget bort alla dataströmmar. |
StampFiles |
falskt | Expandera filen genom att stämpla nollor | Den här processen kan ta lång tid om filen är stor. Om du anger den här parametern till false utökar SQLIOSim-verktyget filen genom att ange en giltig datamarkör. SQL Server 2005 använder funktionen för omedelbar filinitiering för datafiler. Om datafilen är en loggfil, eller om omedelbar filinitiering inte är aktiverad, utför SQL Server noll stämpling. Versioner av SQL Server tidigare än SQL Server 2000 utför alltid nollstämpling. Du bör växla värdet för parametern under testningen StampFiles för att se till att både omedelbar filinitiering och nollstämpling fungerar korrekt. |
Fil N-avsnitt<>
SQLIOSim-verktyget är utformat för att tillåta flera filtester. Avsnittet File<N>
representeras som [File1]
, [File2]
för varje fil i testet.
Parameter | Standardvärde | Beskrivning | Kommentarer |
---|---|---|---|
FileName |
Inget standardvärde | Filnamn och sökväg | Parametern FileName kan vara en lång sökväg eller en UNC-sökväg. Den kan också innehålla ett sekundärt strömnamn och en typ. Parametern FileName kan till exempel vara inställd på file.mdf:stream2 .OBS! I SQL Server 2005 använder DBCC-åtgärder strömmar. Vi rekommenderar att du utför strömtester. |
InitialSize |
Inget standardvärde | Ursprunglig storlek i MB | Om den befintliga filen är större än det värde som angetts för parametern InitialSize krymper inte SQLIOSim-verktyget den befintliga filen. Om den befintliga filen är mindre expanderar SQLIOSim-verktyget den befintliga filen. |
MaxSize |
Inget standardvärde | Maximal storlek i MB | En fil kan inte växa sig större än det värde som du anger för parametern MaxSize . |
Increment |
0 | Storlek i MB för den ökning med vilken filen växer eller krymper. Mer information finns i avsnittet i den ShrinkUser här artikeln. |
SQLIOSim-verktyget justerar parametern Increment vid start så att situationen upprättas: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles .Om värdet Increment för är 0 anger SQLIOSim-verktyget filen som icke-krympbar. |
Shrinkable |
falskt | Anger om filen kan krympas eller expanderas | Om du anger parametern Increment till 0 anger du att filen inte är krympbar. I det här fallet måste du ange parametern Shrinkable till false . Om du anger parametern Increment till ett annat värde än 0 anger du att filen ska vara krympbar. I det här fallet måste du ange parametern Shrinkable till true . |
Sparse |
falskt | Anger om attributet Sparse ska anges för filerna | För befintliga filer rensar inte SQLIOSim-verktyget attributet Sparse när du anger parametern Sparse till false.SQL Server 2005 använder glesa filer för att stödja ögonblicksbilddatabaser och sekundära DBCC-strömmar. Vi rekommenderar att du aktiverar både den glesa filen och strömmarna och sedan utför ett testpass. Obs! Ange inte NoBuffering = false i config avsnittet om du anger Sparse = true för filinställningarna. Om du använder dessa två kombinationer i konflikt kan du få ett fel som liknar följande från verktyget:Fel:-=====Error: 0x80070467 Feltext: Vid åtkomst till hårddisken misslyckades en diskåtgärd även efter återförsök. Beskrivning: Buffertverifieringen misslyckades på sidan C:\SQLIOSim.mdx: 28097 |
LogFile |
falskt | Anger om en fil innehåller användar- eller transaktionsloggdata | Du bör definiera minst en loggfil. |
Avsnittet RandomUser
SQLIOSim-verktyget tar de värden som du anger i RandomUser
avsnittet för att simulera en SQL Server-arbetare som utför slumpmässiga frågeåtgärder, till exempel I/O-mönster (Online Transaction Processing) (OLTP).
Parameter | Standardvärde | Beskrivning | Kommentarer |
---|---|---|---|
UserCount |
-1 | Antal slumpmässiga åtkomsttrådar som körs samtidigt | Värdet får inte överskrida värdet: CPUCount*1023-100 .Det totala antalet användare får inte heller överskrida det här värdet. Värdet noll (0) innebär att du inte kan skapa användare med slumpmässig åtkomst. -1 Värdet innebär att du måste använda den automatiska konfigurationen av värdet: min(CPUCount*2, 8) .OBS! Ett SQL Server-system kan ha tusentals sessioner. De flesta sessioner har inte aktiva begäranden. count(*) Använd funktionen i frågor mot sys.dm_exec_requests vyn dynamisk hantering (DMV) som baslinje för att upprätta det här testparametervärdet.CPUCount här refererar till värdet för parametern CPUCount i CONFIG avsnittet.Värdet min(CPUCount*2, 8) resulterar i det mindre av värdena mellan CPUCount*2 och 8 . |
JumpToNewRegionPercentage |
500 | Chansen att hoppa till en ny region i filen | Början av regionen väljs slumpmässigt. Regionens storlek är ett slumpmässigt värde mellan parameterns MinIOChainLength värde och parameterns MaxIOChainLength värde. |
MinIOChainLength |
1 | Minsta regionstorlek på sidor | |
MaxIOChainLength |
100 | Maximal regionstorlek på sidor | SQL Server 2005 Enterprise Edition och SQL Server 2000 Enterprise Edition kan läsas på upp till 1 024 sidor. Minimivärdet är 0 . Det maximala värdet begränsas av systemminnet.Vanligtvis leder slumpmässig användaraktivitet till att små genomsökningsåtgärder inträffar. Använd de värden som anges i ReadAheadUser avsnittet för att simulera större genomsökningsåtgärder. |
RandomUserReadWriteRatio |
9 000 | Procentandel sidor som ska uppdateras | En slumpmässig längdkedja väljs i regionen och kan läsas. Den här parametern definierar procentandelen av sidorna som ska uppdateras och skrivas till disk. |
MinLogPerBuffer |
64 | Minsta loggpoststorlek i byte | Värdet måste antingen vara en multipel av sektorstorleken på disken eller en storlek som passar jämnt in i storleken på disksektorn. |
MaxLogPerBuffer |
8192 | Maximal loggpoststorlek i byte | Det här värdet får inte överstiga 64 000. Värdet måste vara en multipel av sektorstorleken på disken. |
RollbackChance |
100 | Risken att en minnesintern åtgärd inträffar som gör att en återställningsåtgärd inträffar. | När den här återställningsåtgärden inträffar skrivs inte SQL Server till loggfilen. |
SleepAfter |
5 | Vilotid efter varje cykel, i millisekunder |
Avsnittet AuditUser
SQLIOSim-verktyget tar de värden som du anger i AuditUser
avsnittet för att simulera DBCC-aktivitet för att läsa och granska informationen om sidan. Verifieringen sker även om värdet för parametern UserCount
är inställt på 0
.
Parameter | Standardvärde | Beskrivning | Kommentarer |
---|---|---|---|
UserCount |
2 | Antal granskningstrådar | Värdet får inte överskrida följande värde: CPUCount*1023-100 .Det totala antalet användare får inte heller överskrida det här värdet. Värdet 0 innebär att du inte kan skapa slumpmässiga åtkomstanvändare. -1 Värdet innebär att du måste använda den automatiska konfigurationen av värdet: min(CPUCount*2, 8) .OBS! Ett SQL Server-system kan ha tusentals sessioner. De flesta sessioner har inte aktiva begäranden. count(*) Använd funktionen i frågor mot sys.dm_exec_requests DMV som baslinje för att upprätta det här testparametervärdet.CPUCount här refererar till värdet för parametern CPUCount i CONFIG avsnittet.Värdet min(CPUCount*2, 8) resulterar i det mindre av värdena mellan CPUCount*2 och 8 . |
BuffersValidated |
64 | ||
DelayAfterCycles |
2 | Använd parametern AuditDelay när antalet BuffersValidated-cykler har slutförts | |
AuditDelay |
200 | Antal millisekunder som ska vänta efter varje DelayAfterCycles åtgärd |
Avsnittet ReadAheadUser
SQLIOSim-verktyget tar de värden som anges i ReadAheadUser
avsnittet för att simulera SQL Server-läs-framåt-aktivitet. SQL Server drar nytta av läs-framåt-aktivitet för att maximera asynkrona I/O-funktioner och för att begränsa frågefördröjningar.
Parameter | Standardvärde | Beskrivning | Kommentarer |
---|---|---|---|
UserCount |
2 | Antal läsningstrådar | Värdet får inte överskrida följande värde: CPUCount*1023-100 .Det totala antalet användare får inte heller överskrida det här värdet. Värdet 0 innebär att du inte kan skapa slumpmässiga åtkomstanvändare. -1 Värdet innebär att du måste använda den automatiska konfigurationen av följande värde: min(CPUCount*2, 8) .OBS! Ett SQL Server-system kan ha tusentals sessioner. De flesta sessioner har inte aktiva begäranden. count(*) Använd funktionen i frågor mot sys.dm_exec_requests DMV som baslinje för att upprätta det här testparametervärdet.CPUCount här refererar till värdet för parametern CPUCount i avsnittet CONFIG.Värdet min(CPUCount*2, 8) resulterar i det mindre av värdena mellan CPUCount*2 och 8 . |
BuffersRAMin |
32 | Minsta antal sidor som ska läsas per cykel | Minimivärdet är 0 . Det maximala värdet begränsas av systemminnet. |
BuffersRAMax |
64 | Maximalt antal sidor att läsa per cykel | SQL Server Enterprise-utgåvor kan läsa upp till 1 024 sidor i en enda begäran. Om du installerar SQL Server på en dator som har mycket processor-, minnes- och diskresurser rekommenderar vi att du ökar filstorleken och läs-framåt-storleken. |
DelayAfterCycles |
2 | Tillämpa parametern RADelay när det angivna antalet cykler har slutförts |
|
RADelay |
200 | Antal millisekunder som ska vänta efter varje DelayAfterCycles åtgärd |
Avsnittet BulkUpdateUser
SQLIOSim-verktyget tar de värden som du anger i BulkUpdateUser
avsnittet för att simulera massåtgärder, till exempel SELECT...INTO
åtgärder och BULK INSERT
åtgärder.
Parameter | Standardvärde | Beskrivning | Kommentarer |
---|---|---|---|
UserCount |
-1 | Antal BULK UPDATE trådar |
Värdet får inte överskrida följande värde: CPUCount*1023-100 -1 Värdet innebär att du måste använda den automatiska konfigurationen av följande värde: min(CPUCount*2, 8) .OBS! Ett SQL Server-system kan ha tusentals sessioner. De flesta sessioner har inte aktiva begäranden. count(*) Använd funktionen i frågor mot sys.dm_exec_requests DMV som baslinje för att upprätta det här testparametervärdet.CPUCount här refererar till värdet för parametern CPUCount i CONFIG avsnittet.Värdet min(CPUCount*2, 8) resulterar i det mindre av värdena mellan CPUCount*2 och 8 . |
BuffersBUMin |
64 | Minsta antal sidor som ska uppdateras per cykel | |
BuffersBUMax |
128 | Maximalt antal sidor som ska uppdateras per cykel | Minimivärdet är 0 . Det maximala värdet begränsas av systemminnet. |
DelayAfterCycles |
2 | Tillämpa parametern BUDelay när det angivna antalet cykler har slutförts |
|
BUDelay |
10 | Antal millisekunder som ska vänta efter varje DelayAfterCycles åtgärd |
Avsnittet ShrinkUser
SQLIOSim-verktyget tar de värden som du anger i ShrinkUser
avsnittet för att simulera DBCC-krympåtgärder. SQLIOSim-verktyget kan också använda avsnittet ShrinkUser
för att få filen att växa.
Parameter | Standardvärde | Beskrivning |
---|---|---|
MinShrinkInterval |
120 | Minsta intervall mellan krympningsåtgärder i sekunder |
MaxShrinkInterval |
600 | Maximalt intervall mellan krympningsåtgärder i sekunder |
MinExtends |
1 | Minsta antal steg med vilka SQLIOSim-verktyget växer eller krymper filen |
MaxExtends |
20 | Maximalt antal steg med vilket SQLIOSim-verktyget växer eller krymper filen |
Konfiguration .ini filkommentar
Semikolontecknet (;) i början av en rad i konfigurationen .ini fil gör att raden behandlas som en enda kommentar.
Skapa fil
SQLIOSim-verktyget skapar separata datafiler och loggfiler för att simulera de I/O-mönster som SQL Server genererar i sin datafil och dess loggfil. SQLIOSim-verktyget använder inte SQL Server-motorn för att utföra stressaktivitet. Därför kan du använda SQLIOSim-verktyget för att testa en dator innan du installerar SQL Server.
När du kör SQLIOSim-verktyget kontrollerar du att du anger samma filplats som du använder för dina SQL Server-databasfiler. När du gör det simulerar verktyget samma I/O-sökväg som SQL Server-databasen.
Du kan aktivera komprimera eller kryptera attribut för de befintliga testfilerna. Du kan också aktivera dessa attribut för den befintliga katalogen där testfilerna skapas. Motsvarande alternativ för att aktivera dessa attribut finns i dialogrutan Egenskaper för en fil eller en katalog.
Som standard skapar SQLIOSim-verktyget testfiler som har filnamnstilläggen .mdx och .ldx . Därför skriver dessa filer inte över befintliga data och loggfiler.
Varning
Ange inte de faktiska SQL Server-databasfilerna för testning. SQLIOSim-verktyget skriver över data med slumpmässiga testmönster och dina faktiska SQL Server-data går förlorade.
SQLIOSim-fellogg och -hantering
SQLIOSim-verktyget skapar felloggfilen på någon av följande platser:
- Den plats som du anger i loggstartparametern
- Den plats som du anger på
ErrorFile=
raden i filen Sqliosim.cfg.ini
Felloggen SQLIOSim.log.xml innehåller information om körningen. Den här informationen innehåller felinformation. Granska loggen noggrant för felinformation och varningsinformation.
Kommentar
Om du får ett fel i SQLIOSim-verktyget rekommenderar vi att du ber maskinvarutillverkaren att hjälpa dig att fastställa rotorsaken till problemet. Problemet kan också orsakas av en enhetsdrivrutin, filsystemfilterdrivrutin (till exempel antivirus) eller operativsystemet.
Flera kopior
SQLIOSim-verktyget rymmer testning på flera filnivåer och testning på flera användarnivåer. SQLIOSim-verktyget kräver inte flera anrop. Du kan köra flera kopior av SQLIOSim-verktyget om följande villkor är uppfyllda:
- Alla kopior refererar till unika testfiler per instans av verktyget.
- Parametern
MaxMemoryMB
för varje instans ger en icke-överlappande minnesregion som räcker för varje instans.
Summan av parametern MaxMemoryMB
för varje instans måste vara mindre än eller lika med det totala fysiska minnet. Vissa testfaser, till exempel kontrollpunktssimulering, kan vara minnesintensiva och kan skapa minnesbrist när du kör flera kopior. Om du får minnesfel kan du minska antalet verktygskopior som körs.