Usar o utilitário SQLIOSim para simular a atividade do SQL Server em um subsistema de disco

Versão original do produto: SQL Server
Número original do KB: 231619

Resumo

A ferramenta SQLIOSim executa testes de confiabilidade e estresse de integridade em subsistemas de disco simulando padrões de E/S Microsoft SQL Server. Esses testes incluem atividades de leitura, gravação, ponto de verificação, backup, classificação e leitura antecipada. Use o SQLIOSim para validar seu subsistema de E/S antes de implantar SQL Server em um novo hardware. A ferramenta opera independentemente do mecanismo do SQL Server e não exige que o SQL Server esteja em execução.

Introdução ao SQLIOSim

O SQLIOSim simula os padrões de leitura e gravação (leituras de página, ponto de verificação, backup, classificação, leitura antecipada) de um sistema de SQL Server para ajudar a identificar possíveis problemas de E/S. O objetivo principal dos testes de simulação de E/S é verificar a confiabilidade do subsistema de E/S subjacente antes que SQL Server comece a usá-lo. Para obter mais informações sobre SQL Server conceitos básicos de E/S, consulte SQL Server conceitos básicos de E/S.

O SQLIOSim não interage com SQL Server e não exige que SQL Server estejam em execução. Na maioria dos casos, execute o SQLIOSim quando SQL Server não estiver em execução para evitar a concorrência pela taxa de transferência de E/S entre os dois aplicativos.

Aviso

Não aponte ou use arquivos de banco de dados SQL Server reais no teste do SQLIOSim porque a ferramenta usa padrões de teste aleatórios para substituir os arquivos.

O SQLIOSim não garante a segurança ou a integridade dos dados. A ferramenta fornece testes de linha de base de um ambiente do sistema e pode expor possíveis problemas de integridade de dados.

Para obter mais informações sobre log e armazenamento de dados, consulte Descrição dos algoritmos de log e armazenamento de dados que estendem a confiabilidade dos dados no SQL Server.

Se você precisar executar testes de desempenho e determinar a capacidade de E/S, use a ferramenta Diskspd.

Dica

Execute o SQLIOSim em cada nova configuração de armazenamento antes da implantação de produção. Esse teste ajuda a garantir que o sistema cumpra a ordem de gravação e libere a semântica mesmo se as camadas de cache estiverem presentes. Essas camadas incluem cache do controlador, bufferização de firmware e otimizações SAN.

Localização do SQLIOSim

O SQLIOSim estava disponível anteriormente como um pacote de download separado. A partir de Microsoft SQL Server 2008, o SQLIOSim está incluído na instalação do produto SQL Server. Ao instalar SQL Server, você encontra a ferramenta SQLIOSim na pasta Binn da instalação do SQL Server. Use esta versão atualizada da ferramenta para simular a atividade de E/S no subsistema de disco.

O pacote SQLIOSim inclui três arquivos. A pasta Binn contém dois arquivos executáveis, SQLIOSim.com e SQLIOSim.exe. Ambos os arquivos executáveis fornecem recursos idênticos de simulação de E/S.

  • SQLIOSim.com é uma ferramenta de linha de comando. Você pode configurá-lo para ser executado sem interação do usuário usando parâmetros de linha de comando, um arquivo de configuração ou uma combinação de ambos os métodos.
  • SQLIOSim.exe é um aplicativo gráfico (GUI) que não aceita parâmetros de linha de comando. No entanto, SQLIOSim.exe carrega dados de configuração padrão de arquivos de configuração.
  • Use arquivos de configuração para ajudar a automatizar a simulação de E/S usando SQLIOSim. Para obter mais informações, consulte a seção Arquivo de configuração SQLIOSim.

Usar o SQLIOSim em um computador sem SQL Server

Execute o SQLIOSim para um teste estendido em um computador antes de instalar SQL Server. Use-o para testar o subsistema de E/S em que você planeja colocar dados e arquivos de log e verificar sua confiabilidade. Para fazer isso, copie os arquivos SQLIOSim de um computador no qual SQL Server está instalado e execute os testes antes de instalar SQL Server. Copie SQLIOSim.com, SQLIOSim.exe e, opcionalmente, um ou mais dos arquivos de configuração se você planeja usar configurações pré-configuradas. Em seguida, execute a simulação de teste nesse computador.

Como usar o SQLIOSim

Você não precisa do serviço SQL Server para ser executado enquanto executa o SQLIOSim. Na verdade, não execute SQL Server enquanto o SQLIOSim estiver em execução porque os aplicativos podem competir por recursos de E/S.

Aviso

Para evitar perder seus dados reais de SQL Server, não especifique arquivos de banco de dados SQL Server reais para teste. A ferramenta SQLIOSim substitui os dados usando padrões de teste aleatórios.

Os exemplos a seguir mostram como executar o SQLIOSim usando a GUI e a linha de comando.

Exemplo 1: Usar a GUI

  1. Vá para C:\Arquivos de Programas\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.

  2. Inicie o aplicativo SQLIOSIM.EXE .

  3. Procure na janela Arquivos e Configuração as configurações padrão que você pode modificar para corresponder às suas necessidades de configuração.

    Captura de tela que mostra a configuração do arquivo.

  4. Selecione o primeiro arquivo mdx na lista, C:\temp\sqliosim\sqliosim.mdx. Este arquivo é o equivalente a um arquivo de dados.

  5. Altere as configurações de arquivo, como o local, o tamanho, o tamanho máximo ou o incremento dos arquivos. Mantenha a opção Arquivo de Log desmarcada porque você deseja simular um arquivo de dados. Em seguida, selecione Aplicar.

    Captura de tela que mostra a configuração do arquivo de dados.

    O exemplo mostra que o local do arquivo é alterado para D:\temp\sqliosim\sqliosim.mdx, seu tamanho é definido como 2048 MB, seu tamanho máximo é definido como 4096 MB e seu tamanho de incremento é definido como 64 MB.

  6. Altere o segundo arquivo, aquele que tem o sufixo ldx . Esse arquivo representa o equivalente a um arquivo de log de transações. Verifique se a opção Arquivo de Log permanece selecionada. Depois de concluir, selecione Aplicar.

    Captura de tela da configuração do arquivo de log.

  7. Adicione mais arquivos à lista selecionando a opção Novo Arquivo no centro da tela dentro da grade tabular. Digite o local do arquivo e defina as opções restantes. Depois de concluir, selecione Aplicar. Por exemplo.

    Captura de tela da adição de um novo arquivo de teste.

  8. Quando estiver satisfeito com sua configuração, selecione OK.

  9. Para executar a simulação de E/S do SQL, selecioneIniciar>. Como alternativa, selecione F12 ou o botão mais à esquerda que contém um círculo verde.

    Captura de tela que mostra um SQLIOSim em execução.

  10. Aguarde a conclusão da simulação e examine a saída.

Exemplo 2: Usar uma ferramenta de linha de comando e um arquivo de configuração

  1. Edite o arquivo sqliosim.default.cfg.ini . Remova os comentários para as seções File1 e File2, e altere os valores de FileName para novos arquivos SQLIOSim. Por exemplo:

    [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. Execute SQLIOSIM.COM usando o arquivo de configuração ,C:\temp\sqliosimconfig\sqliosim.default.cfg.ini:

    SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
    

Exemplo 3: Usar uma ferramenta de linha de comando com opções

Você pode testar vários volumes de disco ao mesmo tempo usando a -dir opção. O exemplo a seguir cria arquivos de 500 MB e executa o teste por 300 segundos (cinco minutos):

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

Exemplo 4: Usar uma ferramenta de linha de comandos em várias unidades

O exemplo a seguir cria arquivos de 32 GB e executa o teste por 600 segundos (10 minutos) usando o arquivo de configuração 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: parâmetros de linha de comando

SQLIOSIM.COM aceita um número limitado de parâmetros de linha de comando para controlar o comportamento básico. O arquivo de configuração da ferramenta SQLIOSim fornece controle de comportamento avançado. Se os parâmetros de linha de comando e as opções de arquivo de configuração se sobrepõem, os parâmetros de linha de comando têm precedência.

Parâmetro Descrição
-cfg arquivo Substitua o arquivo de configuração padrão Sqliosim.cfg.ini. A ferramenta SQLIOSim gerará um erro se não conseguir localizar o arquivo.
-save arquivo Salve a configuração resultante no arquivo de configuração. Use essa opção para criar o arquivo de configuração inicial.
-log arquivo Especifique o nome do arquivo de log de erros e o caminho do arquivo de log de erros. O nome do arquivo padrão é Sqliosim.log.xml.
-dir Dir Defina o local para criar o arquivo de dados (.mdf) e o arquivo de log (.ldf). Você pode executar esse comando várias vezes. Na maioria das vezes, esse local é a raiz de uma unidade ou um ponto de montagem de volume. Esse local pode ser um caminho longo ou um caminho UNC.
-d Segundos Defina a duração da execução principal. Esse valor exclui a fase de preparação e a fase de verificação.
-size MB Defina o tamanho inicial do arquivo de dados em megabytes (MB). O arquivo pode crescer até duas vezes o tamanho inicial. O tamanho do arquivo de log é calculado como metade do tamanho do arquivo de dados. No entanto, o arquivo de log não pode ser maior que 50 MB.

Arquivo de configuração do SQLIOSim

Use um arquivo de configuração junto com o SQLIOSim para ajudá-lo a escolher todas as configurações da simulação de E/S antecipadamente. Esse arquivo de configuração pode automatizar execuções do SQLIOSim.

Você pode baixar arquivos de configuração de exemplo para vários testes do repositório GitHub da equipe de suporte do SQL Server.

Você não precisa usar um arquivo de configuração. Se você não usar um arquivo de configuração, todos os parâmetros terão valores padrão, exceto o local do arquivo de dados e o local do arquivo de log. Você deve usar um dos seguintes métodos para especificar o local do arquivo de dados e o local do arquivo de log:

  • Use os parâmetros de linha de comando no arquivo SQLIOSIM.COM .
  • Use a caixa de diálogo Arquivos e Configuração depois de executar o arquivo SQLIOSim.exe .
  • Use a seção Arquivo<N> do arquivo de configuração.

Arquivos de configuração de amostra

Use estes cinco arquivos de configuração de exemplo para execuções automatizadas do SQLIOSim.

Arquivo de exemplo Descrição Parâmetros que diferem do arquivo de configuração padrão
sqliosim.default.cfg.ini
sqliosim.hwcache.cfg.ini - Minimiza leituras

- Mantém os arquivos pequenos para mantê-los totalmente na memória

- Sem leituras sequenciais
Para a seção AuditUser e para a seção ReadAheadUser :

CacheHitRatio=10000
UserCount=0
sqliosim.nothrottle.cfg.ini - Remove limitação de E/S

- Minimiza o tempo de espera para aumentar o volume de E/S
TargetIODuration=1000000
AuditDelay=10
RADelay=10
sqliosim.seqwrites.cfg.ini - Minimiza leituras

- Mantém os arquivos pequenos para mantê-los totalmente na memória

- Torna os arquivos não encolhiveis

- Sem leituras sequenciais

- Sem acesso aleatório

- Atualização em massa em grandes partes sem atrasos
Shrinkable=FALSE

Para as seções AuditUser, ReadAheadUser e RandomUser :

CacheHitRatio=10000
ForceReadAhead=FALSE
BuffersBUMin=600
BuffersBUMax=1000
BUDelay=1
UserCount=0
sqliosim.sparse.cfg.ini - Usa apenas 32 MB de memória

- Aumenta a duração da E/S do alvo o suficiente para permitir muitas solicitações de E/S pendentes

- Desabilita APIs de dispersão/coleta para emitir solicitações de E/S separadas para cada página de 8 KB

- Cria um arquivo não encolhível de 1 GB

- Cria um fluxo esparso secundário não encolhível de 1 GB no arquivo
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

Advertências sobre valores de parâmetro

  • Se o nome do parâmetro indicar que o parâmetro é uma proporção ou uma porcentagem, o valor do parâmetro será expresso como a porcentagem ou a proporção dividida por 0,01. Por exemplo, o valor do CacheHitRatio parâmetro é 10 percent. Esse valor é expresso como 1000 porque 10 dividido por 0,01 é igual a 1000. O valor máximo de um parâmetro de porcentagem é 10000.
  • Se o tipo de parâmetro for numérico e você atribuir um valor não numérico ao parâmetro, a ferramenta SQLIOSim definirá o parâmetro como 0.
  • Se o tipo de parâmetro for booliano, os valores válidos que você pode atribuir ao parâmetro serão true e false. Além disso, os valores são sensíveis a diferenças entre maiúsculas e minúsculas. A ferramenta SQLIOSim ignora quaisquer valores inválidos.
  • Se um par de parâmetros indicar um valor mínimo e um valor máximo, o valor mínimo não deve exceder o valor máximo. Por exemplo, o MinIOChainLength valor do parâmetro não deve ser maior que o valor do MaxIOChainLength parâmetro.
  • Se o parâmetro indicar várias páginas, a ferramenta SQLIOSim verificará o valor que você atribui ao parâmetro no arquivo que a ferramenta SQLIOSim processa. A ferramenta SQLIOSim executa essa verificação para garantir que o número de páginas não exceda o tamanho do arquivo.

Seções do arquivo de configuração

O arquivo de configuração contém várias seções:

Cada seção de configuração é descrita na seção a seguir.

Seção CONFIG

A ferramenta SQLIOSim usa os valores especificados na seção CONFIG do arquivo de configuração SQLIOSim para estabelecer o comportamento de teste global.

Parâmetro Valor padrão Descrição Comentários
ErrorFile sqliosim.log.xml Nome do arquivo de log do tipo XML
CPUCount Número de CPUs no computador Número de CPUs lógicas a serem criadas O máximo é de 64 CPUs.
Affinity 0 Máscara de afinidade de CPU física para ser aplicada a CPUs lógicas A máscara de afinidade deve estar dentro da máscara de CPU ativa. Um valor que 0 significa que todas as CPUs disponíveis são usadas.
MaxMemoryMB Memória física disponível quando a ferramenta SQLIOSim é iniciada Tamanho do buffer pool em MB O valor não pode exceder a quantidade total de memória física no computador.
StopOnError true Interrompe a simulação quando ocorre o primeiro erro
TestCycles 1 Número de ciclos de teste completos a serem executados Um valor de 0 indica um número infinito de ciclos de teste.
TestCycleDuration 300 Duração de um ciclo de teste em segundos, excluindo a passagem da auditoria no final do ciclo
CacheHitRatio 1000 Taxa de ocorrência de cache simulada quando a ferramenta SQLIOSim lê do disco
MaxOutstandingIO 0 Número máximo de operações de E/S pendentes que são permitidas em todo o processo O valor não pode exceder 140.000. Um valor de 0 significa que até aproximadamente 140.000 operações de E/S são permitidas. Esse é o limite da ferramenta.
TargetIODuration 100 Duração das operações de E/S, em milissegundos, direcionadas pela limitação Se a duração média de E/S exceder a duração de E/S de destino, a ferramenta SQLIOSim limitará o número de operações de E/S pendentes para diminuir a carga e melhorar o tempo de conclusão de E/S.
AllowIOBursts true Possibilitar a desativação da limitação para enviar muitas solicitações de E/S As intermitências de E/S são habilitadas durante a atualização inicial, o ponto de verificação inicial e as passagens finais do ponto de verificação no final dos ciclos de teste. O MaxOutstandingIO parâmetro ainda é respeitado. Você pode esperar avisos de I/O longos.
NoBuffering true Use a opção FILE_FLAG_NO_BUFFERING O SQL Server abre arquivos de banco de dados usando FILE_FLAG_NO_BUFFERING == true. Alguns utilitários e serviços, como Analysis Services, usam FILE_FLAG_NO_BUFFERING == false. Para testar totalmente um servidor, execute um teste para cada configuração.
WriteThrough true Use a opção FILE_FLAG_WRITE_THROUGH O SQL Server abre arquivos de banco de dados usando FILE_FLAG_WRITE_THROUGH == true. No entanto, algumas ferramentas e serviços abrem os arquivos de banco de dados usando FILE_FLAG_WRITE_THROUGH == false. Por exemplo, SQL Server Analysis Services abre os arquivos de banco de dados usando FILE_FLAG_WRITE_THROUGH == false. Para testar totalmente um servidor, execute um teste para cada configuração.
ScatterGather true Uso ReadScatter ou WriteGather APIs Se você definir esse parâmetro como true, o NoBuffering parâmetro também será definido como true.

O SQL Server usa E/S de dispersão/coleta para a maioria das solicitações de E/S.
ForceReadAhead true Execute uma operação de leitura antecipada mesmo se os dados já estiverem lidos. A ferramenta SQLIOSim emite o comando de leitura mesmo que a página de dados já esteja no pool de buffers.

O Suporte do Microsoft SQL Server usou com êxito a configuração true para expor problemas de E/S.
DeleteFilesAtStartup true Excluir arquivos na inicialização se houver arquivos Um arquivo pode conter vários fluxos de dados. Somente os fluxos especificados na entrada File <N> FileName são truncados no arquivo. Se o fluxo padrão for especificado, todos os fluxos serão excluídos.
DeleteFilesAtShutdown false Excluir arquivos após a conclusão do teste Um arquivo pode conter vários fluxos de dados. Somente os fluxos de dados que você especifica na entrada File <N> FileName são truncados no arquivo. Se o fluxo de dados padrão for especificado, a ferramenta SQLIOSim excluirá todos os fluxos de dados.
StampFiles false Expanda o arquivo carimbando zeros Esse processo pode levar muito tempo se o arquivo for grande. Se você definir esse parâmetro como false, a ferramenta SQLIOSim estenderá o arquivo definindo um marcador de dados válido.

O SQL Server 2005 usa o recurso de inicialização instantânea de arquivos para arquivos de dados. Se o arquivo de dados for um arquivo de log ou se a inicialização instantânea de arquivo não estiver habilitada, o SQL Server executará carimbo zero. As versões do SQL Server anteriores ao SQL Server 2000 sempre executam carimbo zero.

Você deve alterar o valor do parâmetro StampFiles durante os testes para garantir que tanto a inicialização instantânea do arquivo quanto a zeragem estejam funcionando corretamente.

Seção Arquivo<N>

A ferramenta SQLIOSim foi projetada para permitir vários testes de arquivo. A File<N> seção é representada como [File1], [File2] para cada arquivo no teste.

Parâmetro Valor padrão Descrição Comentários
FileName Nenhum valor padrão Caminho e nome do arquivo O FileName parâmetro pode ser um caminho longo ou um caminho UNC. Ele também pode incluir um nome e um tipo de stream secundário. Por exemplo, o FileName parâmetro pode ser definido como file.mdf:stream2.

OBSERVAÇÃO No SQL Server 2005, as operações DBCC usam fluxos. Os testes de fluxo são recomendados.
InitialSize Nenhum valor padrão Tamanho inicial em MB Se o arquivo existente for maior que o valor especificado para o InitialSize parâmetro, a ferramenta SQLIOSim não reduzirá o arquivo existente. Se o arquivo existente for menor, a ferramenta SQLIOSim expandirá o arquivo existente.
MaxSize Nenhum valor padrão Tamanho máximo em MB Um arquivo não pode crescer mais do que o valor especificado para o MaxSize parâmetro.
Increment 0 Tamanho em MB do incremento pelo qual o arquivo aumenta ou diminui. Para obter mais informações, consulte a ShrinkUser seção deste artigo. A ferramenta SQLIOSim ajusta o Increment parâmetro na inicialização para que a situação seja estabelecida: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles.
Se o valor Increment for 0, a ferramenta SQLIOSim definirá o arquivo como não encolhível.
Shrinkable falso Indica se o arquivo pode ser reduzido ou expandido Se você definir o parâmetro Increment como 0, o arquivo será definido como não encolhível. Nesse caso, você deve definir o Shrinkable parâmetro como false. Se você definir o Increment parâmetro como um valor diferente de 0, definirá o arquivo como encolhedor. Nesse caso, você deve definir o Shrinkable parâmetro como true.
Sparse false Indica se o Sparse atributo deve ser definido nos arquivos Para arquivos existentes, a ferramenta SQLIOSim não limpa o Sparse atributo quando você define o Sparse parâmetro como false.

O SQL Server 2005 usa arquivos esparsos para oferecer suporte a bancos de dados de instantâneo e aos fluxos DBCC secundários.

Habilite tanto o arquivo esparso quanto os fluxos e depois faça um teste.

NOTA Se você definir Sparse = true para as configurações do arquivo, não especifique NoBuffering = false na config seção. Se você usar essas duas combinações conflitantes, poderá receber uma mensagem de erro semelhante à seguinte da ferramenta:

Erro:-=====Erro: 0x80070467
Texto do erro: Ao acessar o disco rígido, uma operação de disco falhou mesmo após novas tentativas.
Descrição: Falha na validação do buffer em C:\SQLIOSim.mdx Página: 28097
LogFile false Indica se um arquivo contém dados de log de transações ou do usuário Defina pelo menos um arquivo de log.

Seção RandomUser

A ferramenta SQLIOSim usa os valores especificados na seção RandomUser para simular um trabalho de SQL Server que está executando operações de consulta aleatórias, como padrões de E/S do OLTP (Processamento de Transações Online).

Parâmetro Valor padrão Descrição Comentários
UserCount -1 Número de threads de acesso aleatório que estão sendo executados ao mesmo tempo O valor não pode exceder o valor: CPUCount*1023-100.
O número total de todos os usuários também não pode exceder esse valor. Um valor de zero (0) significa que você não pode criar usuários de acesso aleatório. Um valor de -1 significa que você deve usar a configuração automática do valor: min(CPUCount*2, 8).
NOTE Um sistema de SQL Server pode ter milhares de sessões. A maioria das sessões não tem solicitações ativas. Use a função count(*) em consultas na exibição de gerenciamento dinâmico sys.dm_exec_requests (DMV) como referência para estabelecer este valor de parâmetro de teste.

CPUCount aqui se refere ao valor do CPUCount parâmetro na CONFIG seção.

O min(CPUCount*2, 8) valor resulta no menor dos valores entre CPUCount*2 e 8.
JumpToNewRegionPercentage 500 A chance de um salto para uma nova região do arquivo O início da região é selecionado aleatoriamente. O tamanho da região é um valor aleatório entre o valor do MinIOChainLength parâmetro e o valor do MaxIOChainLength parâmetro.
MinIOChainLength 1 Tamanho mínimo da região nas páginas
MaxIOChainLength 100 Tamanho máximo da região em páginas O SQL Server 2005 Edição Enterprise e o SQL Server 2000 Edição Enterprise podem ler antecipadamente até 1.024 páginas.

O valor mínimo é 0. O valor máximo é limitado pela memória do sistema.

Normalmente, a atividade aleatória do usuário faz com que ocorram pequenas operações de verificação. Use os valores especificados na ReadAheadUser seção para simular operações de varredura maiores.
RandomUserReadWriteRatio 9000 Porcentagem de páginas a serem atualizadas Uma cadeia de comprimento aleatório é selecionada na região e pode ser lida. Esse parâmetro define a porcentagem das páginas a serem atualizadas e gravadas no disco.
MinLogPerBuffer 64 Tamanho mínimo do registro de log em bytes O valor deve ser um múltiplo do tamanho do setor em disco ou um tamanho que se ajuste uniformemente ao tamanho do setor em disco.
MaxLogPerBuffer 8192 Tamanho máximo do registro de log em bytes Esse valor não pode exceder 64.000. O valor deve ser um múltiplo do tamanho do setor em disco.
RollbackChance 100 A chance de que ocorra uma operação na memória que faça com que ocorra uma operação de reversão. Quando essa operação de reversão ocorre, o SQL Server não grava no arquivo de log.
SleepAfter 5 Tempo de sono após cada ciclo, em milissegundos

Seção AuditUser

A ferramenta SQLIOSim usa os valores especificados na seção AuditUser para simular a atividade DBCC e para ler e auditar as informações sobre a página. A validação ocorre mesmo se o valor do UserCount parâmetro for definido como 0.

Parâmetro Valor padrão Descrição Comentários
UserCount 2 Número de threads de auditoria O valor não pode exceder o seguinte valor: CPUCount*1023-100.
O número total de todos os usuários também não pode exceder esse valor. Um valor de 0 significa que você não pode criar usuários de acesso aleatório. Um valor de -1 significa que você deve usar a configuração automática do valor: min(CPUCount*2, 8).
NOTA Um sistema SQL Server pode ter milhares de sessões. A maioria das sessões não tem solicitações ativas. Use a função count(*) em consultas no sys.dm_exec_requests DMV como referência para estabelecer esse valor de parâmetro de teste.

CPUCount aqui se refere ao valor do CPUCount parâmetro na CONFIG seção.

O min(CPUCount*2, 8) valor produz o menor dos valores entre CPUCount*2 e 8.
BuffersValidated 64
DelayAfterCycles 2 Aplique o parâmetro AuditDelay após a conclusão do número de ciclos de BuffersValidated
AuditDelay 200 Número de milissegundos de espera após cada DelayAfterCycles operação

Seção ReadAheadUser

A ferramenta SQLIOSim usa os valores especificados na seção ReadAheadUser para simular a atividade de leitura antecipada do SQL Server. O SQL Server aproveita a atividade de leitura antecipada para maximizar os recursos de E/S assíncrona e limitar os atrasos de consulta.

Parâmetro Valor padrão Descrição Comentários
UserCount 2 Número de threads para pré-leitura O valor não pode exceder o seguinte valor: CPUCount*1023-100.
O número total de todos os usuários também não pode exceder esse valor. Um valor de 0 significa que você não pode criar usuários de acesso aleatório. Um valor de -1 significa que você deve usar a configuração automática do seguinte valor: min(CPUCount*2, 8).
OBSERVAÇÃO Um sistema SQL Server pode ter milhares de sessões. A maioria das sessões não tem solicitações ativas. Use a função count(*) em consultas no DMV sys.dm_exec_requests como uma referência para estabelecer esse valor de parâmetro de teste.

CPUCount aqui se refere ao valor do CPUCount parâmetro na seção CONFIG.

O min(CPUCount*2, 8) valor resulta no menor dos valores entre CPUCount*2 e 8.
BuffersRAMin 32 Número mínimo de páginas a serem lidas por ciclo O valor mínimo é 0. O valor máximo é limitado pela memória do sistema.
BuffersRAMax 64 Número máximo de páginas a serem lidas por ciclo As edições do SQL Server Enterprise podem ler até 1.024 páginas em uma única solicitação. Se você instalar SQL Server em um computador que tenha muitos recursos de CPU, memória e disco, aumente o tamanho do arquivo e o tamanho de leitura antecipada.
DelayAfterCycles 2 Aplique o RADelay parâmetro após a conclusão do número especificado de ciclos
RADelay 200 Número de milissegundos de espera após cada DelayAfterCycles operação

Seção BulkUpdateUser

A ferramenta SQLIOSim usa os valores que você especifica na seção BulkUpdateUser para simular operações em massa, como SELECT...INTO operações e BULK INSERT operações.

Parâmetro Valor padrão Descrição Comentários
UserCount -1 Número de BULK UPDATE threads O valor não pode exceder o seguinte valor: CPUCount*1023-100
Um valor de -1 significa que você deve usar a configuração automática do seguinte valor: min(CPUCount*2, 8).
OBSERVAÇÃO Um sistema SQL Server pode ter milhares de sessões. A maioria das sessões não tem solicitações ativas. Use a função count(*) em consultas no DMV sys.dm_exec_requests como uma referência para estabelecer esse valor de parâmetro de teste.

CPUCount aqui se refere ao valor do CPUCount parâmetro na CONFIG seção.

O min(CPUCount*2, 8) valor resulta no menor dos valores entre CPUCount*2 e 8.
BuffersBUMin 64 Número mínimo de páginas a serem atualizadas por ciclo
BuffersBUMax 128 Número máximo de páginas a serem atualizadas por ciclo O valor mínimo é 0. O valor máximo é limitado pela memória do sistema.
DelayAfterCycles 2 Aplique o BUDelay parâmetro após a conclusão do número especificado de ciclos
BUDelay 10 Número de milissegundos de espera após cada DelayAfterCycles operação

Seção ShrinkUser

A ferramenta SQLIOSim usa os valores especificados na seção ShrinkUser para simular operações de redução de DBCC. A ferramenta SQLIOSim também pode usar a ShrinkUser seção para fazer o arquivo crescer.

Parâmetro Valor padrão Descrição
MinShrinkInterval 120 Intervalo mínimo entre operações de redução em segundos
MaxShrinkInterval 600 Intervalo máximo entre as operações de redução em segundos
MinExtends 1 Número mínimo de incrementos pelos quais a ferramenta SQLIOSim cresce ou reduz o arquivo
MaxExtends 20 Número máximo de incrementos pelos quais a ferramenta SQLIOSim aumenta ou reduz o arquivo

Comentários do arquivo .ini

O caractere ponto-e-vírgula (;) no início de uma linha no arquivo de configuração .ini faz com que a linha seja tratada como um único comentário.

Criação de arquivo

A ferramenta SQLIOSim cria arquivos de dados e arquivos de log separados para simular os padrões de E/S gerados SQL Server em seu arquivo de dados e em seu arquivo de log. A ferramenta SQLIOSim não usa o mecanismo de SQL Server para executar a atividade de estresse. Portanto, você pode usar a ferramenta SQLIOSim para testar um computador antes de instalar SQL Server.

Ao executar a ferramenta SQLIOSim, especifique o mesmo local de arquivo usado para seus arquivos de banco de dados SQL Server. Quando você faz isso, a ferramenta simula o mesmo caminho de E/S usado pelo banco de dados SQL Server.

Você pode ativar os atributos de compactação ou criptografia para os arquivos de teste existentes. Você também pode habilitar esses atributos para o diretório existente em que os arquivos de teste são criados. As opções correspondentes para habilitar esses atributos estão localizadas na caixa de diálogo Propriedades de um arquivo ou diretório.

Por padrão, a ferramenta SQLIOSim cria arquivos de teste que têm as extensões de nome de arquivo .mdx e .ldx . Portanto, esses arquivos não substituem arquivos de log e dados existentes.

Aviso

Para evitar perder seus dados reais de SQL Server, não especifique arquivos de banco de dados SQL Server reais para teste. A ferramenta SQLIOSim substitui os dados usando padrões de teste aleatórios.

Log de erro e tratamento de erros do SQLIOSim

A ferramenta SQLIOSim cria o arquivo de log de erros em um dos seguintes locais:

  • O local especificado no parâmetro de inicialização do log
  • A localização que você especifica na linha ErrorFile= no arquivo Sqliosim.cfg.ini

O log de erros SQLIOSim.log.xml contém detalhes sobre a execução. Esses detalhes incluem informações de erro. Revise o log cuidadosamente para obter informações de erro e aviso.

Observação

Se você tiver um erro na ferramenta SQLIOSim, peça ao fabricante de hardware para ajudar a determinar a causa raiz do problema. O problema também pode ser causado por um driver de dispositivo, driver de filtro do sistema de arquivos (por exemplo, software antivírus) ou o sistema operacional.

Várias cópias

A ferramenta SQLIOSim dá suporte a testes em nível de arquivo múltiplo e testes em nível de usuário múltiplo. A ferramenta SQLIOSim não requer várias invocações. Você poderá executar várias cópias da ferramenta SQLIOSim se as seguintes condições forem verdadeiras:

  • Todas as cópias fazem referência a arquivos de teste exclusivos para cada instância da ferramenta.
  • O MaxMemoryMB parâmetro de cada instância fornece uma região de memória não sobreposta suficiente para cada instância.

A soma do MaxMemoryMB parâmetro para cada instância deve ser menor ou igual à memória física total. Algumas fases de teste, como simulação de ponto de verificação, podem ter uso intensivo de memória e podem criar condições de memória insuficiente ao executar várias cópias. Se você tiver erros de esgotamento da memória, reduza o número de cópias de ferramentas em execução.