Utilizzare l'utilità SQLIOSim per simulare l'attività di SQL Server su un sottosistema di dischi

In questo articolo viene descritto come utilizzare l'utilità SQLIOSim per eseguire test di stress sui sottosistemi di disco per simulare l'attività di SQL Server.

Versione originale del prodotto:   SQL Server
Numero KB originale:   231619

Riepilogo

Per Microsoft SQL Server 2005, 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 contenitori dell'installazione di SQL Server. È consigliabile utilizzare queste versioni aggiornate dello strumento per simulare l'attività di i/o nel sottosistema del disco.

L'utilità SQLIOSim sostituisce l'utilità SQLIOStress. L'utilità SQLIOStress era precedentemente nota come utilità SQL70IOStress.

In questo articolo sono inoltre disponibili informazioni di download per l'utilità SQLIOSim.

Introduzione

In questo articolo viene descritto lo strumento SQLIOSim. È possibile utilizzare questo strumento per eseguire test di affidabilità e integrità nei sottosistemi di disco. Questi test simulano le attività di lettura, scrittura, Checkpoint, backup, ordinamento e lettura anticipata per Microsoft SQL Server. Tuttavia, se è necessario eseguire test di benchmark e determinare la capacità di i/O del sistema di archiviazione, è necessario utilizzare lo strumento Diskspd .

Panoramica

L'utilità SQLIOSim è stata aggiornata dall'utilità SQLIOStress. L'utilità SQLIOSim simula in modo più accurato i modelli di I/O di Microsoft SQL Server.

Per ulteriori informazioni sui modelli di I/O di SQL Server, vedere le nozioni di base di i/o di SQL Server, capitolo 2.

Nota

Per garantire la sicurezza e l'integrità dei dati appropriate, è consigliabile eseguire test di stress del sottosistema di I/O prima di distribuire SQL Server su un nuovo hardware. L'utilità SQLIOSim simula i modelli di lettura, i modelli di scrittura e le tecniche di identificazione dei problemi di SQL Server. Per eseguire queste attività, l'utilità SQLIOSim simula l'attività dell'utente e l'attività del sistema di un sistema SQL Server. L'utilità SQLIOSim consente di eseguire questa simulazione indipendentemente dal motore di SQL Server.

L'utilità SQLIOSim non garantisce o garantisce la sicurezza o l'integrità dei dati. L'utilità è stata progettata per fornire test di base di un ambiente di sistema. L'utilità SQLIOSim potrebbe esporre potenziali problemi di integrità dei dati.

Per ulteriori informazioni sulla registrazione e sull'archiviazione dei dati, vedere Descrizione degli algoritmi di registrazione e archiviazione dei dati che estendono l'affidabilità dei dati in SQL Server.

Il pacchetto di download contiene due file eseguibili, SQLIOSim.com e SQLIOSim.exe. Entrambi i file eseguibili offrono funzionalità di simulazione identiche. SQLIOSim.com è uno strumento da riga di comando che è possibile configurare per l'esecuzione senza interazione dell'utente. A tale scopo, è possibile utilizzare i parametri della riga di comando, un file di configurazione o una combinazione di entrambi questi metodi. SQLIOSim.exe è un'applicazione grafica che non accetta parametri della riga di comando. Tuttavia, SQLIOSim.exe carica i dati di configurazione predefiniti dai file di configurazione.

Parametri della riga di comando di SQLIOSim.com

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 il controllo del comportamento avanzato. Quando si sovrappongono i parametri della riga di comando e le opzioni dei file di configurazione, i parametri della riga di comando hanno la precedenza.

Parametro Aggiungere commenti
- file cfg Ignorare il file di configurazione predefinito Sqliosim.cfg.ini. L'utilità SQLIOSim restituisce un errore se l'utilità non è in grado di trovare il file.
-Salva file Salvare la configurazione risultante nel file di configurazione. È possibile utilizzare questa opzione per creare il file di configurazione iniziale.
- file di registro Specificare il nome del file di log degli errori e il percorso del file di log degli errori. Il nome predefinito del file è Sqliosim.log.xml.
dir -dir Impostare il percorso in cui creare il file di dati (con estensione MDF) e il file di registro (con estensione ldf). È possibile eseguire questo comando più volte. Nella maggior parte dei casi, questo percorso è una radice dell'unità o un punto di montaggio del volume. Questo percorso 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.
-dimensione MB Impostare la dimensione iniziale del file di dati in megabyte (MB). Il file può aumentare fino a due volte la dimensione iniziale. La dimensione del file di registro viene calcolata come la metà della dimensione del file di dati. Tuttavia, il file di registro non può essere maggiore di 50 MB.

File di configurazione di SQLIOSim

I file di configurazione di esempio per diversi test possono essere scaricati dal repo GitHubdel team di supporto di SQL Server.

Non è necessario utilizzare un file di configurazione. Se non si utilizza un file di configurazione, tutti i parametri avranno valori predefiniti, ad eccezione del percorso del file di dati e del percorso del file di registro. Per specificare il percorso del file di dati e il percorso del file di registro, è necessario utilizzare uno dei metodi seguenti:

  • Utilizzare i parametri della riga di comando nel file SQLIOSim.com.
  • Utilizzare la finestra di dialogo file e configurazione dopo aver eseguito il file SQLIOSim.exe.
  • Utilizzare la sezione file x del file di configurazione.

Nota

  • Se il nome del parametro indica che il parametro è un rapporto o una percentuale, il valore del parametro viene espresso come percentuale o rapporto, diviso per 0,01. Ad esempio, il valore del CacheHitRatio parametro è 10%. Questo valore è espresso come 1000 perché 10, diviso 0,01, è uguale a 1000. Il valore massimo di un parametro percentuale è 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 sono true e false. Inoltre, i valori sono distinzione tra maiuscole e minuscole. L'utilità SQLIOSim ignora i valori non validi.
  • Se una coppia di parametri indica un valore minimo e un valore massimo, il valore minimo non deve essere maggiore del valore massimo. Ad esempio, il valore del MinIOChainLength parametro non deve essere superiore al valore del MaxIOChainLength parametro.
  • Se il parametro indica un numero di pagine, l'utilità SQLIOSim controlla il valore da assegnare al parametro rispetto al file elaborato dall'utilità SQLIOSim. L'utilità SQLIOSim consente di eseguire questa verifica per assicurarsi che il numero di pagine non superi le dimensioni del file.

Sezione CONFIG

L'utilità SQLIOSim accetta i valori specificati nella sezione CONFIG del file di configurazione di SQLIOSim per definire il comportamento di testing globale.

Parametro Valore predefinito Descrizione Commenti
ErrorFile: sqliosim.log.xml Nome del file di registro dei tipi XML
CPUCount Numero di CPU nel computer Numero di CPU logiche da creare Il valore massimo è 64 CPU.
Affinità 0 Maschera di affinità di CPU fisica da applicare alle CPU logiche La maschera di affinità deve trovarsi all'interno della maschera della CPU attiva. Un valore di
0 indica che verranno utilizzate tutte le CPU disponibili.
MaxMemoryMB Memoria fisica disponibile all'avvio dell'utilità SQLIOSim Dimensione del pool di buffer in MB Il valore non può superare la quantità totale di memoria fisica nel computer.
StopOnError true Interrompe la simulazione quando si verifica il primo errore
TestCycles 1 Numero di cicli di test completi da eseguire Il valore 0 indica un numero infinito di cicli di test.
TestCycleDuration 300 Durata di un ciclo di test in secondi, esclusa la sessione di controllo alla fine del ciclo
CacheHitRatio 1000 Percentuale di hit cache simulata quando l'utilità SQLIOSim legge dal disco
MaxOutstandingIO 0 Numero massimo di operazioni di I/O inevase consentite a livello di processo Il valore non può superare 140000. Il 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, destinate mediante 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 la disattivazione della limitazione per inviare numerose richieste di I/O Gli scoppi di i/O sono abilitati durante l'aggiornamento iniziale, il checkpoint iniziale e il checkpoint finale alla fine dei cicli di test. Il parametro MaxOutstandingIO è ancora in onore. È possibile prevedere avvisi di I/O lunghi.
Nobuffering true Utilizzare l'opzione FILE_FLAG_NO_BUFFERING SQL Server apre i file di database utilizzando FILE_FLAG_NO_BUFFERING = = true. Alcune utilità e servizi, ad esempio Analysis Services, utilizzano FILE_FLAG_NO_BUFFERING = = false. Per testare completamente un server, eseguire un test per ogni impostazione.
WriteThrough true Utilizzare l'opzione FILE_FLAG_WRITE_THROUGH SQL Server apre i file di database utilizzando FILE_FLAG_WRITE_THROUGH = = true. Tuttavia, alcune utilità e servizi aprono i file di database utilizzando FILE_FLAG_WRITE_THROUGH = = false. Ad esempio, SQL Server Analysis Services apre i file di database utilizzando FILE_FLAG_WRITE_THROUGH = = false. Per testare completamente un server, eseguire un test per ogni impostazione.
ScatterGather true Utilizzo delle API di ReadScatter/WriteGather Se questo parametro è impostato su true, il parametro Nobuffering viene impostato su true.

SQL Server utilizza I/O scatter/gather per la maggior parte delle richieste di I/O.
ForceReadAhead true Eseguire un'operazione di lettura continua anche se i dati sono già stati letti L'utilità SQLIOSim rilascia il comando di lettura anche se la pagina di dati è già presente nel pool di buffer.

Il supporto di Microsoft SQL Server ha utilizzato correttamente l'impostazione true per esporre I problemi di I/O.
DeleteFilesAtStartup true Eliminare i file all'avvio se i file sono presenti Un file può contenere più flussi di dati. Solo i flussi specificati nella voce file x filename 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 voce file x filename 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 contrassegnando gli 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 indicatore di dati valido.

SQL Server 2005 utilizza la caratteristica di inizializzazione dei file istantanei per i file di dati. Se il file di dati è un file di registro o se l'inizializzazione dei file istantanei non è abilitata, SQL Server esegue la stampa a zero. Le versioni di SQL Server precedenti a SQL Server 2000 eseguono sempre lo stampaggio a zero.

È necessario cambiare il valore del parametro StampFiles durante il testing per assicurarsi che sia l'inizializzazione del file istantaneo che la stampa a zero funzionino correttamente.

Sezione FILEX

L'utilità SQLIOSim è progettata per consentire la verifica di più file. La sezione file x è rappresentata come [file1], [file2] per ogni file del test.

Parametro Valore predefinito Descrizione Commenti
FileName Nessun valore predefinito Nome e percorso del file Il parametro filename può essere un percorso lungo o un percorso UNC. È inoltre possibile includere un nome e un tipo di flusso secondario. Ad esempio, il parametro filename può essere impostato su file. MDF: stream2.

Note In SQL Server 2005, le operazioni DBCC utilizzano i flussi. È consigliabile eseguire i test di flusso.
InitialSize Nessun valore predefinito Dimensione iniziale in MB Se il file esistente è più grande del valore specificato per il parametro InitialSize , 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ò diventare più grande del valore specificato per il parametro MaxSize .
Incremento 0 Dimensione in MB dell'incremento tramite il quale il file cresce o diminuisce. Per ulteriori informazioni, vedere la sezione "ShrinkUser" parte di questo articolo. L'utilità SQLIOSim regola il parametro Increment all'avvio in modo che venga stabilita la seguente situazione: Increment * MaxExtents < MaxMemoryMB/NumberOfDataFiles
Se il risultato è 0, l'utilità SQLIOSim imposta il file come non compattabile.
Termorestringibile false Indica se il file può essere ridotto o espanso Se si imposta il parametro Increment su 0, il file non può essere compattato. In questo caso, è necessario impostare il parametro shrinkable su false. Se si imposta il parametro Increment su un valore diverso da 0, il file verrà impostato come restringimento. In questo caso, è necessario impostare il parametro shrinkable su true.
Radi false Indica se l'attributo di tipo sparse deve essere impostato sui file Per i file esistenti, l'utilità SQLIOSim non consente di cancellare l'attributo sparse quando si imposta il parametro sparse su false.

SQL Server 2005 utilizza i file sparsi per supportare i database snapshot e i flussi DBCC secondari.

È consigliabile abilitare sia il file sparse che i flussi e quindi eseguire una sessione di test.

Note Se si imposta la proprietà sparse = true per le impostazioni del file, non specificare nobuffering = false nella sezione config. Se si utilizzano queste due combinazioni di conflitti, è possibile che venga visualizzato un messaggio di errore analogo al seguente dallo strumento:

Errore:-= = = = = Error: 0x80070467
Testo dell'errore: durante l'accesso al disco rigido, un'operazione su disco ha avuto esito negativo anche dopo alcuni tentativi.
Descrizione: la convalida del buffer non è riuscita C:\SQLIOSim.mdx Page: 28097
LogFile false Indica se un file contiene dati del registro delle transazioni o degli utenti È necessario definire almeno un file di log.

Sezione RandomUser

L'utilità SQLIOSim accetta i valori specificati nella sezione RandomUser per simulare un lavoratore SQL Server che esegue operazioni di query casuali, ad esempio modelli di I/O di elaborazione delle transazioni online (OLTP).

Parametro Valore predefinito Descrizione Commenti
UserCount -1 Numero di thread di accesso casuali in esecuzione contemporaneamente Il valore non può superare il valore seguente: CPUCount 1023-100
il numero totale di tutti gli utenti non può superare questo valore. Il valore 0 indica che non è possibile creare utenti di Access casuali. Il valore-1 indica che è necessario utilizzare la configurazione automatica del valore seguente: min (CPUCount
2, 8)
Note Un sistema SQL Server può disporre di migliaia di sessioni. La maggior parte delle sessioni non ha richieste attive. Utilizzare la count(*) funzione nelle query sulla sys.dm_exec_requests vista a gestione dinamica (DMV) come linea di base per la definizione di questo valore del parametro di test.

CPUCount qui si riferisce al valore del parametro CPUCount nella sezione config.

Il min(CPUCount*2, 8) valore determina il minore dei valori compresi tra CPUCount * 2 e 8.
JumpToNewRegionPercentage 500 La possibilità di passare a una nuova area del file L'inizio dell'area viene selezionato in modo casuale. Le dimensioni dell'area geografica corrispondono a un valore casuale compreso tra il valore del parametro MinIOChainLength e il valore del parametro MaxIOChainLength .
MinIOChainLength 1 Dimensioni minime delle aree nelle pagine
MaxIOChainLength 100 Dimensione massima delle aree geografiche nelle pagine SQL Server 2005 Enterprise Edition e SQL Server 2000 Enterprise Edition sono in grado di leggere in anticipo fino a 1.024 pagine.

Il valore minimo è 0. Il valore massimo è limitato dalla memoria di sistema.

In genere, l'attività utente casuale causa la verifica di piccole operazioni di analisi. Utilizzare i valori specificati nella sezione ReadAheadUser per simulare operazioni di analisi più estese.
RandomUserReadWriteRatio 9000 Percentuale di pagine da aggiornare Nell'area è selezionata una catena di lunghezza casuale che può essere letta. Questo parametro consente di definire la percentuale di pagine che devono essere aggiornate e scritte su disco.
MinLogPerBuffer 64 Dimensioni minime dei record di log in byte Il valore deve essere un multiplo della dimensione del settore su disco o una dimensione che si adatta equamente alla dimensione del settore su disco.
MaxLogPerBuffer 8192 Dimensioni massime dei record di log in byte Questo valore non può superare 64000. Il valore deve essere un multiplo della dimensione del settore su disco.
RollbackChance 100 La possibilità che si verifichi un'operazione in memoria che provochi l'esecuzione di un'operazione di rollback. Quando si verifica questa operazione di rollback, SQL Server non scrive nel file di registro.
SleepAfter 5 Tempo di sospensione dopo ogni ciclo, in millisecondi

Sezione AuditUser

L'utilità SQLIOSim accetta i valori specificati nella sezione AuditUser per simulare l'attività DBCC per la lettura e per controllare le informazioni relative alla pagina. La convalida si verifica anche se il valore del parametro UserCount è impostato su 0.

Parametro Valore predefinito Descrizione Commenti
UserCount 2 Numero di thread di controllo Il valore non può superare il valore seguente: CPUCount 1023-100
il numero totale di tutti gli utenti non può superare questo valore. Il valore 0 indica che non è possibile creare utenti di Access casuali. Il valore-1 indica che è necessario utilizzare la configurazione automatica del valore seguente: min (CPUCount
2, 8)
Note Un sistema SQL Server può disporre di migliaia di sessioni. La maggior parte delle sessioni non ha richieste attive. Utilizzare la count(*) funzione nelle query su 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 determina il minore dei valori compresi tra CPUCount * 2 e 8.
BuffersValidated 64
DelayAfterCycles 2 Applicare il parametro AuditDelay dopo il completamento del numero di cicli di BuffersValidated
AuditDelay 200 Numero di millisecondi di attesa dopo ogni operazione di DelayAfterCycles

Sezione ReadAheadUser

L'utilità SQLIOSim accetta i valori specificati nella sezione ReadAheadUser per simulare l'attività di lettura di SQL Server. SQL Server si avvale dell'attività di lettura per massimizzare le funzionalità di I/O asincrone e limitare I ritardi di query.

Parametro Valore predefinito Descrizione Commenti
UserCount 2 Numero di thread Read-Ahead Il valore non può superare il valore seguente: CPUCount 1023-100
il numero totale di tutti gli utenti non può superare questo valore. Il valore 0 indica che non è possibile creare utenti di Access casuali. Il valore-1 indica che è necessario utilizzare la configurazione automatica del valore seguente: min (CPUCount
2, 8)
Note Un sistema SQL Server può disporre di migliaia di sessioni. La maggior parte delle sessioni non ha richieste attive. Utilizzare la count(*) funzione nelle query su sys.dm_exec_requests DMV come linea di base per stabilire questo valore del parametro di test.

CPUCount qui si riferisce al valore del parametro CPUCount nella sezione config.

Il min(CPUCount*2, 8) valore determina il minore dei valori compresi 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 sono in grado di leggere fino a 1.024 pagine in una singola richiesta. Se si installa SQL Server in un computer con molte risorse di CPU, memoria e disco, è consigliabile aumentare le dimensioni del file e le dimensioni di lettura.
DelayAfterCycles 2 Applicare il parametro RADelay dopo il completamento del numero di cicli specificato
RADelay 200 Numero di millisecondi di attesa dopo ogni operazione di DelayAfterCycles

Sezione BulkUpdateUser

L'utilità SQLIOSim accetta i valori specificati nella sezione BulkUpdateUser per simulare le operazioni in blocco, ad esempio SELECT... Nelle operazioni e nelle operazioni di inserimento in blocco.

Parametro Valore predefinito Descrizione Commenti
UserCount -1 Numero di thread di aggiornamento in blocco Il valore non può superare il valore seguente: CPUCount*1023-100
Il valore -1 indica che è necessario utilizzare la configurazione automatica del valore seguente: min(CPUCount*2, 8)
Note Un sistema SQL Server può disporre di migliaia di sessioni. La maggior parte delle sessioni non ha richieste attive. Utilizzare la count(*) funzione nelle query su 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 determina il minore dei valori compresi 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 aver completato il numero di cicli specificato
BUDelay 10 Numero di millisecondi di attesa dopo ogni operazione di DelayAfterCycles

Sezione ShrinkUser

L'utilità SQLIOSim accetta i valori specificati nella sezione ShrinkUser per simulare le operazioni DBCC Shrink. L'utilità SQLIOSim può anche utilizzare la sezione ShrinkUser per aumentare il file.

Parametro Valore predefinito 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 aumenterà o ridurrà il file
MaxExtends 20 Numero massimo di incrementi in base ai quali l'utilità SQLIOSim aumenterà o ridurrà il file

Commenti sul file Configuration. ini

Il carattere punto e virgola (;) all'inizio di una riga nel file Configuration. ini la riga viene trattata come un singolo commento.

Creazione di file

L'utilità SQLIOSim consente di creare file di dati e file di registro separati per simulare i modelli di I/O generati da SQL Server nel relativo file di dati e nel relativo file di registro. L'utilità SQLIOSim non utilizza il motore di SQL Server per eseguire attività di stress. Pertanto, è possibile utilizzare l'utilità SQLIOSim per testare un computer prima di eseguire l'installazione di SQL Server.

Quando si esegue l'utilità SQLIOSim, assicurarsi di specificare lo stesso percorso di file utilizzato 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 l'attributo Compress o la crittografia per i file di test esistenti. È inoltre possibile abilitare questi attributi per la directory esistente in cui verranno creati i file di test. Le opzioni corrispondenti per abilitare questi attributi sono disponibili nella finestra di dialogo Proprietà relativa a un file o a una directory.

Per impostazione predefinita, l'utilità SQLIOSim crea file di test con le estensioni di file. MDX e. LDX. Pertanto, questi file non sovrascriveranno i file di registro e i dati esistenti.

Avviso

Non specificare i file di database di SQL Server effettivi per il testing. L'utilità SQLIOSim sovrascriverà i dati con modelli di test casuali e i dati di SQL Server effettivi andranno persi.

Registro e gestione degli errori di SQLIOSim

L'utilità SQLIOSim consente di creare il file di log degli errori in una delle posizioni seguenti:

  • Il percorso specificato nel parametro di avvio del log
  • Il percorso specificato nella riga ErrorFile: = nel file di Sqliosim.cfg.ini

Il registro degli errori SQLIOSim.log.xml contiene informazioni dettagliate sull'esecuzione. Questi dettagli includono informazioni sugli errori. Esaminare il registro con attenzione per informazioni sugli errori e per informazioni sugli avvisi.

Nota

Se si verifica un errore nell'utilità SQLIOSim, è consigliabile chiedere al produttore dell'hardware di determinare la causa principale del problema.

Più copie

L'utilità SQLIOSim è in grado di gestire test a livello di file multipli e test a livello di utente multiplo. L'utilità SQLIOSim non richiede più chiamate. Tuttavia, l'utilità SQLIOStress richiede più chiamate. È possibile eseguire più copie dell'utilità SQLIOSim se si verificano le seguenti condizioni:

  • Tutte le copie fanno riferimento a file di test univoci per istanza dell'utilità.
  • Il MaxMemoryMB parametro di ogni istanza prevede un'area di memoria non sovrapposta sufficiente per ogni istanza.

La somma del MaxMemoryMB parametro per ogni istanza deve essere inferiore o uguale alla memoria fisica totale. Alcune fasi di test, ad esempio la simulazione del checkpoint, possono essere a elevato utilizzo di memoria e possono creare condizioni di memoria esaurita quando si eseguono più copie. Se si verificano errori di memoria insufficiente, è possibile ridurre il numero di copie dell'utilità in esecuzione.

File di configurazione di esempio

Oltre al file predefinito Sqliosim.cfg.ini, il pacchetto fornisce i file di esempio seguenti.

File di esempio Descrizione Parametri che differiscono dal file di configurazione predefinito
Sqliosim.hwcache.cfg.ini Riduzione a icona letture

I file sono di dimensioni ridotte per conservarli completamente in memoria

Nessuna lettura sequenziale
Per la sezione AuditUser e per la sezione ReadAheadUser:

CacheHitRatio = 10000
UserCount = 0
Sqliosim.nothrottle.cfg.ini Rimozione della limitazione di I/O

Ridurre al minimo il tempo di attesa per aumentare il volume di I/O
TargetIODuration = 1.000.000
AuditDelay = 10
RADelay = 10
Sqliosim.seqwrites.cfg.ini Riduzione a icona letture

I file sono di dimensioni ridotte per conservarli completamente in memoria

I file vengono resi non restringebili

Nessuna lettura sequenziale

Nessun accesso casuale

Aggiornamento in blocco in blocchi di grandi dimensioni senza ritardi
Shrinkable = FALSE

Per la sezione AuditUser, per la sezione ReadAheadUser e per la sezione RandomUser:

CacheHitRatio = 10000
ForceReadAhead = FALSE
BuffersBUMin = 600
BuffersBUMax = 1000
BUDelay = 1
UserCount = 0
Sqliosim.sparse.cfg.ini Utilizzare solo 32 MB di memoria

Impostare la durata di I/O di destinazione in modo da consentire numerose richieste di I/O eccezionali

Disabilitare le API scatter/gather per emettere richieste di I/O separate per ogni pagina di 8 KB

Creare un file non compattabile da 1 GB

Creare un flusso sparso secondario 1 GB non compattabile nel file
MaxMemoryMB = 32
TestCycles = 3
TestCycleDuration = 600
TargetIODuration = 10000
UseScatterGather = FALSE

File1
FileName = SQLIOSim. MDX
InitialSize = 1000 MaxSize = 1000
Incremento = 10
Shrinkable = FALSE
LogFile = FALSE
Sparse = FALSE

File2
FileName = SQLIOSim. LDX
InitialSize = 50
MaxSize = 50
Incremento = 0
Shrinkable = FALSE
LogFile = TRUE
Sparse = FALSE

File3
FileName = SQLIOSim. MDX: replica
InitialSize = 1000
MaxSize = 1000
Incremento = 10
Shrinkable = FALSE
LogFile = FALSE
Sparse = TRUE

Riferimenti