Share via


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

  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-filenC:\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 Använd .

    Skärmbild som visar konfigurationen av datafilen.

    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.

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

    Skärmbild av konfiguration av loggfil.

  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 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
-cfgFilen Åsidosätt Sqliosim.cfg.ini standardkonfigurationsfilen. SQLIOSim-verktyget returnerar ett fel om verktyget inte kan hitta filen.
-saveFilen Spara den resulterande konfigurationen i konfigurationsfilen. Du kan använda det här alternativet för att skapa den första konfigurationsfilen.
-logFilen 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 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 ä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 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 parametern true och false. 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 parametern MaxIOChainLength .
  • 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:

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 == 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 Sant FILE_FLAG_WRITE_THROUGH Använd alternativet 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 . Till exempel SQL Server Analysis Services öppnar 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 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å FileNamefile.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 0anger SQLIOSim-verktyget filen som icke-krympbar.
Shrinkable Falska Anger om filen kan krympas eller expanderas Om du ställer in parametern på Increment0anger 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 0anger 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