Tempo aproximado para leitura: 00:03:20 min
Dúvida
Como realizar a medição de performance do produto SARA?
Ambiente
TOTVS Logística - TOTVS Recintos Aduaneiros - Consulta RF - Todas as versões
Solução
Para medição de performance do produto SARA - Sistema de Armazenagem de Recintos Alfandegados executar os scripts SQL conforme cada item listado:
- Como medir o tempo médio de transação:
Através da sugestão de SQL - Structured Query Language abaixo, pode-se gerar essa medição.
declare @v_db_id integer
select @v_db_id = db_id('sara_db')
SELECT io_stall as [Tempo de resposta em ms] FROM sys.dm_io_virtual_file_stats(@v_db_id,2)
select @v_db_id = db_id('sara_log')
SELECT io_stall as [Tempo de resposta em ms] FROM sys.dm_io_virtual_file_stats(@v_db_id,2)
/*Tempo total, em milissegundos, que os usuários aguardaram até o término de E/S no arquivo.
https://msdn.microsoft.com/pt-br/library/ms190326(v=sql.120).aspx */
- Como gerar a estimativa de transações com o banco de dados:
Através da sugestão do SQL abaixo, pode-se gerar essa medição.
select counter_name, object_name As Servidor, instance_name As Banco, cntr_value from master..sysperfinfo where upper(counter_name) like '%TRANSAC%'
/*Resultado = Todos os contadores relacionados com transações do servidor de banco de dados.
Sobre a tabela sysperfinfo - Informações/contadores de performance/desempenho do SQL SERVER.
https://msdn.microsoft.com/pt-br/library/ms189806(v=sql.120).aspx
'Mirrored Write Transactions/sec' = Transação de Gravação Espelhada /seg
Número de transações que foram gravadas no banco de dados primário e depois aguardaram para confirmar até que o log fosse enviado para o banco de dados secundário, no último segundo.
https://technet.microsoft.com/pt-br/library/ff878356(v=sql.110).asp
'Broker Transaction Rollbacks' = The number of rolled back transactions that contained DML-related to Service Broker.
https://msdn.microsoft.com/en-us/library/windows/apps/xaml/ms191266(v=sql.90).aspx
Documentação não está disponível em português.
'Longest Transaction Running Time' = Tempo de Execução da Transação Mais Longa.
https://technet.microsoft.com/pt-br/library/ms175492(v=sql.105).aspx
'NonSnapshot Version Transaction' = Transações da Versão Não Instantâneo
Monitora o número total de transações não instantâneo ativas que geram registros de versão.
https://technet.microsoft.com/pt-br/library/ms175492(v=sql.105).aspx
'Snapshot Transactions' = Transações de Instantâneo
Monitora o número total de transações de instantâneo ativas.
https://technet.microsoft.com/pt-br/library/ms175492(v=sql.105).aspx
'Update Snapshot Transactions' = Transações de Instantâneo de Atualização
Monitora o número total de transações de instantâneo ativas que executam operações de atualização.
https://technet.microsoft.com/pt-br/library/ms175492(v=sql.105).aspx
'Transactions' = Transações
Monitora o número total de transações ativas. Não inclui as transações de Sistema.
https://technet.microsoft.com/pt-br/library/ms175492(v=sql.105).aspx
'Transactions/sec'
Número de transações iniciadas para o banco de dados por segundo.
https://technet.microsoft.com/pt-br/library/ms189883(v=sql.105).aspx
'Write Transactions/sec'
Número de transações gravadas e confirmadas ao banco de dados, no último segundo.
https://technet.microsoft.com/pt-br/library/ms189883(v=sql.105).aspx
'Active Transactions'
Número de transações ativas do banco de dados.
https://technet.microsoft.com/pt-br/library/ms189883(v=sql.105).aspx
'Tracked transactions/sec' = Transações acompanhadas/s
O número de transações confirmadas registradas na tabela de confirmação do banco de dados.
https://docs.microsoft.com/pt-br/sql/relational-databases/performance-monitor/sql-server-databases-object
'Transaction Delay' = Atraso na Transação
Atraso na espera por reconhecimento de confirmação não terminado, em milissegundos.
https://docs.microsoft.com/pt-br/sql/relational-databases/performance-monitor/sql-server-database-replica
'Transaction ownership waits' = Esperas de propriedade de transação
Estatísticas pertinentes a processos de sincronização de acesso à transação.
https://docs.microsoft.com/pt-br/sql/relational-databases/performance-monitor/sql-server-wait-statistics-object */
- Como medir a quantidade de acessos simultâneos:
Através da sugestão de SQL abaixo, pode-se gerar essa medição.
SELECT * FROM sys.dm_exec_sessions
/* Retorna uma linha por sessão autenticada no SQL Server. sys.dm_exec_sessions é uma exibição de escopo de servidor que mostra informações sobre todas as conexões de usuário ativas e tarefas internas. Essas informações contêm a versão de cliente, o nome do programa cliente, a hora do logon do cliente, o usuário do logon, a configuração da sessão atual, etc. Use sys.dm_exec_sessions para exibir primeiro a carga atual do Sistema e identificar uma sessão de interesse e, em seguida, para obter mais informações sobre essa sessão com o uso de outras exibições ou funções de gerenciamento dinâmico.
Fonte: https://msdn.microsoft.com/pt-br/library/ms176013(v=sql.120).aspx */
- Como medir a quantidade de transações por segundo:
Através da sugestão de SQL abaixo, pode-se gerar essa medição.
SELECT object_name As Servidor, instance_name As Banco, cntr_type, cntr_value As [Transacoes por Segundo]
FROM
master..sysperfinfo
WHERE
counter_name ='Transactions/sec'
/*Composição do resultado = Histórico
Sobre a tabela sysperfinfo - Informações/contadores de performance/desempenho do SQL SERVER. https://msdn.microsoft.com/pt-br/library/ms189806(v=sql.120).aspx
Formula de cálculo:
sysperfinfo.cntr_type = 272696576 = PERF_COUNTER_BULK_COUNT (Verificar a coluna NO resultado da query)
https://blogs.msdn.microsoft.com/psssql/2013/09/23/interpreting-the-counter-values-from-sys-dm_os_performance_counters/ */
0 Comentários