Använd SQLIOSim-verktyget för att simulera SQL Server aktivitet i ett diskundersystem
Den här artikeln beskriver 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
Inledning
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 grunderna för I/O, kapitel 2. SQLIOSim-verktyget utför den här simuleringen oberoende av den 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 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 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 lämplig 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 lagringssystemets I/O-dataflödeskapacitet använder du verktyget Diskspd 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 produktinstallation. 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. Om du vill 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 installeras och köra testerna före en SQL Server installation. Kopiera SQLIOSim.com, SQLIOSim.exeoch 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 köra SQL Server-tjänsten 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-filenC:\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 Använd .
Exemplet visar att filens plats har ändrats till D:\temp\sqliosim\sqliosim.mdx, dess storlek är inställd på 2 048 MB, dess maxstorlek är 4 096 MB och dess inkrementella storlek ä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. Välj Använd när du är klar.
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 konfigurationsfilensqliosim.hwcache.cfg.ini .
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 alternativ för konfigurationsfiler överlappar varandra har kommandoradsparametrarna företräde.
Parameter | Kommentar |
---|---|
-cfg Filen |
Åsidosätt Sqliosim.cfg.ini standardkonfigurationsfilen. SQLIOSim-verktyget returnerar ett fel om verktyget inte kan hitta filen. |
-save Filen |
Spara den resulterande konfigurationen i konfigurationsfilen. Du kan använda det här alternativet för att skapa den första konfigurationsfilen. |
-log Filen |
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 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 datafilens plats och loggfilens plats:
- Använd kommandoradsparametrarna i SQLIOSIM.COM-filen .
- Använd dialogrutan Filer och konfiguration när du har kört SQLIOSim.exe-filen .
- Använd avsnittet Fil<N> i konfigurationsfilen.
Exempelkonfigurationsfiler
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 procentandelen 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 ett icke-numeriskt värde till parametern 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 ogiltiga värden. - Om ett par parametrar anger ett minimivärde och ett högsta värde får minimivärdet inte överstiga 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 det värde 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ärdet | Beskrivning | Kommentarer |
---|---|---|---|
ErrorFile |
sqliosim.log.xml | Namn på XML-typloggfilen | |
CPUCount |
Antal processorer på datorn | Antal logiska processorer som ska skapas | Maxvärdet är 64 processorer. |
Affinity |
0 | Fysisk CPU-tillhörighetsmask som ska användas för logiska processorer | Tillhörighetsmasken ska finnas i den aktiva CPU-masken. Värdet 0 innebär att alla tillgängliga processorer kommer att användas. |
MaxMemoryMB |
Tillgängligt fysiskt minne när SQLIOSim-verktyget startar | Storleken på buffertpoolen i MB | Värdet får inte överstiga den totala mängden fysiskt minne på datorn. |
StopOnError |
Sant | 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 i 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 | Varaktigheten 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 |
Sant | Tillåt att begränsningen inaktiveras för att publicera många I/O-begäranden | I/O-bursts aktiveras under den första uppdateringen, den inledande kontrollpunkten och de slutliga kontrollpunktspassen i slutet av testcyklerna. Parametern MaxOutstandingIO är fortfarande respekterad. Du kan förvänta dig långa I/O-varningar. |
NoBuffering |
Sant | FILE_FLAG_NO_BUFFERING Använd alternativet |
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 |
Sant | FILE_FLAG_WRITE_THROUGH Använd alternativet |
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 . Till exempel SQL Server Analysis Services öppnar 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 |
Sant | 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 |
Sant | Utföra en läs-framåt-åtgärd även om data redan har lästs | SQLIOSim-verktyget utfärdar läskommandot även om datasidan redan finns i buffertpoolen. Microsoft SQL Server Support har använt den sanna inställningen för att exponera I/O-problem. |
DeleteFilesAtStartup |
Sant | 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 anges tas alla strömmar bort. |
DeleteFilesAtShutdown |
Falska | 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 |
Falska | 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 nollstä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ärdet | 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 kan till exempel vara inställd på FileName file.mdf:stream2 .OBSERVERA 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 värdet som anges 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 | Storleken i MB för den ökning som filen växer eller krymper med. 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 |
Falska | Anger om filen kan krympas eller expanderas | Om du ställer in parametern på Increment 0 anger du att filen ska vara icke-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 |
Falska | 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. OBSERVERA Om du anger Sparse = true för filinställningarna anger du NoBuffering = false inte i avsnittet config . Om du använder dessa två kombinationer i konflikt kan du få ett fel som liknar följande från verktyget:Fel:-=====Fel: 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 |
Falska | 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 OLTP-mönster (Online Transaction Processing).
Parameter | Standardvärdet | 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. Värdet -1 innebär att du måste använda den automatiska konfigurationen av värdet: min(CPUCount*2, 8) .OBSERVERA 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 för 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 avsnittet CONFIG .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 värdet för parametern MinIOChainLength och värdet för parametern MaxIOChainLength . |
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äsa framåt 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 utförs. Använd de värden som anges i ReadAheadUser avsnittet för att simulera större genomsökningsåtgärder. |
RandomUserReadWriteRatio |
9000 | Procentandel sidor som ska uppdateras | En kedja med slumpmässig längd väljs i regionen och kan läsas. Den här parametern definierar procentandelen av de sidor som ska uppdateras och skrivas till disken. |
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 sektorstorleken på disken. |
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 skriver SQL Server inte till loggfilen. |
SleepAfter |
5 | Vilotid efter varje cykel, i millisekunder |
AuditUser-avsnitt
SQLIOSim-verktyget tar de värden som du anger i AuditUser
avsnittet för att simulera DBCC-aktiviteten för att läsa och granska informationen om sidan. Valideringen sker även om värdet för parametern UserCount
är inställt på 0
.
Parameter | Standardvärdet | 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 användare med slumpmässig åtkomst. Värdet -1 innebär att du måste använda den automatiska konfigurationen av värdet: min(CPUCount*2, 8) .OBSERVERA 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 . |
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 |
ReadAheadUser-avsnitt
SQLIOSim-verktyget tar de värden som anges i ReadAheadUser
avsnittet för att simulera SQL Server läs-före-aktivitet. SQL Server drar nytta av läs-före-aktivitet för att maximera asynkrona I/O-funktioner och för att begränsa frågefördröjningar.
Parameter | Standardvärdet | Beskrivning | Kommentarer |
---|---|---|---|
UserCount |
2 | Antal framåtlästande trå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 användare med slumpmässig åtkomst. Värdet -1 innebär att du måste använda den automatiska konfigurationen av följande värde: min(CPUCount*2, 8) .OBSERVERA 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ärdet | Beskrivning | Kommentarer |
---|---|---|---|
UserCount |
-1 | Antal BULK UPDATE trådar |
Värdet får inte överskrida följande värde: CPUCount*1023-100 Värdet -1 innebär att du måste använda den automatiska konfigurationen av följande värde: min(CPUCount*2, 8) .OBSERVERA 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 . |
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 |
ShrinkUser-avsnitt
SQLIOSim-verktyget tar de värden som du anger i ShrinkUser
avsnittet för att simulera DBCC-krympningsåtgärder. SQLIOSim-verktyget kan också använda ShrinkUser
avsnittet för att få filen att växa.
Parameter | Standardvärdet | 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 vilket SQLIOSim-verktyget ska växa eller krympa filen |
MaxExtends |
20 | Maximalt antal steg med vilket SQLIOSim-verktyget kommer att växa eller krympa filen |
Kommentarer om konfiguration .ini fil
Semikolontecknet (;) i början av en rad i konfigurationen .ini fil gör att raden behandlas som en enda kommentar.
Skapa fil
Verktyget SQLIOSim skapar separata datafiler och loggfiler för att simulera de I/O-mönster som SQL Server genererar i datafilen 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 detta simulerar verktyget samma I/O-sökväg som din SQL Server databas.
Du kan aktivera komprimerade eller krypterade 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 . Dessa filer skriver därför 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 startparametern för loggen
- Den plats som du anger på
ErrorFile=
raden i Sqliosim.cfg.ini-filen
FelloggenSQLIOSim.log.xml innehåller information om körningen. Den här informationen innehåller felinformation. Granska loggen noggrant för felinformation och varningsinformation.
Obs!
Om du får ett fel i SQLIOSim-verktyget rekommenderar vi att du ber maskinvarutillverkaren att hjälpa till att fastställa rotorsaken till problemet. Problemet kan också orsakas av en enhetsdrivrutin, filsystemfilterdrivrutin (till exempel antivirus) eller operativsystemet.
Flera kopior
SQLIOSim-verktyget har funktioner för 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.
Referenser
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för