Estou tentando usar o HammerDb 3.0 para obter uma linha de base para comparar meus servidores.
Eu posso criar o Db, esquema, dados e itens necessários sem problemas. Eu posso executar o teste e ver que ele está rodando.
Quando o script é concluído, ele me dá um número NOPM, mas diz que o TPM é zero. Quando está em execução, o contador de transações também não representa nada.
Este é um problema conhecido ou comum?
O erro está na saída como "o SQL Server retornou dados de contagem de transações não numéricas". O TPM é o mesmo que a contagem de transações no monitor de atividade do SSMS, ou seja, "Lotes/s". O NOPM é consultado diretamente do esquema em teste. (TPM é uma métrica específica de banco de dados NOPM é independente de banco de dados). Parece que a carga de trabalho está funcionando bem, mas o SQL Server não está retornando os dados do contador de transações. A primeira coisa a verificar é se o SQL Server foi iniciado com a opção "-X". Isso desativa todas as estatísticas de desempenho e resultaria nesse efeito. Em segundo lugar, execute o seguinte SQL:
selecione cntr_value de sys.dm_os_performance_counters onde counter_name = 'Solicitações de lote/s'
Isso é o que o HammerDB executa (você pode ver no código-fonte) - quando essa consulta funcionar, o HammerDB deve ser capaz de monitorar e relatar transações.
Para salvar detalhes, mais informações são necessárias.
O tamanho do valor retornado da consulta é o problema. O HammerDB está usando o comando TCL "string is integer" para verificar o valor retornado do SQL Server. Este comando verifica se há um inteiro de 32 bits e, à medida que seu valor excede, isso está retornando um erro. Para corrigir isso no contador gráfico de transações do diretório inicial, edite o arquivo em src\mssqlserver\mssqlsotc.tcl e localize e altere a linha "string is integer" para "string is entier", ficará assim:
Da mesma forma para corrigir isso na saída do teste OLTP/TPC-C
edite o arquivo em src\mssqlserver\mssqlsoltp.tcl
Isso permitirá que os valores maiores sejam exibidos.