Usare l'utilità SQLIOSim per simulare l'attività di SQL Server in un sottosistema del disco
Questo articolo descrive come usare l'utilità SQLIOSim per eseguire test di stress sui sottosistemi del disco per simulare l'attività di SQL Server.
Versione originale del prodotto: SQL Server
Numero KB originale: 231619
Introduzione
Questo articolo descrive lo strumento SQLIOSim. È possibile usare SQLIOSim per eseguire test di affidabilità e integrità nei sottosistemi del disco usati da SQL Server. Questi test SQLIOSim simulano attività di lettura, scrittura, checkpoint, backup, ordinamento e read-ahead eseguite da Microsoft SQL Server. Per altre informazioni sui modelli di I/O di SQL Server, vedere Nozioni di base di I/O di SQL Server, capitolo 2. L'utilità SQLIOSim esegue questa simulazione indipendentemente dal motore di SQL Server.
L'obiettivo principale dei test di simulazione di I/O consiste nel garantire l'affidabilità del sottosistema di I/O sottostante prima che SQL Server inizi a usarlo. SQLIOSim non interagisce con SQL Server e non richiede nemmeno l'esecuzione di SQL Server. Nella maggior parte dei casi, è consigliabile usare SQLIOSim quando SQL Server non è in esecuzione per evitare la concorrenza per la velocità effettiva di I/O tra le due applicazioni. Prestare molta attenzione a non puntare o usare i file di database di SQL Server effettivi nel test SQLIOSim perché è possibile sovrascriverli.
Per mantenere l'integrità dei dati appropriata, è consigliabile eseguire test di stress del sottosistema di I/O prima di distribuire SQL Server in un nuovo hardware. L'utilità SQLIOSim simula i modelli di lettura e scrittura e le tecniche di identificazione dei problemi di SQL Server. Per eseguire queste attività, l'utilità SQLIOSim simula l'attività utente e l'attività di sistema di un sistema SQL Server.
L'utilità SQLIOSim non garantisce né garantisce la sicurezza o l'integrità dei dati. L'utilità è progettata per fornire test di base di un ambiente di sistema. L'utilità SQLIOSim può esporre potenziali problemi di integrità dei dati.
Per altre informazioni sulla registrazione e l'archiviazione dei dati, vedere Descrizione degli algoritmi di registrazione e archiviazione dei dati che estendono l'affidabilità dei dati in SQL Server.
Se è necessario eseguire test di benchmark delle prestazioni e determinare la capacità di velocità effettiva di I/O del sistema di archiviazione, usare invece lo strumento Diskspd .
L'utilità SQLIOSim sostituisce l'utilità SQLIOStress, precedentemente nota come utilità SQL70IOStress.
Percorso SQLIOSim
In passato, SQLIOSim è stato spedito come pacchetto di download separato. A partire da SQL Server 2008, SQLIOSim è incluso nell'installazione del prodotto SQL Server. Quando si installa SQL Server, è possibile trovare lo strumento SQLIOSim nella cartella \Binn dell'installazione di SQL Server. È consigliabile usare questa versione aggiornata dello strumento per simulare l'attività di I/O nel sottosistema del disco.
Tre file fanno parte del pacchetto SQLIOSim. La cartella \Binn contiene due file eseguibili, SQLIOSim.com e SQLIOSim.exe. Entrambi i file eseguibili offrono funzionalità di simulazione di I/O identiche.
- SQLIOSim.com è uno strumento da riga di comando. È possibile configurarlo per l'esecuzione senza interazione dell'utente. A tale scopo, è possibile usare i parametri della riga di comando, un file di configurazione o una combinazione di entrambi questi metodi.
- SQLIOSim.exe è un'applicazione grafica (GUI) che non accetta parametri della riga di comando. Tuttavia, SQLIOSim.exe carica i dati di configurazione predefiniti dai file di configurazione.
- È anche possibile usare i file di configurazione per automatizzare la simulazione di I/O con SQLIOSim. Per altre informazioni, vedere la sezione file di configurazione SQLIOSim.
Usare SQLIOSim in un computer senza SQL Server
È consigliabile usare SQLIOSim per un test esteso in un computer prima di installare SQL Server. Usarlo per testare il sottosistema di I/O in cui si prevede di inserire i file di dati e di log in futuro e garantire l'affidabilità del sottosistema I/O. Per eseguire questa attività, è consigliabile copiare i tre file SQLIOSim da un computer in cui è installato SQL Server ed eseguire i test prima di un'installazione di SQL Server. Copiare SQLIOSim.com, SQLIOSim.exe e, facoltativamente, uno o più file di configurazione se si prevede di usare le impostazioni preconfigurate. Eseguire quindi la simulazione di test in tale computer.
Come usare SQLIOSim
Non è necessario il servizio SQL Server in esecuzione durante l'esecuzione di SQLIOSim. In effetti, è consigliabile non eseguire SQL Server mentre SQLIOSim è in esecuzione, perché possono competere per le risorse di I/O.
Avviso
Non specificare i file di database di SQL Server effettivi per il test. L'utilità SQLIOSim sovrascriverà i dati con modelli di test casuali e i dati effettivi di SQL Server andranno persi.
Gli esempi successivi illustrano come eseguire SQLIOSim usando l'interfaccia utente grafica e la riga di comando.
Esempio 1: Usare l'interfaccia utente grafica
Passare a C:\Programmi\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.
Avviare l'applicazione SQLIOSIM.EXE . È possibile visualizzare la finestra File e configurazione , che contiene alcune impostazioni predefinite. È possibile modificare queste impostazioni in base alle esigenze di configurazione.
Evidenziare il primo file mdx C:\temp\sqliosim\sqliosim.mdx nell'elenco. Questo file è l'equivalente di un file di dati.
Modificare le impostazioni del file modificandone la posizione, le dimensioni, le dimensioni massime o l'incremento. Mantenere deselezionato il file di log come si vuole simulare un file di dati. Selezionare quindi il pulsante Applica.
L'esempio mostra che il percorso del file viene modificato in D:\temp\sqliosim\sqliosim.mdx, le dimensioni sono impostate su 2048 MB, le dimensioni massime sono impostate su 4096 MB e le dimensioni di incremento sono impostate su 64 MB.
Modificare il secondo file con il suffisso ldx . Questo file rappresenta l'equivalente di un file di log delle transazioni. Assicurarsi di mantenere abilitata la casella di controllo File di log. Al termine, selezionare Applica.
È possibile aggiungere altri file all'elenco selezionando l'opzione Nuovo file al centro della schermata all'interno della griglia tabulare. Dopo aver selezionato Nuovo file, è possibile digitare il percorso del file e selezionare le impostazioni rimanenti. Non dimenticare di selezionare Applica. Ecco un esempio:
Dopo aver soddisfatto la configurazione, selezionare il pulsante OK .
Selezionare Simulator Start (Avvio simulatore>) per eseguire la simulazione di I/O SQL. In alternativa, è possibile selezionare F12 o il pulsante all'estrema sinistra con un cerchio verde al suo interno.
Attendere il completamento della simulazione ed esaminare l'output.
Esempio 2: Usare uno strumento da riga di comando e un file di configurazione
Modificare il file sqliosim.default.cfg.ini rimuovendo i commenti per le
File1
sezioni eFile2
e modificando iFileName
valori in nuovi file SQLIOSim. Ad esempio:[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
Eseguire SQLIOSIM.COM usando il file di configurazione C:\temp\sqliosimconfig\sqliosim.default.cfg.ini:
SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
Esempio 3: Usare uno strumento da riga di comando con opzioni
È possibile testare più volumi di disco contemporaneamente usando l'opzione -dir
. L'esempio seguente crea file da 500 MB ed esegue il test per 300 secondi (cinque minuti).
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
Esempio 4: Usare uno strumento da riga di comando su più unità
L'esempio seguente crea file da 32 GB ed esegue il test per 600 secondi (10 minuti) usando il file di configurazione sqliosim.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 parametri della riga di comando
SQLIOSIM.COM accetta un numero limitato di parametri della riga di comando per controllare il comportamento di base. Il file di configurazione per l'utilità SQLIOSim fornisce un controllo del comportamento avanzato. Quando i parametri della riga di comando e le opzioni del file di configurazione si sovrappongono, i parametri della riga di comando hanno la precedenza.
Parametro | Commento |
---|---|
-cfg file |
Eseguire l'override del file di configurazione predefinito Sqliosim.cfg.ini . L'utilità SQLIOSim restituisce un errore se l'utilità non riesce a trovare il file. |
-save file |
Salvare la configurazione risultante nel file di configurazione. È possibile usare questa opzione per creare il file di configurazione iniziale. |
-log file |
Specificare il nome del file del log degli errori e il percorso del file del log degli errori. Il nome file predefinito è Sqliosim.log.xml. |
-dir dir |
Impostare il percorso per creare il file di dati (.mdf) e il file di log (con estensione ldf). È possibile eseguire questo comando più volte. Nella maggior parte dei casi, questa posizione è una radice di unità o un punto di montaggio del volume. Questa posizione può essere un percorso lungo o un percorso UNC. |
-d Secondi |
Impostare la durata dell'esecuzione principale. Questo valore esclude la fase di preparazione e la fase di verifica. |
-size MB |
Impostare le dimensioni iniziali del file di dati in megabyte (MB). Il file può aumentare fino a due volte le dimensioni iniziali. Le dimensioni del file di log sono calcolate come metà delle dimensioni del file di dati. Tuttavia, il file di log non può essere maggiore di 50 MB. |
File di configurazione di SQLIOSim
È possibile usare un file di configurazione con SQLIOSim per scegliere tutte le impostazioni per la simulazione di I/O in anticipo. Questo file di configurazione può essere utile per automatizzare le esecuzioni di SQLIOSim.
I file di configurazione di esempio per vari test possono essere scaricati dal repository GitHub del team di supporto di SQL Server.
Non è necessario usare un file di configurazione. Se non si usa un file di configurazione, tutti i parametri accettano valori predefiniti tranne il percorso del file di dati e il percorso del file di log. Per specificare il percorso del file di dati e il percorso del file di log, è necessario usare uno dei metodi seguenti:
- Usare i parametri della riga di comando nel file SQLIOSIM.COM .
- Usare la finestra di dialogo File e configurazione dopo aver eseguito il file SQLIOSim.exe .
- Usare la sezione File<N> del file di configurazione.
File di configurazione di esempio
Se si desidera usarli per l'esecuzione automatica di SQLIOSim, sono disponibili cinque file di configurazione di esempio.
File di esempio | Descrizione | Parametri diversi dal file di configurazione predefinito |
---|---|---|
sqliosim.default.cfg.ini | ||
sqliosim.hwcache.cfg.ini | - Ridurre al minimo le letture - I file sono fatti piccoli per mantenerli completamente in memoria - Nessuna lettura sequenziale |
Per la sezione AuditUser e per la sezione ReadAheadUser :CacheHitRatio=10000 UserCount=0 |
sqliosim.nothrottle.cfg.ini | - Rimuovere la limitazione delle richieste di I/O - Ridurre al minimo il tempo di attesa per aumentare il volume di I/O |
TargetIODuration=1000000 AuditDelay=10 RADelay=10 |
sqliosim.seqwrites.cfg.ini | - Ridurre al minimo le letture - I file sono fatti piccoli per mantenerli completamente in memoria - I file sono resi non compattabili - Nessuna lettura sequenziale - Nessun accesso casuale - Aggiornamento bulk in blocchi di grandi dimensioni senza ritardi |
Shrinkable=FALSE Per le sezioni AuditUser, ReadAheadUser e RandomUser: CacheHitRatio=10000 ForceReadAhead=FALSE BuffersBUMin=600 BuffersBUMax=1000 BUDelay=1 UserCount=0 |
sqliosim.sparse.cfg.ini | - Usare solo 32 MB di memoria - Rendere la durata di I/O di destinazione sufficientemente grande per abilitare molte richieste di I/O in sospeso - Disabilitare le API a dispersione/raccolta per inviare richieste di I/O separate per ogni pagina di 8 KB - Creare un file non compattabile da 1 GB - Creare un flusso di tipo sparse secondario nonshrinkable da 1 GB nel file |
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 |
Avvertenze sui valori dei parametri
- Se il nome del parametro indica che il parametro è un rapporto o una percentuale, il valore del parametro viene espresso come percentuale o il rapporto diviso per 0,01. Ad esempio, il valore del
CacheHitRatio
parametro è10 percent
. Questo valore è espresso come1000
perché 10 diviso per 0,01 è uguale a1000
. Il valore massimo di un parametro percentage è10000
. - Se il tipo di parametro è numerico e si assegna un valore non numerico al parametro , l'utilità SQLIOSim imposta il parametro su
0
. - Se il tipo di parametro è
Boolean
, i valori validi che è possibile assegnare al parametro sonotrue
efalse
. Inoltre, i valori fanno distinzione tra maiuscole e minuscole. L'utilità SQLIOSim ignora tutti i valori non validi. - Se una coppia di parametri indica un valore minimo e un valore massimo, il valore minimo non deve superare il valore massimo. Ad esempio, il valore del
MinIOChainLength
parametro non deve essere maggiore del valore delMaxIOChainLength
parametro . - Se il parametro indica un numero di pagine, l'utilità SQLIOSim controlla il valore assegnato al parametro rispetto al file elaborato dall'utilità SQLIOSim. L'utilità SQLIOSim esegue questo controllo per assicurarsi che il numero di pagine non superi le dimensioni del file.
Sezioni del file di configurazione
Nel file di configurazione sono disponibili diverse sezioni:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
- [File<N>] (il segnaposto
<N>
è un numero)
Ognuna di queste sezioni è descritta nella sezione seguente.
Sezione CONFIG
L'utilità SQLIOSim accetta i valori specificati nella sezione CONFIG del file di configurazione SQLIOSim per stabilire il comportamento di test globale.
Parametro | Default value | Descrizione | Commenti |
---|---|---|---|
ErrorFile |
sqliosim.log.xml | Nome del file di log di tipo XML | |
CPUCount |
Numero di CPU nel computer | Numero di CPU logiche da creare | Il valore massimo è 64 CPU. |
Affinity |
0 | Maschera di affinità CPU fisica da applicare per le CPU logiche | La maschera di affinità deve trovarsi all'interno della maschera CPU attiva. Un valore 0 indica che verranno usate tutte le CPU disponibili. |
MaxMemoryMB |
Memoria fisica disponibile all'avvio dell'utilità SQLIOSim | Dimensioni del pool di buffer in MB | Il valore non può superare la quantità totale di memoria fisica nel computer. |
StopOnError |
true | Arresta la simulazione quando si verifica il primo errore | |
TestCycles |
1 | Numero di cicli di test completi da eseguire | Un valore indica 0 un numero infinito di cicli di test. |
TestCycleDuration |
300 | Durata di un ciclo di test in secondi, escluso il passaggio di controllo alla fine del ciclo | |
CacheHitRatio |
1000 | Percentuale riscontri cache simulata quando l'utilità SQLIOSim legge dal disco | |
MaxOutstandingIO |
0 | Numero massimo di operazioni di I/O in sospeso consentite a livello di processo | Il valore non può superare 140.000. Un valore 0 indica che sono consentite fino a circa 140.000 operazioni di I/O. Questo è il limite dell'utilità. |
TargetIODuration |
100 | Durata delle operazioni di I/O, in millisecondi, di destinazione della limitazione | Se la durata media di I/O supera la durata di I/O di destinazione, l'utilità SQLIOSim limita il numero di operazioni di I/O in sospeso per ridurre il carico e migliorare il tempo di completamento di I/O. |
AllowIOBursts |
true | Consenti disattivazione della limitazione per registrare molte richieste di I/O | I burst di I/O vengono abilitati durante l'aggiornamento iniziale, il checkpoint iniziale e i passaggi finali del checkpoint alla fine dei cicli di test. Il MaxOutstandingIO parametro è ancora rispettato. È possibile prevedere avvisi di I/O lunghi. |
NoBuffering |
true | Usare l'opzione FILE_FLAG_NO_BUFFERING |
SQL Server apre i file di database usando FILE_FLAG_NO_BUFFERING == true . Alcune utilità e servizi, ad esempio Analysis Services, usano FILE_FLAG_NO_BUFFERING == false . Per testare completamente un server, eseguire un test per ogni impostazione. |
WriteThrough |
true | Usare l'opzione FILE_FLAG_WRITE_THROUGH |
SQL Server apre i file di database usando FILE_FLAG_WRITE_THROUGH == true . Tuttavia, alcune utilità e servizi aprono i file di database usando FILE_FLAG_WRITE_THROUGH == false . Ad esempio, SQL Server Analysis Services apre i file di database usando FILE_FLAG_WRITE_THROUGH == false . Per testare completamente un server, eseguire un test per ogni impostazione. |
ScatterGather |
true | Usare ReadScatter o WriteGather API |
Se questo parametro è impostato su true , il NoBuffering parametro viene impostato anche su true .SQL Server usa l'I/O a dispersione/raccolta per la maggior parte delle richieste di I/O. |
ForceReadAhead |
true | Eseguire un'operazione read-ahead anche se i dati sono già letti | L'utilità SQLIOSim genera il comando di lettura anche se la pagina dei dati è già presente nel pool di buffer. Il supporto di Microsoft SQL Server ha usato correttamente l'impostazione true per esporre problemi di I/O. |
DeleteFilesAtStartup |
true | Eliminare i file all'avvio se esistono file | Un file può contenere più flussi di dati. Solo i flussi specificati nella File <N> FileName voce vengono troncati nel file. Se viene specificato il flusso predefinito, vengono eliminati tutti i flussi. |
DeleteFilesAtShutdown |
false | Eliminare i file al termine del test | Un file può contenere più flussi di dati. Solo i flussi di dati specificati nella File <N> FileName voce vengono troncati nel file. Se viene specificato il flusso di dati predefinito, l'utilità SQLIOSim elimina tutti i flussi di dati. |
StampFiles |
false | Espandere il file stampando zeri | Questo processo può richiedere molto tempo se il file è di grandi dimensioni. Se si imposta questo parametro su false, l'utilità SQLIOSim estende il file impostando un marcatore di dati valido. SQL Server 2005 usa la funzionalità di inizializzazione immediata dei file per i file di dati. Se il file di dati è un file di log o se l'inizializzazione immediata dei file non è abilitata, SQL Server esegue zero stamping. Le versioni di SQL Server precedenti a SQL Server 2000 eseguono sempre lo stamping zero. È consigliabile cambiare il valore del parametro durante il StampFiles test per assicurarsi che l'inizializzazione immediata dei file e l'inizializzazione zero funzionino correttamente. |
Sezione File<N>
L'utilità SQLIOSim è progettata per consentire più test di file. La File<N>
sezione è rappresentata come [File1]
, [File2]
per ogni file nel test.
Parametro | Default value | Descrizione | Commenti |
---|---|---|---|
FileName |
Nessun valore predefinito | Percorso e nome file | Il FileName parametro può essere un percorso lungo o un percorso UNC. Può anche includere un nome e un tipo di flusso secondario. Ad esempio, il FileName parametro può essere impostato su file.mdf:stream2 .NOTA In SQL Server 2005 le operazioni DBCC usano flussi. È consigliabile eseguire test di flusso. |
InitialSize |
Nessun valore predefinito | Dimensioni iniziali in MB | Se il file esistente è maggiore del valore specificato per il InitialSize parametro, l'utilità SQLIOSim non compatta il file esistente. Se il file esistente è più piccolo, l'utilità SQLIOSim espande il file esistente. |
MaxSize |
Nessun valore predefinito | Dimensioni massime in MB | Un file non può aumentare di dimensioni superiori al valore specificato per il MaxSize parametro. |
Increment |
0 | Dimensioni in MB dell'incremento in base al quale il file aumenta o riduce. Per altre informazioni, vedere la ShrinkUser sezione di questo articolo. |
L'utilità SQLIOSim regola il parametro all'avvio Increment in modo che venga stabilita la situazione: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles .Se il valore di Increment è 0 , l'utilità SQLIOSim imposta il file come non compattabile. |
Shrinkable |
false | Indica se il file può essere ridotto o espanso | Se si imposta il Increment parametro su 0 , impostare il file come non compattabile. In questo caso, è necessario impostare il Shrinkable parametro su false . Se si imposta il Increment parametro su un valore diverso da 0 , impostare il file in modo che sia compattabile. In questo caso, è necessario impostare il Shrinkable parametro su true . |
Sparse |
false | Indica se l'attributo Sparse deve essere impostato nei file | Per i file esistenti, l'utilità SQLIOSim non cancella l'attributo Sparse quando si imposta il Sparse parametro su false.SQL Server 2005 usa file sparse per supportare i database snapshot e i flussi DBCC secondari. È consigliabile abilitare sia il file sparse che i flussi e quindi eseguire un test pass. NOTA Se si imposta Sparse = true per le impostazioni del file, non specificare NoBuffering = false nella config sezione . Se si usano queste due combinazioni in conflitto, è possibile che venga visualizzato un errore simile al seguente dallo strumento:Errore:-=====Errore: 0x80070467 Testo errore: durante l'accesso al disco rigido, un'operazione su disco non è riuscita anche dopo i tentativi. Descrizione: Convalida del buffer non riuscita nella pagina C:\SQLIOSim.mdx: 28097 |
LogFile |
false | Indica se un file contiene dati di log delle transazioni o utente | È necessario definire almeno un file di log. |
Sezione RandomUser
L'utilità SQLIOSim accetta i valori specificati nella RandomUser
sezione per simulare un ruolo di lavoro di SQL Server che esegue operazioni di query casuali, ad esempio modelli di I/O OLTP (Online Transaction Processing).
Parametro | Default value | Descrizione | Commenti |
---|---|---|---|
UserCount |
-1 | Numero di thread di accesso casuali in esecuzione contemporaneamente | Il valore non può superare il valore : CPUCount*1023-100 .Anche il numero totale di tutti gli utenti non può superare questo valore. Un valore pari a zero (0) indica che non è possibile creare utenti ad accesso casuale. Un valore indica -1 che è necessario usare la configurazione automatica del valore : min(CPUCount*2, 8) .NOTA Un sistema SQL Server può avere migliaia di sessioni. La maggior parte delle sessioni non dispone di richieste attive. Usare la count(*) funzione nelle query sulla sys.dm_exec_requests dmv (Dynamic Management View) come baseline per stabilire questo valore del parametro di test.CPUCount qui fa riferimento al valore del CPUCount parametro nella CONFIG sezione .Il min(CPUCount*2, 8) valore restituisce il minore dei valori tra CPUCount*2 e 8 . |
JumpToNewRegionPercentage |
500 | La possibilità di passare a una nuova area del file | L'inizio dell'area è selezionato in modo casuale. Le dimensioni dell'area sono un valore casuale tra il valore del MinIOChainLength parametro e il valore del MaxIOChainLength parametro . |
MinIOChainLength |
1 | Dimensioni minime dell'area nelle pagine | |
MaxIOChainLength |
100 | Dimensioni massime dell'area nelle pagine | SQL Server 2005 edizione Enterprise e SQL Server 2000 edizione Enterprise possono leggere fino a 1.024 pagine. Il valore minimo è 0 . Il valore massimo è limitato dalla memoria di sistema.In genere, l'attività utente casuale causa piccole operazioni di analisi. Usare i valori specificati nella ReadAheadUser sezione per simulare operazioni di analisi più grandi. |
RandomUserReadWriteRatio |
9000 | Percentuale di pagine da aggiornare | Una catena di lunghezza casuale viene selezionata nell'area e può essere letta. Questo parametro definisce la percentuale delle pagine da aggiornare e scrivere su disco. |
MinLogPerBuffer |
64 | Dimensioni minime del record di log in byte | Il valore deve essere un multiplo delle dimensioni del settore su disco o una dimensione adatta in modo uniforme alle dimensioni del settore su disco. |
MaxLogPerBuffer |
8192 | Dimensioni massime dei record di log in byte | Questo valore non può superare 64.000. Il valore deve essere un multiplo delle dimensioni del settore su disco. |
RollbackChance |
100 | La possibilità che si verifichi un'operazione in memoria che causa l'esecuzione di un'operazione di rollback. | Quando si verifica questa operazione di rollback, SQL Server non scrive nel file di log. |
SleepAfter |
5 | Tempo di sospensione dopo ogni ciclo, in millisecondi |
Sezione AuditUser
L'utilità SQLIOSim accetta i valori specificati nella AuditUser
sezione per simulare l'attività DBCC per leggere e controllare le informazioni sulla pagina. La convalida viene eseguita anche se il valore del UserCount
parametro è impostato su 0
.
Parametro | Default value | Descrizione | Commenti |
---|---|---|---|
UserCount |
2 | Numero di thread di controllo | Il valore non può superare il valore seguente: CPUCount*1023-100 .Anche il numero totale di tutti gli utenti non può superare questo valore. Un valore indica 0 che non è possibile creare utenti ad accesso casuale. Un valore indica -1 che è necessario usare la configurazione automatica del valore : min(CPUCount*2, 8) .NOTA Un sistema SQL Server può avere migliaia di sessioni. La maggior parte delle sessioni non dispone di richieste attive. Usare la count(*) funzione nelle query sulla sys.dm_exec_requests DMV come linea di base per stabilire questo valore del parametro di test.CPUCount qui fa riferimento al valore del CPUCount parametro nella CONFIG sezione .Il min(CPUCount*2, 8) valore restituisce il minore dei valori tra CPUCount*2 e 8 . |
BuffersValidated |
64 | ||
DelayAfterCycles |
2 | Applicare il parametro AuditDelay dopo il completamento del numero di cicli BuffersValidated | |
AuditDelay |
200 | Numero di millisecondi di attesa dopo ogni DelayAfterCycles operazione |
Sezione ReadAheadUser
L'utilità SQLIOSim accetta i valori specificati nella ReadAheadUser
sezione per simulare l'attività read-ahead di SQL Server. SQL Server sfrutta l'attività read-ahead per ottimizzare le funzionalità di I/O asincrone e limitare i ritardi delle query.
Parametro | Default value | Descrizione | Commenti |
---|---|---|---|
UserCount |
2 | Numero di thread read-ahead | Il valore non può superare il valore seguente: CPUCount*1023-100 .Anche il numero totale di tutti gli utenti non può superare questo valore. Un valore indica 0 che non è possibile creare utenti ad accesso casuale. Un valore indica -1 che è necessario usare la configurazione automatica del valore seguente: min(CPUCount*2, 8) .NOTA Un sistema SQL Server può avere migliaia di sessioni. La maggior parte delle sessioni non dispone di richieste attive. Usare la count(*) funzione nelle query sulla sys.dm_exec_requests DMV come linea di base per stabilire questo valore del parametro di test.CPUCount qui si riferisce al valore del CPUCount parametro nella sezione CONFIG.Il min(CPUCount*2, 8) valore restituisce il minore dei valori tra CPUCount*2 e 8 . |
BuffersRAMin |
32 | Numero minimo di pagine da leggere per ciclo | Il valore minimo è 0 . Il valore massimo è limitato dalla memoria di sistema. |
BuffersRAMax |
64 | Numero massimo di pagine da leggere per ciclo | Le edizioni di SQL Server Enterprise possono leggere fino a 1.024 pagine in una singola richiesta. Se si installa SQL Server in un computer con numerose risorse CPU, memoria e disco, è consigliabile aumentare le dimensioni del file e le dimensioni di lettura/avanti. |
DelayAfterCycles |
2 | Applicare il RADelay parametro dopo il completamento del numero specificato di cicli |
|
RADelay |
200 | Numero di millisecondi di attesa dopo ogni DelayAfterCycles operazione |
Sezione BulkUpdateUser
L'utilità SQLIOSim accetta i valori specificati nella BulkUpdateUser
sezione per simulare operazioni bulk, ad esempio SELECT...INTO
operazioni e BULK INSERT
operazioni.
Parametro | Default value | Descrizione | Commenti |
---|---|---|---|
UserCount |
-1 | Numero di BULK UPDATE thread |
Il valore non può superare il valore seguente: CPUCount*1023-100 Un valore indica -1 che è necessario usare la configurazione automatica del valore seguente: min(CPUCount*2, 8) .NOTA Un sistema SQL Server può avere migliaia di sessioni. La maggior parte delle sessioni non dispone di richieste attive. Usare la count(*) funzione nelle query sulla sys.dm_exec_requests DMV come linea di base per stabilire questo valore del parametro di test.CPUCount qui fa riferimento al valore del CPUCount parametro nella CONFIG sezione .Il min(CPUCount*2, 8) valore restituisce il minore dei valori tra CPUCount*2 e 8 . |
BuffersBUMin |
64 | Numero minimo di pagine da aggiornare per ciclo | |
BuffersBUMax |
128 | Numero massimo di pagine da aggiornare per ciclo | Il valore minimo è 0 . Il valore massimo è limitato dalla memoria di sistema. |
DelayAfterCycles |
2 | Applicare il BUDelay parametro dopo il completamento del numero specificato di cicli |
|
BUDelay |
10 | Numero di millisecondi di attesa dopo ogni DelayAfterCycles operazione |
Sezione ShrinkUser
L'utilità SQLIOSim accetta i valori specificati nella ShrinkUser
sezione per simulare le operazioni di compattazione DBCC. L'utilità SQLIOSim può anche usare la ShrinkUser
sezione per aumentare le dimensioni del file.
Parametro | Default value | Descrizione |
---|---|---|
MinShrinkInterval |
120 | Intervallo minimo tra le operazioni di compattazione in secondi |
MaxShrinkInterval |
600 | Intervallo massimo tra le operazioni di compattazione in secondi |
MinExtends |
1 | Numero minimo di incrementi in base ai quali l'utilità SQLIOSim aumenta o riduce il file |
MaxExtends |
20 | Numero massimo di incrementi in base ai quali l'utilità SQLIOSim aumenta o riduce il file |
Commenti .ini file di configurazione
Il carattere punto e virgola (;) all'inizio di una riga nel file di configurazione .ini fa sì che la riga venga considerata come un singolo commento.
Creazione di file
L'utilità SQLIOSim crea file di dati e file di log separati per simulare i modelli di I/O generati da SQL Server nel file di dati e nel relativo file di log. L'utilità SQLIOSim non usa il motore di SQL Server per eseguire attività di stress. È pertanto possibile usare l'utilità SQLIOSim per testare un computer prima di installare SQL Server.
Quando si esegue l'utilità SQLIOSim, assicurarsi di specificare lo stesso percorso di file usato per i file di database di SQL Server. Quando si esegue questa operazione, l'utilità simula lo stesso percorso di I/O del database di SQL Server.
È possibile abilitare gli attributi di compressione o crittografia per i file di test esistenti. È anche possibile abilitare questi attributi per la directory esistente in cui verranno creati i file di test. Le opzioni corrispondenti per abilitare questi attributi si trovano nella finestra di dialogo Proprietà per un file o una directory.
Per impostazione predefinita, l'utilità SQLIOSim crea file di test con estensione mdx e ldx . Di conseguenza, questi file non sovrascriveranno i file di dati e di log esistenti.
Avviso
Non specificare i file di database di SQL Server effettivi per il test. L'utilità SQLIOSim sovrascriverà i dati con modelli di test casuali e i dati effettivi di SQL Server andranno persi.
Log degli errori e gestione di SQLIOSim
L'utilità SQLIOSim crea il file di log degli errori in uno dei percorsi seguenti:
- Percorso specificato nel parametro di avvio del log
- Percorso specificato nella
ErrorFile=
riga nel file Sqliosim.cfg.ini
Il log degli errori SQLIOSim.log.xml contiene informazioni dettagliate sull'esecuzione. Questi dettagli includono informazioni sull'errore. Esaminare attentamente il log per informazioni sugli errori e informazioni sull'avviso.
Note
Se si verifica un errore nell'utilità SQLIOSim, è consigliabile chiedere al produttore dell'hardware di determinare la causa radice del problema. Il problema potrebbe anche essere causato da un driver di dispositivo, da un driver di filtro del file system (ad esempio, antivirus) o dal sistema operativo.
Più copie
L'utilità SQLIOSim supporta test a livello di file multipli e test a livello di utente multipli. L'utilità SQLIOSim non richiede più chiamate. È possibile eseguire più copie dell'utilità SQLIOSim se sono soddisfatte le condizioni seguenti:
- Tutte le copie fanno riferimento a file di test univoci per ogni istanza dell'utilità.
- Il
MaxMemoryMB
parametro di ogni istanza fornisce un'area di memoria non sovrapposta sufficiente per ogni istanza.
La somma del MaxMemoryMB
parametro per ogni istanza deve essere minore o uguale alla memoria fisica totale. Alcune fasi di test, ad esempio la simulazione dei checkpoint, possono richiedere un utilizzo elevato della memoria e possono creare condizioni di memoria insufficiente quando si eseguono più copie. Se si verificano errori di memoria insufficiente, è possibile ridurre il numero di copie dell'utilità in esecuzione.