Usar o utilitário SQLIOSim para simular a atividade do SQL Server em um subsistema de disco
Este artigo descreve como usar o utilitário SQLIOSim para executar testes de estresse em subsistemas de disco para simular a atividade do SQL Server.
Versão original do produto: SQL Server
Número original do KB: 231619
Introdução
Este artigo descreve a ferramenta SQLIOSim. Você pode usar o SQLIOSim para executar testes de confiabilidade e integridade em subsistemas de disco que o SQL Server utiliza. Esses testes SQLIOSim simulam atividades de leitura, gravação, ponto de verificação, backup, classificação e leitura antecipada que o Microsoft SQL Server faz. Para obter mais informações sobre os padrões de E/S do SQL Server, consulte Noções básicas de E/S do SQL Server, Capítulo 2. O utilitário SQLIOSim executa essa simulação independentemente do mecanismo do SQL Server.
O objetivo principal dos testes de simulação de E/S é garantir a confiabilidade do subsistema de E/S subjacente antes que o SQL Server comece a usá-lo. O SQLIOSim não interage com o SQL Server e nem mesmo requer que o SQL Server esteja em execução. Na verdade, na maioria dos casos, recomendamos que você use SQLIOSim quando o SQL Server não estiver em execução para evitar a competição pela taxa de transferência de E/S entre os dois aplicativos. Tenha muito cuidado para não apontar ou usar os arquivos de banco de dados reais do SQL Server em seu teste SQLIOSim, pois você pode substituí-los.
Para ajudar a manter a integridade de dados apropriada, recomendamos que você execute testes de estresse do subsistema de E/S antes de implantar o SQL Server em um novo hardware. O utilitário SQLIOSim simula os padrões de leitura e gravação e as técnicas de identificação de problemas do SQL Server. Para executar essas tarefas, o utilitário SQLIOSim simula a atividade do usuário e a atividade do sistema de um sistema SQL Server.
O utilitário SQLIOSim não garante a segurança ou integridade dos dados. O utilitário foi projetado para fornecer testes de linha de base de um ambiente de sistema. O utilitário SQLIOSim 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 fazer testes de benchmark de desempenho e quiser determinar a capacidade de throughput de I/O do sistema de armazenamento, use a ferramenta Diskspd .
O utilitário SQLIOSim substitui o utilitário SQLIOStress, que antes era conhecido como utilitário SQL70IOStress.
Localização do SQLIOSim
No passado, o SQLIOSim era enviado como um pacote de download separado. A partir do SQL Server 2008, o SQLIOSim está incluído na instalação do produto SQL Server. Ao instalar o SQL Server, você pode encontrar a ferramenta SQLIOSim na pasta \Binn da instalação do SQL Server. Recomendamos que você use esta versão atualizada da ferramenta para simular a atividade de E/S no subsistema de disco.
Três arquivos fazem parte do pacote SQLIOSim. 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. Para fazer essa configuração, você pode usar parâmetros de linha de comando, um arquivo de configuração ou uma combinação desses dois 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.
- Você também pode usar arquivos de configuração para ajudar a automatizar a simulação de E/S com SQLIOSim. Para obter mais informações, consulte a seção Arquivo de configuração SQLIOSim.
Usar SQLIOSim em um computador sem SQL Server
Recomendamos que você use o SQLIOSim para um teste estendido em um computador antes de instalar o SQL Server. Use-o para testar o subsistema de E/S no qual você planeja colocar dados e arquivos de log no futuro e garantir a confiabilidade do subsistema de E/S. Para realizar essa tarefa, considere copiar os três arquivos SQLIOSim de um computador em que o SQL Server está instalado e executar os testes antes de uma instalação do 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 nessa máquina.
Como usar o SQLIOSim
Você não precisa do serviço SQL Server em execução enquanto estiver executando o SQLIOSim. Na verdade, recomendamos que você não execute o SQL Server enquanto o SQLIOSim estiver em execução, pois eles podem competir por recursos de E/S.
Aviso
Não especifique os arquivos de banco de dados reais do SQL Server para teste. O utilitário SQLIOSim substituirá os dados por padrões de teste aleatórios e seus dados reais do SQL Server serão perdidos.
Os próximos exemplos ilustram como executar o SQLIOSim usando a GUI e a linha de comando.
Exemplo 1: Usar a GUI
Vá para C:\Arquivos de Programas\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.
Inicie o aplicativo SQLIOSIM.EXE . Você pode ver a janela Arquivos e Configuração , que contém algumas configurações padrão. Você pode modificar essas configurações para atender às suas necessidades de configuração.
Realce o primeiro arquivo mdx C:\temp\sqliosim\sqliosim.mdx na lista. Este arquivo é o equivalente a um arquivo de dados.
Modifique as configurações do arquivo alterando seu local, tamanho, tamanho máximo ou incremento. Mantenha o arquivo de log desmarcado, pois deseja simular um arquivo de dados. Em seguida, selecione o botão Aplicar.
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.
Modifique o segundo arquivo com o sufixo ldx . Esse arquivo representa o equivalente a um arquivo de log de transações. Certifique-se de manter a caixa de seleção Arquivo de log ativada. Ao concluir, selecione Aplicar.
Você pode adicionar mais arquivos à lista selecionando a opção Novo arquivo no centro da tela dentro da grade tabular. Depois de selecionar Novo arquivo, você pode digitar o local do arquivo e escolher as configurações restantes. Não se esqueça de selecionar Aplicar. Veja um exemplo:
Quando estiver satisfeito com sua configuração, selecione o botão OK .
Selecione Iniciar do Simulador>para executar a simulação de E/S do SQL. Como alternativa, você pode selecionar F12 ou o botão mais à esquerda com um círculo verde dentro dele.
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
Modifique o arquivo sqliosim.default.cfg.ini removendo os comentários das seções e
File2
modificando osFileName
valores para novosFile1
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
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 comando 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 do utilitário SQLIOSim fornece controle de comportamento avançado. Quando 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 | Comentário |
---|---|
-cfg arquivo |
Substitua o Sqliosim.cfg.ini arquivo de configuração padrão. O utilitário SQLIOSim retornará um erro se o utilitário não puder encontrar o arquivo. |
-save arquivo |
Salve a configuração resultante no arquivo de configuração. Você pode usar 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 dos casos, esse local é uma raiz de 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
Você pode usar um arquivo de configuração com SQLIOSim para ajudá-lo a escolher todas as configurações para a simulação de E/S antecipadamente. Esse arquivo de configuração pode ajudar a automatizar as execuções do SQLIOSim.
Os arquivos de configuração de exemplo para vários testes podem ser baixados 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
Cinco arquivos de configuração de exemplo estão disponíveis se você quiser usá-los 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 | - Minimize as leituras - Os arquivos são feitos 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 | - Remova a limitação de E/S - Minimize o tempo de espera para aumentar o volume de E/S |
TargetIODuration=1000000 AuditDelay=10 RADelay=10 |
sqliosim.seqwrites.cfg.ini | - Minimize as leituras - Os arquivos são feitos pequenos para mantê-los totalmente na memória - Os arquivos não podem ser reduzidos - 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 | - Use apenas 32 MB de memória - Tornar a duração de E/S de destino grande o suficiente para permitir muitas solicitações de E/S pendentes - Desative APIs de dispersão/coleta para emitir solicitações de E/S separadas para cada página de 8 KB - Crie um arquivo não encolhível de 1 GB - Crie 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 porque1000
10 dividido por 0,01 é1000
igual a . 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, o utilitário SQLIOSim definirá o parâmetro como
0
. - Se o tipo de parâmetro for
Boolean
, os valores válidos que você pode atribuir ao parâmetro sãotrue
efalse
. Além disso, os valores diferenciam maiúsculas de minúsculas. O utilitário 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 doMaxIOChainLength
parâmetro. - Se o parâmetro indicar um número de páginas, o utilitário SQLIOSim verificará o valor atribuído ao parâmetro em relação ao arquivo que o utilitário SQLIOSim processa. O utilitário 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
Existem várias seções no arquivo de configuração:
- [CONFIGURAÇÃO]
- [Usuário aleatório]
- [Usuário de auditoria]
- [ReadAheadUser]
- [BulkUpdateUser]
- [Usuário de encolhimento]
- [Arquivo<N>] (o espaço reservado
<N>
é um número)
Cada uma dessas seções é descrita na seção a seguir.
Seção CONFIG
O utilitário 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 | Comments |
---|---|---|---|
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 a ser aplicada a CPUs lógicas | A máscara de afinidade deve estar dentro da máscara de CPU ativa. Um valor de 0 significa que todas as CPUs disponíveis serão usadas. |
MaxMemoryMB |
Memória física disponível quando o utilitário SQLIOSim é iniciado | 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 aprovação de auditoria no final do ciclo | |
CacheHitRatio |
1000 | Taxa de acertos do cache simulado quando o utilitário 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 significa que até aproximadamente 140.000 operações de 0 E/S são permitidas. Este é o limite da utilidade. |
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, o utilitário 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 | Permitir desativar a limitação para postar 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 E/S longos. |
NoBuffering |
true | Use a FILE_FLAG_NO_BUFFERING opção |
O SQL Server abre arquivos de banco de dados usando FILE_FLAG_NO_BUFFERING == true o . Alguns utilitários e serviços, como o Analysis Services, usam FILE_FLAG_NO_BUFFERING == false o . Para testar totalmente um servidor, execute um teste para cada configuração. |
WriteThrough |
true | Use a FILE_FLAG_WRITE_THROUGH opção |
O SQL Server abre arquivos de banco de dados usando FILE_FLAG_WRITE_THROUGH == true o . No entanto, alguns utilitários e serviços abrem os arquivos de banco de dados usando FILE_FLAG_WRITE_THROUGH == false o . 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 esse parâmetro for definido 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 que os dados já tenham sido lidos | O utilitário SQLIOSim emite o comando read mesmo que a página de dados já esteja no buffer pool. 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 File <N> FileName fluxos especificados na entrada 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 File <N> FileName fluxos de dados especificados na entrada são truncados no arquivo. Se o fluxo de dados padrão for especificado, o utilitário 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, o utilitário 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 durante o StampFiles teste para garantir que a inicialização instantânea do arquivo e o carimbo zero estejam funcionando corretamente. |
Seção Arquivo<N>
O utilitário SQLIOSim foi projetado para permitir vários testes de arquivos. A File<N>
seção é representada como [File1]
, [File2]
para cada arquivo no teste.
Parâmetro | Valor padrão | Descrição | Comments |
---|---|---|---|
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 fluxo 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. Recomendamos que você execute testes de fluxo. |
InitialSize |
Nenhum valor padrão | Tamanho inicial em MB | Se o arquivo existente for maior que o valor especificado para o InitialSize parâmetro, o utilitário SQLIOSim não reduzirá o arquivo existente. Se o arquivo existente for menor, o utilitário 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. |
O utilitário SQLIOSim ajusta o Increment parâmetro na inicialização para que a situação seja estabelecida: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles .Se o valor de Increment for 0 , o utilitário SQLIOSim definirá o arquivo como não encolhedor. |
Shrinkable |
false | Indica se o arquivo pode ser reduzido ou expandido | Se você definir o Increment parâmetro como 0 , definirá o arquivo como não encolhendo. 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 atributo Sparse deve ser definido nos arquivos | Para arquivos existentes, o utilitário SQLIOSim não limpa o atributo Sparse 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. Recomendamos que você habilite o arquivo esparso e os fluxos e, em seguida, execute uma passagem de 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 um erro semelhante ao 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 | Você deve definir pelo menos um arquivo de log. |
Seção RandomUser
O utilitário SQLIOSim usa os valores especificados na RandomUser
seção para simular um trabalho do SQL Server que está executando operações de consulta aleatórias, como padrões de E/S OLTP (Processamento de Transações Online).
Parâmetro | Valor padrão | Descrição | Comments |
---|---|---|---|
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) .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 count(*) função em consultas na sys.dm_exec_requests DMV (exibição de gerenciamento dinâmico) como uma linha de base 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 . |
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 Enterprise Edition e o SQL Server 2000 Enterprise Edition 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
O utilitário SQLIOSim usa os valores especificados na seção para simular a AuditUser
atividade DBCC 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 | Comments |
---|---|---|---|
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) .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 count(*) função em consultas no sys.dm_exec_requests DMV como uma linha de base 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 . |
BuffersValidated |
64 | ||
DelayAfterCycles |
2 | Aplique o parâmetro AuditDelay após a conclusão do número de ciclos BuffersValidated | |
AuditDelay |
200 | Número de milissegundos de espera após cada DelayAfterCycles operação |
Seção ReadAheadUser
O utilitário SQLIOSim usa os valores especificados na seção para simular a ReadAheadUser
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 | Comments |
---|---|---|---|
UserCount |
2 | Número de threads de leitura antecipada | 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 count(*) função em consultas no sys.dm_exec_requests DMV como uma linha de base 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 o SQL Server em um computador que tenha muitos recursos de CPU, memória e disco, recomendamos aumentar o tamanho do arquivo e o tamanho da 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
O utilitário SQLIOSim usa os valores especificados na BulkUpdateUser
seção para simular operações em massa, como SELECT...INTO
operações e BULK INSERT
operações.
Parâmetro | Valor padrão | Descrição | Comments |
---|---|---|---|
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 count(*) função em consultas no sys.dm_exec_requests DMV como uma linha de base 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
O utilitário SQLIOSim usa os valores especificados na ShrinkUser
seção para simular operações de redução DBCC. O utilitário 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 o utilitário SQLIOSim aumentará ou reduzirá o arquivo |
MaxExtends |
20 | Número máximo de incrementos pelos quais o utilitário SQLIOSim aumentará ou reduzirá o arquivo |
Configuração .ini comentários de arquivo
O caractere de ponto-e-vírgula (;) no início de uma linha no arquivo de .ini de configuração faz com que a linha seja tratada como um único comentário.
Criação de arquivo
O utilitário SQLIOSim cria arquivos de dados e arquivos de log separados para simular os padrões de E/S que o SQL Server gera em seu arquivo de dados e em seu arquivo de log. O utilitário SQLIOSim não usa o mecanismo do SQL Server para executar atividades de estresse. Portanto, você pode usar o utilitário SQLIOSim para testar um computador antes de instalar o SQL Server.
Ao executar o utilitário SQLIOSim, certifique-se de especificar o mesmo local de arquivo usado para os arquivos de banco de dados do SQL Server. Quando você faz isso, o utilitário simula o mesmo caminho de E/S que o banco de dados do 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 onde os arquivos de teste serã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, o utilitário SQLIOSim cria arquivos de teste que têm as extensões de nome de arquivo .mdx e .ldx . Portanto, esses arquivos não substituirão os arquivos de log e dados existentes.
Aviso
Não especifique os arquivos de banco de dados reais do SQL Server para teste. O utilitário SQLIOSim substituirá os dados por padrões de teste aleatórios e seus dados reais do SQL Server serão perdidos.
Log de erros e tratamento do SQLIOSim
O utilitário SQLIOSim cria o arquivo de log de erros em um dos seguintes locais:
- O local especificado no parâmetro de inicialização do log
- O local especificado na
ErrorFile=
linha do 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 no utilitário SQLIOSim, recomendamos que você peça ao fabricante do 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, antivírus) ou sistema operacional.
Várias cópias
O utilitário SQLIOSim acomoda testes em vários níveis de arquivo e testes em vários níveis de usuário. O utilitário SQLIOSim não requer várias invocações. Você pode executar várias cópias do utilitário SQLIOSim se as seguintes condições forem verdadeiras:
- Todas as cópias fazem referência a arquivos de teste exclusivos por instância do utilitário.
- O
MaxMemoryMB
parâmetro de cada instância fornece uma região de memória não sobreposta que é 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 consumir muita memória e podem criar condições de falta de memória quando você executa várias cópias. Se ocorrer erros de falta de memória, você pode reduzir o número de cópias do utilitário em execução.