Use o utilitário SQLIOSim para simular SQL Server atividade 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 SQL Server atividade.
Versão original do produto: SQL Server
Número de KB original: 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 SQL Server utiliza. Esses testes SQLIOSim simulam atividades de leitura, gravação, ponto de verificação, backup, classificação e leitura antecipadas que a Microsoft SQL Server faz. Para obter mais informações sobre SQL Server padrões de E/S, consulte SQL Server Conceitos Básicos de E/S, Capítulo 2. O utilitário SQLIOSim executa essa simulação independentemente do mecanismo SQL Server.
O objetivo principal dos testes de simulação de E/S é garantir a confiabilidade do subsistema de E/S subjacente antes que seu SQL Server comece a usá-lo. O SQLIOSim não interage com SQL Server e nem sequer exige que SQL Server esteja em execução. Na verdade, na maioria dos casos, recomendamos que você use 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. Tenha muito cuidado para não apontar ou usar os arquivos de banco de dados SQL Server reais no teste SQLIOSim porque 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 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 de 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 nem garante a segurança ou integridade dos dados. O utilitário foi projetado para fornecer testes de linha de base de um ambiente do sistema. O utilitário SQLIOSim pode expor possíveis problemas de integridade de dados.
Para obter mais informações sobre registro em log e armazenamento de dados, consulte Descrição de algoritmos de registro em log e armazenamento de dados que estendem a confiabilidade dos dados em SQL Server.
Se você precisar fazer testes de benchmark de desempenho e quiser determinar a capacidade de taxa de transferência de E/S do sistema de armazenamento, use a ferramenta Diskspd .
O utilitário SQLIOSim substitui o utilitário SQLIOStress, que anteriormente era conhecido como utilitário SQL70IOStress.
Localização do SQLIOSim
No passado, o SQLIOSim foi enviado como um pacote de download separado. Começando com SQL Server 2008, o SQLIOSim está incluído na instalação do produto SQL Server. Ao instalar 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 de simulação de E/S idênticos.
- 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 de ambos os métodos.
- SQLIOSim.exe é um aplicativo GUI (gráfico) 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 DO SQLIOSim .
Usar SQLIOSim em um computador sem SQL Server
Recomendamos que você use 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 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 SQL Server está instalado e executar os testes antes de uma instalação SQL Server. Copie SQLIOSim.com, SQLIOSim.exee, opcionalmente, um ou mais 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 em execução enquanto executa o SQLIOSim. Na verdade, recomendamos que você não execute 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 SQL Server reais para teste. O utilitário SQLIOSim substituirá os dados com padrões de teste aleatórios e seus dados reais de 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 GUI
Acesse C:\Program Files\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 corresponder às suas necessidades de configuração.
Realce o primeiro arquivo mdxC:\temp\sqliosim\sqliosim.mdx na lista. Esse arquivo é o equivalente a um arquivo de dados.
Modifique as configurações do arquivo alterando sua localização, tamanho, tamanho máximo ou incremento. Mantenha o Arquivo de Log desmarcado conforme você 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 habilitada. Selecione Aplicar quando terminar.
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ê poderá digitar o local do arquivo e escolher as configurações restantes. Não se esqueça de selecionar Aplicar. Veja um exemplo:
Depois de estar satisfeito com sua configuração, selecione o botão OK .
Selecione Simulador>Iniciar para executar a simulação de IO 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
File1
seções eFile2
e modificando osFileName
valores 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
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 comutadores
Você pode testar vários volumes de disco ao mesmo tempo usando a opção -dir
. 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çãosqliosim.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 arquivo de configuração padrãoSqliosim.cfg.ini. O utilitário SQLIOSim retornará um erro se o utilitário não conseguir localizar 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 erro e o caminho do arquivo de log de erro. O nome do arquivo padrão é Sqliosim.log.xml. |
-dir
Dir |
Defina o local para criar o arquivo de dados (.mdf) e o arquivo 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 main. 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 SQLIOSim
Você pode usar um arquivo de configuração com SQLIOSim para ajudar a escolher todas as configurações para a simulação de E/S antecipadamente. Esse arquivo de configuração pode ajudar a automatizar execuções do SQLIOSim.
Arquivos de configuração de exemplo para vários testes podem ser baixados do repositório GitHub da equipe de suporte 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 receberã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 exemplo
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 | – Minimizar leituras - Os arquivos são 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 | - Remover limitação de E/S - Minimizar o tempo de espera para aumentar o volume de E/S |
TargetIODuration=1000000 AuditDelay=10 RADelay=10 |
sqliosim.seqwrites.cfg.ini | – Minimizar leituras - Os arquivos são pequenos para mantê-los totalmente na memória - Os arquivos são não encolhidos - 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 | - Usar apenas 32 MB de memória - Tornar a duração de E/S de destino grande o suficiente para habilitar muitas solicitações de E/S pendentes - Desabilitar APIs de dispersão/coleta para emitir solicitações de E/S separadas para cada página de 8 KB - Criar um arquivo não encolhível de 1 GB - Criar um fluxo esparso secundário não inafundá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 |
Ressalvas sobre valores de parâmetro
- Se o nome do parâmetro indicar que o parâmetro é uma razão ou uma porcentagem, o valor do parâmetro será expresso como o percentual ou a razão dividida por 0,01. Por exemplo, o valor do
CacheHitRatio
parâmetro é10 percent
. Esse valor é expresso como1000
porque 10 divididos por 0,01 é igual a1000
. O valor máximo de um parâmetro percentual é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 serãotrue
efalse
. Além disso, os valores são sensíveis a casos. O utilitário SQLIOSim ignora todos os 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 deverá exceder o valor máximo. Por exemplo, o valor do
MinIOChainLength
parâmetro não deve ser maior que o valor doMaxIOChainLength
parâmetro. - Se o parâmetro indicar várias páginas, o utilitário SQLIOSim verificará o valor atribuído ao parâmetro no arquivo que o utilitário SQLIOSim processa. O utilitário SQLIOSim executa esse marcar para garantir que o número de páginas não exceda o tamanho do arquivo.
Seções de arquivo de configuração
Há várias seções no arquivo de configuração:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
-
[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 de tipo XML | |
CPUCount |
Número de CPUs no computador | Número de CPUs lógicas para criar | O máximo é 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 pool de buffers no MB | O valor não pode exceder a quantidade total de memória física no computador. |
StopOnError |
verdadeiro | Interrompe a simulação quando o primeiro erro ocorre | |
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 o passe de auditoria no final do ciclo | |
CacheHitRatio |
1000 | Taxa de acerto de cache simulada quando o utilitário SQLIOSim lê no 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 do utilitário. |
TargetIODuration |
100 | Duração das operações de E/S, em milissegundos, que são direcionadas por 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 |
verdadeiro | Permitir desativar a limitação para postar muitas solicitações de E/S | As explosões de E/S são habilitadas durante a atualização inicial, o ponto de verificação inicial e as passagens de ponto de verificação final no final dos ciclos de teste. O MaxOutstandingIO parâmetro ainda está honrado. Você pode esperar avisos de E/S longos. |
NoBuffering |
verdadeiro | Usar a opção FILE_FLAG_NO_BUFFERING |
SQL Server abre arquivos de banco de dados usando FILE_FLAG_NO_BUFFERING == true . Alguns utilitários e serviços, como o Analysis Services, usam FILE_FLAG_NO_BUFFERING == false . Para testar totalmente um servidor, execute um teste para cada configuração. |
WriteThrough |
verdadeiro | Usar a opção FILE_FLAG_WRITE_THROUGH |
SQL Server abre arquivos de banco de dados usando FILE_FLAG_WRITE_THROUGH == true . No entanto, alguns utilitários 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 |
verdadeiro | Usar ReadScatter ou WriteGather APIs |
Se esse parâmetro for definido como true , o NoBuffering parâmetro também será definido como true .SQL Server usa E/S de dispersão/coleta para a maioria das solicitações de E/S. |
ForceReadAhead |
verdadeiro | Executar uma operação de leitura antecipada mesmo se os dados já estiverem lidos | O utilitário SQLIOSim emite o comando de leitura mesmo que a página de dados já esteja no pool de buffers. O Suporte de SQL Server da Microsoft usou com êxito a configuração verdadeira para expor problemas de E/S. |
DeleteFilesAtStartup |
verdadeiro | Excluir arquivos na inicialização se houver arquivos | Um arquivo pode conter vários fluxos de dados. Somente fluxos especificados na File <N> FileName entrada são truncados no arquivo. Se o fluxo padrão for especificado, todos os fluxos serão excluídos. |
DeleteFilesAtShutdown |
falso | Excluir arquivos após a conclusão do teste | Um arquivo pode conter vários fluxos de dados. Somente os fluxos de dados especificados na File <N> FileName 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 |
falso | 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. SQL Server 2005 usa o recurso de inicialização de arquivo instantâneo para arquivos de dados. Se o arquivo de dados for um arquivo de log ou se a inicialização de arquivo instantâneo não estiver habilitada, SQL Server executará zero carimbo. Versões de SQL Server anteriores a SQL Server 2000 sempre executam zero carimbo. Você deve alternar o valor do parâmetro durante o StampFiles teste para garantir que a inicialização de arquivo instantâneo e o carimbo zero estejam funcionando corretamente. |
Seção Arquivo<N>
O utilitário SQLIOSim foi projetado 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 | Comments |
---|---|---|---|
FileName |
Nenhum valor padrão | Nome e caminho 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 .NOTA Em SQL Server 2005, as operações DBCC usam fluxos. Recomendamos que você execute testes de fluxo. |
InitialSize |
Nenhum valor padrão | Tamanho inicial no 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 no MB | Um arquivo não pode crescer mais do que o valor que você especifica para o MaxSize parâmetro. |
Increment |
0 | Tamanho no MB do incremento pelo qual o arquivo cresce ou diminui. Para obter mais informações, confira 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 encolhível. |
Shrinkable |
falso | Indica se o arquivo pode ser reduzido ou expandido | Se você definir o Increment parâmetro como 0 , você definirá o arquivo 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 , você definirá o arquivo como recolhível. Nesse caso, você deve definir o Shrinkable parâmetro como true . |
Sparse |
falso | Indica se o atributo Esparso deve ser definido nos arquivos | Para arquivos existentes, o utilitário SQLIOSim não limpa o atributo Esparso quando você define o Sparse parâmetro como false.SQL Server 2005 usa arquivos esparsos para dar suporte a bancos de dados instantâneo e fluxos DBCC secundários. Recomendamos habilitar o arquivo esparso e os fluxos e, em seguida, executar um teste. NOTA Se você definir Sparse = true para as configurações de arquivo, não especifique NoBuffering = false na config seção. Se você usar essas duas combinações conflitantes, poderá receber um erro que se assemelha ao seguinte da ferramenta:Erro:-=====Error: 0x80070467 Texto de 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 na página C:\SQLIOSim.mdx: 28097 |
LogFile |
falso | Indica se um arquivo contém dados de log de usuário ou transação | 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 SQL Server trabalho que está executando operações de consulta aleatórias, como padrões de E/S de Processamento de Transações Online (OLTP).
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órios. 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 count(*) função em consultas na exibição sys.dm_exec_requests de gerenciamento dinâmico (DMV) como uma linha de base para estabelecer esse valor de parâmetro de teste.CPUCount aqui refere-se 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 em páginas | |
MaxIOChainLength |
100 | Tamanho máximo da região em páginas | SQL Server 2005 Edição Enterprise e 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 pequenas operações de verificação ocorram. Use os valores especificados na ReadAheadUser seção para simular operações de verificação maiores. |
RandomUserReadWriteRatio |
9000 | Percentual 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 em 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 encaixe uniformemente no 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 ocorrer uma operação na memória que faça com que uma operação de reversão ocorra. | Quando essa operação de reversão ocorre, 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 que o valor do UserCount
parâmetro seja 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órios. 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 count(*) função em consultas em relação ao sys.dm_exec_requests DMV como uma linha de base para estabelecer esse valor de parâmetro de teste.CPUCount aqui refere-se 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 | Aplicar o parâmetro AuditDelay após a conclusão do número de ciclos BuffersValidated | |
AuditDelay |
200 | Número de milissegundos para aguardar após cada DelayAfterCycles operação |
Seção ReadAheadUser
O utilitário SQLIOSim usa os valores especificados na ReadAheadUser
seção para simular SQL Server atividade de leitura antecipada. SQL Server aproveita a atividade de leitura antecipada para maximizar as funcionalidades de E/S assíncronas e limitar os atrasos de consulta.
Parâmetro | Valor padrão | Descrição | Comments |
---|---|---|---|
UserCount |
2 | Número de threads com antecedência de 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órios. Um valor de -1 significa que você deve usar a configuração automática do seguinte 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 count(*) função em consultas em relação ao sys.dm_exec_requests DMV como uma linha de base para estabelecer esse valor de parâmetro de teste.CPUCount aqui refere-se 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 para ler 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 para ler por ciclo | SQL Server Enterprise edições podem ler até 1.024 páginas em uma única solicitação. Se você instalar SQL Server em um computador com muitos recursos de CPU, memória e disco, recomendamos aumentar o tamanho do arquivo e o tamanho da leitura antecipada. |
DelayAfterCycles |
2 | Aplicar o RADelay parâmetro após a conclusão do número especificado de ciclos |
|
RADelay |
200 | Número de milissegundos para aguardar após cada DelayAfterCycles operação |
Seção BulkUpdateUser
O utilitário SQLIOSim usa os valores especificados na seção para simular operações em BulkUpdateUser
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) .NOTA 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 em relação ao sys.dm_exec_requests DMV como uma linha de base para estabelecer esse valor de parâmetro de teste.CPUCount aqui refere-se 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 | Aplicar o BUDelay parâmetro após a conclusão do número especificado de ciclos |
|
BUDelay |
10 | Número de milissegundos para aguardar 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 do 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 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 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
O utilitário SQLIOSim cria arquivos de dados e arquivos de log separados para simular os padrões de E/S que SQL Server gera em seu arquivo de dados e em seu arquivo de log. O utilitário SQLIOSim não usa o mecanismo SQL Server para executar a atividade de estresse. Portanto, você pode usar o utilitário SQLIOSim para testar um computador antes de instalar SQL Server.
Ao executar o utilitário SQLIOSim, especifique o mesmo local de arquivo que você usa para seus arquivos de banco de dados SQL Server. Quando você faz isso, o utilitário simula o mesmo caminho de E/S que seu banco de dados SQL Server.
Você pode habilitar a compactação ou criptografar atributos para os arquivos de teste existentes. Você também pode habilitar esses atributos para o diretório existente em que os arquivos de teste serão criados. As opções correspondentes para habilitar esses atributos estão localizadas na caixa de diálogo Propriedades para um arquivo ou um diretório.
Por padrão, o utilitário SQLIOSim cria arquivos de teste que têm as extensões de nome do arquivo .mdx e .ldx . Portanto, esses arquivos não substituirão os dados existentes e os arquivos de log.
Aviso
Não especifique os arquivos de banco de dados SQL Server reais para teste. O utilitário SQLIOSim substituirá os dados com padrões de teste aleatórios e seus dados reais de SQL Server serão perdidos.
Log e tratamento de erros do SQLIOSim
O utilitário SQLIOSim cria o arquivo de log de erros em um dos seguintes locais:
- O local que você especifica no parâmetro de inicialização de log
- O local que você especifica na
ErrorFile=
linha no arquivo Sqliosim.cfg.ini
O log de errosSQLIOSim.log.xml contém detalhes sobre a execução. Esses detalhes incluem informações de erro. Examine o log cuidadosamente para obter informações de erro e informações de aviso.
Observação
Se você tiver um erro no utilitário SQLIOSim, recomendamos que você 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, um driver de filtro do sistema de arquivos (por exemplo, antivírus) ou o sistema operacional.
Várias cópias
O utilitário SQLIOSim acomoda testes em nível de arquivos múltiplos e testes em nível de usuário múltiplo. 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 a simulação de ponto de verificação, podem ser intensivas em memória e podem criar condições fora da memória quando você executa várias cópias. Se você tiver erros fora da memória, poderá reduzir o número de cópias de utilitário em execução.