Dela via


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

  1. Gå till C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.

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

    Skärmbild som visar filkonfigurationen.

  3. Markera den första mdx-filen C:\temp\sqliosim\sqliosim.mdx i listan. Den här filen motsvarar en datafil.

  4. Ä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).

    Skärmbild som visar konfigurationen av datafilen.

    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.

  5. Ä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.

    Skärmbild av loggfilskonfigurationen.

  6. 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:

    Skärmbild av att lägga till en ny testfil.

  7. När du är nöjd med konfigurationen väljer du knappen OK .

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

    Skärmbild som visar en SQLIOSim som körs.

  9. Vänta tills simuleringen har slutförts och granska utdata.

Exempel 2: Använd ett kommandoradsverktyg och en konfigurationsfil

  1. Ändra sqliosim.default.cfg.ini-filen genom att ta bort kommentarerna för avsnitten File1 och File2 och ändra FileName 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
    
  2. 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
-cfgfil Åsidosätt Sqliosim.cfg.ini standardkonfigurationsfil. SQLIOSim-verktyget returnerar ett fel om verktyget inte kan hitta filen.
-savefil Spara den resulterande konfigurationen i konfigurationsfilen. Du kan använda det här alternativet för att skapa den första konfigurationsfilen.
-logfil Ange namnet på felloggfilen och sökvägen till felloggfilen. Standardfilnamnet är Sqliosim.log.xml.
-dirDir 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.
-dSekunder Ange varaktigheten för huvudkörningen. Det här värdet exkluderar förberedelsefasen och verifieringsfasen.
-sizeMB 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 är 10 percenttill exempel . Det här värdet uttrycks som 1000 eftersom 10 dividerat med 0,01 är lika med 1000. Det maximala värdet för en procentparameter är 10000.
  • 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 parametern true och false. 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 parametern MaxIOChainLength .
  • 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:

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 == trueav . 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 == trueav . Vissa verktyg och tjänster öppnar dock databasfilerna med hjälp FILE_FLAG_WRITE_THROUGH == falseav . Sql Server Analysis Services öppnar till exempel databasfilerna med hjälp FILE_FLAG_WRITE_THROUGH == falseav . 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 0anger SQLIOSim-verktyget filen som icke-krympbar.
Shrinkable falskt Anger om filen kan krympas eller expanderas Om du anger parametern Increment till 0anger 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 0anger 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.

Referenser