Mudanças entre as edições de "Almoxarifado 1.1.0.0"

De MSTECH wiki
Ir para: navegação, pesquisa
(Cenários de uso)
(Resultado dos testes)
 
(9 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 11: Linha 11:
 
=== Observação do teste ===
 
=== Observação do teste ===
  
Para a realização dos testes foram encontradas dificuldades com o core utlizado pelo sistema, uma vez que o mesmo possui bugs na personalização de usuários.  
+
Para a realização dos testes foram encontradas dificuldades com o core utilizado pelo sistema, uma vez que o mesmo possui bugs na personalização de usuários.  
 +
 
 +
O teste foi executado em várias etapas sendo que em cada uma era acrescentado mais 100 usuários simultâneos. Os teste foram executados por 30 minutos. Para os testes foram utilizados:
 +
* 1 Servidor de bando de dados;
 +
* 2 Servidores web;
 +
* 4 Test agent;
  
 
=== Análise do teste ===
 
=== Análise do teste ===
  
Em análise.
+
A aplicação não utiliza muito processamento, estando o disco na maior parte do tempo ocioso. Referente ao processador foi observada uma elevada taxa de mudança de contexto, o que significa que o processador é compartilhado repetidamente, por exemplo, por muitos segmentos de igual prioridade. A alta taxa de contexto-chave muitas vezes indica que existem muitos segmentos que competem para os processadores no sistema. A taxa de trocas de contexto também pode afetar o desempenho de computadores com múltiplos processadores.
 +
 
 +
Em contrapartida o sistema utiliza uma grande quantidade de memória, tanto física quanto virtual. A principal utilização de memória é realizada pelos servidores web, tendo o servidor de bando de dados a menor utilização de memória.
 +
 
 +
Foi possível observar os pontos listados abaixo durante a execução dos teste:
 +
*1) A grande ocorrência de falhas de conexão, principalmente no servidor web01.
 +
*2) A fila de disco ficou acima do recomendado em um momento no bando de dados, ao qual chegou ao valor de 4,06 ao ter 1400 usuários simultâneos.
 +
*3) Grande quantidade de request bloqueados no banco de dados.
  
 +
No bando de dados SQL o contador Buffer chache hit radio ficou dentro dos padrões, entre 99 - 100%. O Laze write/sec ficou zerado.
  
 
=== Cenários de uso ===
 
=== Cenários de uso ===
Linha 190: Linha 203:
  
 
{| class="wikitable"   
 
{| class="wikitable"   
!colspan="6"|Cenário de uso #7 - Solicitação de compra
+
!colspan="6"|Cenário de uso #7 - Cotação para compra
 
|-
 
|-
 
|colspan="2"| Ação realizada ||  Think Time (segundos)
 
|colspan="2"| Ação realizada ||  Think Time (segundos)
Linha 215: Linha 228:
 
|-
 
|-
 
|}
 
|}
 +
 +
 +
 +
{| class="wikitable" 
 +
!colspan="6"|Cenário de uso #8 - Requisição de material
 +
|-
 +
|colspan="2"| Ação realizada ||  Think Time (segundos)
 +
|-
 +
|colspan="2"|8 - Acessar tela de requisição de material || style="text-align: center; | 5
 +
|-
 +
|colspan="2"|8 - Clicar em "Incluir requisição de material" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|8 - Preencher campo "Unidade de almoxarifado solicitante" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|8 - Clicar em "Adicionar material" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|8 - Preencher campo "Grupo de material" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|8 - Pesquisar material || style="text-align: center; | 6
 +
|-
 +
|colspan="2"|8 - Selecionar material || style="text-align: center; | 9
 +
|-
 +
|colspan="2"|8 - Clicar em "Adicionar" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|8 - Preencher campo "Unidade de medidade de conversão" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|8 - Preencher campo "Quantidade" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|8 - Salvar requisição de material || style="text-align: center; | 10
 +
|-
 +
|colspan="2"|8 - Logout || style="text-align: center; | 5
 +
|-
 +
|}
 +
 +
 +
{| class="wikitable" 
 +
!colspan="6"|Cenário de uso #9 - Movimentação de transferência
 +
|-
 +
|colspan="2"| Ação realizada ||  Think Time (segundos)
 +
|-
 +
|colspan="2"|9 - Acessar tela de movimentação de transferência || style="text-align: center; | 5
 +
|-
 +
|colspan="2"|9 - Clicar em "Incluir movimentação" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|9 - Preencher campo "Unidade de almoxarifado solicitante" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|9 - Clicar em "Adicionar material" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|9 - Preencher campo "Grupo de material" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|9 - Pesquisar material || style="text-align: center; | 6
 +
|-
 +
|colspan="2"|9 - Selecionar material || style="text-align: center; | 9
 +
|-
 +
|colspan="2"|9 - Clicar em "Adicionar" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|9 - Preencher campo "Unidade de medidade de conversão" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|9 - Preencher campo "Quantidade" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|9 - Salvar requisição de material || style="text-align: center; | 10
 +
|-
 +
|colspan="2"|9 - Logout || style="text-align: center; | 5
 +
|-
 +
|}
 +
 +
 +
{| class="wikitable" 
 +
!colspan="6"|Cenário de uso #10 - Atender requisições
 +
|-
 +
|colspan="2"| Ação realizada ||  Think Time (segundos)
 +
|-
 +
|colspan="2"|10 - Acessar tela de atendimento de requesição || style="text-align: center; | 5
 +
|-
 +
|colspan="2"|10 - Pesquisar requisição || style="text-align: center; | 6
 +
|-
 +
|colspan="2"|10 - Selecionar requisição || style="text-align: center; | *
 +
|-
 +
|colspan="2"|10 - Clicar em "Atendimento e requisição" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|10 - Clicar em "Validar e reservar" || style="text-align: center; | 4
 +
|-
 +
|colspan="2"|9 - Logout || style="text-align: center; | 5
 +
|-
 +
|}
 +
 +
=== TOP 10 queries mais lentas ===
 +
 +
* Item 1
 +
<syntaxhighlight lang="sql" line="1" >
 +
SELECT
 +
gm.gm_id,
 +
gm.gm_descricao,
 +
sgm.sgm_id,
 +
sgm.sgm_descricao,
 +
mat.mat_id,
 +
mat.mat_descricao,
 +
mat.um_id,
 +
um.um_sigla
 +
 +
FROM dbo.UnidadeAlmoxarifado ual WITH (NOLOCK)
 +
INNER JOIN UnidadeAlmoxarifadoGrupo uag WITH(NOLOCK)
 +
ON uag.uad_id = ual.uad_id
 +
INNER JOIN dbo.GrupoMaterial gm WITH (NOLOCK)
 +
ON uag.gm_id = gm.gm_id
 +
INNER JOIN dbo.SubGrupoMaterial sgm WITH (NOLOCK)
 +
ON uag.sgm_id = sgm.sgm_id
 +
INNER JOIN dbo.Material mat WITH (NOLOCK)
 +
ON uag.gm_id = mat.gm_id AND
 +
  uag.sgm_id = mat.sgm_id
 +
INNER JOIN dbo.UnidadeMedida um WITH (NOLOCK)
 +
ON mat.um_id = um.um_id
 +
 +
WHERE (@gm_id IS NULL OR uag.gm_id = @gm_id)
 +
  AND (@sgm_id IS NULL OR uag.sgm_id = @sgm_id)
 +
  AND (@mat_descricao IS NULL OR mat.mat_descricao LIKE '%' + @mat_descricao + '%')
 +
  AND (ual.ual_situacao <> 3)
 +
  AND (uag.uag_situcao <> 3)
 +
  AND (gm.gm_situacao <> 3)
 +
  AND (sgm.sgm_situacao <> 3)
 +
  AND (mat.mat_situacao = 1)
 +
 +
GROUP BY gm.gm_id,
 +
gm.gm_descricao,
 +
sgm.sgm_id,
 +
sgm.sgm_descricao,
 +
mat.mat_id,
 +
mat.mat_descricao,
 +
mat.um_id,
 +
um.um_sigla
 +
</syntaxhighlight>
 +
 +
* Item 2
 +
<syntaxhighlight lang="sql" line="1" >
 +
SELECT DISTINCT
 +
  gm.gm_id,
 +
  gm.gm_descricao,
 +
  gm.gm_situacao,
 +
  gm.gm_dataCriacao,
 +
  gm.gm_dataAlteracao
 +
     
 +
FROM dbo.GrupoMaterial gm WITH (NOLOCK)
 +
INNER JOIN dbo.SubGrupoMaterial sgm WITH (NOLOCK)
 +
ON gm.gm_id = sgm.gm_id
 +
INNER JOIN dbo.UnidadeAlmoxarifadoGrupo uag WITH(NOLOCK)
 +
ON uag.gm_id = gm.gm_id
 +
AND uag.sgm_id = sgm.sgm_id
 +
INNER JOIN dbo.Material mat WITH(NOLOCK)
 +
ON gm.gm_id = mat.gm_id
 +
AND sgm.sgm_id = mat.sgm_id
 +
 +
WHERE gm.gm_situacao = 1
 +
AND sgm.sgm_situacao = 1
 +
AND uag.uag_situcao = 1
 +
AND (@uad_id IS NULL OR uag.uad_id = @uad_id)
 +
 +
GROUP BY gm.gm_descricao, gm.gm_id, gm.gm_situacao, gm.gm_dataCriacao, gm.gm_dataAlteracao
 +
 +
ORDER BY gm.gm_descricao
 +
</syntaxhighlight>
 +
 +
* Item 3
 +
<syntaxhighlight lang="sql" line="1" >
 +
SELECT TOP 1
 +
  mat.mat_id,        -- Código do material
 +
  mat.mat_descricao, -- Descrição do material
 +
  mat.mat_situacao,  -- Situação do material (1: Ativo; 2: Bloqueado; 3: Excluído)
 +
  mat.gm_id,        -- Código do grupo do material
 +
  mat.sgm_id        -- Código do subgrupo do material
 +
 
 +
 +
FROM dbo.Material mat WITH (NOLOCK)
 +
 +
WHERE mat.mat_situacao <> 3 -- Todos os materiais que NÃO foram excluídos
 +
  AND (mat.mat_descricao = @mat_descricao)
 +
</syntaxhighlight>
 +
 +
* Item 4
 +
<syntaxhighlight lang="sql" line="1" >
 +
SELECT
 +
  stc.stc_id
 +
  ,stc.for_idPreferencia
 +
  ,stc.uad_idSolicitante
 +
  ,UA.uad_nome AS uad_nomeSolcitante
 +
  ,stc.uad_idDestino
 +
  ,stc.stc_status
 +
  ,stc.stc_situacao
 +
  ,stc.stc_dataCriacao
 +
  ,stc.stc_dataConclusao
 +
  ,stc.stc_dataAlteracao
 +
 +
FROM dbo.SolicitacaoCompra stc WITH(NOLOCK)
 +
INNER JOIN Synonym_SYS_UnidadeAdministrativa UA WITH(NOLOCK)
 +
ON stc.uad_idSolicitante = UA.uad_id
 +
 +
WHERE (@uad_id IS NULL OR stc.uad_idSolicitante = @uad_id)
 +
  AND (@Status IS NULL OR stc.stc_status = @Status)
 +
  AND (@DTInicio IS NULL OR CAST(stc.stc_dataCriacao AS DATE) >= @DTInicio)
 +
  AND (@DTFim IS NULL OR CAST(stc.stc_dataCriacao AS DATE) <= @DTFim)
 +
 
 +
ORDER BY stc.stc_dataCriacao DESC
 +
</syntaxhighlight>
 +
 +
* Item 5
 +
<syntaxhighlight lang="sql" line="1" >
 +
SELECT
 +
rqm.rqm_id
 +
,rqm.uad_idSolicitante
 +
,rqm.uad_idDestino
 +
,UA.uad_nome AS uad_nomeSolicitante
 +
,rqm.rqm_status
 +
,rqm.rqm_situacao
 +
,rqm.rqm_dataCriacao
 +
,rqm.rqm_dataConclusao
 +
,rqm.rqm_dataAlteracao
 +
 +
FROM RequisicaoMaterial rqm WITH(NOLOCK)
 +
 +
-- Departamento para o qual a requisição foi realizada
 +
INNER JOIN Synonym_SYS_UnidadeAdministrativa UA WITH(NOLOCK)
 +
ON rqm.uad_idSolicitante = UA.uad_id
 +
--INNER JOIN Synonym_SYS_TipoUnidadeAdministrativa TUA WITH(NOLOCK)
 +
-- ON rqm.tua_id = TUA.tua_id
 +
 +
WHERE (@uad_id IS NULL OR rqm.uad_idSolicitante = @uad_id)
 +
  AND (@Status IS NULL OR rqm.rqm_status = @Status)
 +
  AND (@DTInicio IS NULL OR CAST(rqm.rqm_dataCriacao AS DATE) >= @DTInicio)
 +
  AND (@DTFim IS NULL OR CAST(rqm.rqm_dataCriacao AS DATE) <= @DTFim)
 +
 
 +
ORDER BY rqm.rqm_dataCriacao
 +
</syntaxhighlight>
 +
 +
* Item 6
 +
<syntaxhighlight lang="sql" line="1" >
 +
INSERT INTO
 +
MovimentacaoEstoque
 +
(
 +
mve_id
 +
, mve_ano
 +
, usu_id
 +
, tme_id
 +
, tme_movimento
 +
, uad_id_origem
 +
, uad_id_destino
 +
, mve_justificativa
 +
, mve_situacao
 +
, mve_dataCriacao
 +
, mve_dataAlteracao
 +
 +
)
 +
VALUES
 +
(
 +
@mve_id
 +
, @mve_ano
 +
, @usu_id
 +
, @tme_id
 +
, @tme_movimento
 +
, @uad_id_origem
 +
, @uad_id_destino
 +
, @mve_justificativa
 +
, @mve_situacao
 +
, @mve_dataCriacao
 +
, @mve_dataAlteracao
 +
 +
)
 +
</syntaxhighlight>
 +
 +
* Item 7
 +
<syntaxhighlight lang="sql" line="1" >
 +
INSERT INTO
 +
ReceberMaterialItem
 +
(
 +
rbm_id
 +
,rbm_ano
 +
,mat_id
 +
,mat_descricao
 +
,cfop_id
 +
,rbi_quantidadeRecebida
 +
,rbi_valorICMS
 +
,rbi_valorIPI
 +
,rbi_situacao
 +
,rbi_dataCriacao
 +
,rbi_dataAlteracao
 +
,um_id_conversao
 +
,rbi_valorUnitario
 +
,rbi_valorTotal
 +
,rbi_quantidadeTotal
 +
,um_sigla
 +
 +
 +
)
 +
VALUES
 +
(
 +
@rbm_id
 +
, @rbm_ano
 +
, @mat_id
 +
, @mat_descricao
 +
, @cfop_id
 +
, @rbi_quantidadeRecebida
 +
, @rbi_valorICMS
 +
, @rbi_valorIPI
 +
, @rbi_situacao
 +
, @rbi_dataCriacao
 +
, @rbi_dataAlteracao
 +
, @um_id_conversao
 +
, @rbi_valorUnitario
 +
, @rbi_valorTotal
 +
, @rbi_quantidadeTotal
 +
, @um_sigla
 +
 +
 +
)
 +
</syntaxhighlight>
 +
 +
* Item 8
 +
<syntaxhighlight lang="sql" line="1" >
 +
INSERT INTO
 +
DocumentoFiscalEntrada
 +
(
 +
dfe_id
 +
, dfe_ano
 +
, dfe_numero
 +
, dfe_serie
 +
, dfe_dataEmissao
 +
, dfe_baseCalculoICMS
 +
, dfe_valorICMS
 +
, dfe_baseCalculoICMSSubst
 +
, dfe_valorICMSSubst
 +
, dfe_valorTotalProdutos
 +
, dfe_valorFrete
 +
, dfe_valorSeguro
 +
, dfe_valorOutras
 +
, dfe_valorIPI
 +
, dfe_valorNota
 +
, dfe_desconto
 +
, dfe_situacao
 +
, dfe_dataCriacao
 +
, dfe_dataAlteracao
 +
 +
)
 +
VALUES
 +
(
 +
@dfe_id
 +
, @dfe_ano
 +
, @dfe_numero
 +
, @dfe_serie
 +
, @dfe_dataEmissao
 +
, @dfe_baseCalculoICMS
 +
, @dfe_valorICMS
 +
, @dfe_baseCalculoICMSSubst
 +
, @dfe_valorICMSSubst
 +
, @dfe_valorTotalProdutos
 +
, @dfe_valorFrete
 +
, @dfe_valorSeguro
 +
, @dfe_valorOutras
 +
, @dfe_valorIPI
 +
, @dfe_valorNota
 +
, @dfe_desconto
 +
, @dfe_situacao
 +
, @dfe_dataCriacao
 +
, @dfe_dataAlteracao
 +
 +
)
 +
</syntaxhighlight>
 +
 +
* Item 9
 +
<syntaxhighlight lang="sql" line="1" >
 +
INSERT INTO
 +
MovimentacaoEstoque
 +
(
 +
mve_id
 +
, mve_ano
 +
, usu_id
 +
, tme_id
 +
, tme_movimento
 +
, uad_id_origem
 +
, uad_id_destino
 +
, mve_justificativa
 +
, mve_situacao
 +
, mve_dataCriacao
 +
, mve_dataAlteracao
 +
 +
)
 +
VALUES
 +
(
 +
@mve_id
 +
, @mve_ano
 +
, @usu_id
 +
, @tme_id
 +
, @tme_movimento
 +
, @uad_id_origem
 +
, @uad_id_destino
 +
, @mve_justificativa
 +
, @mve_situacao
 +
, @mve_dataCriacao
 +
, @mve_dataAlteracao
 +
 +
)
 +
</syntaxhighlight>
 +
 +
* Item 10
 +
<syntaxhighlight lang="sql" line="1" >
 +
SELECT
 +
UA.uad_id,
 +
UA.uad_nome
 +
FROM
 +
Synonym_SYS_UnidadeAdministrativa AS UA WITH(NOLOCK)
 +
INNER JOIN Synonym_SYS_Entidade AS ENT WITH(NOLOCK)
 +
ON ENT.ent_id = UA.ent_id
 +
INNER JOIN Synonym_SYS_TipoUnidadeAdministrativa AS TUA WITH(NOLOCK)
 +
ON UA.tua_id = TUA.tua_id
 +
INNER JOIN dbo.UnidadeAlmoxarifado AS UAL WITH(NOLOCK)
 +
ON UAL.uad_id = UA.uad_id
 +
WHERE
 +
UA.uad_situacao = 1
 +
AND ENT.ent_situacao = 1
 +
AND TUA.tua_situacao = 1
 +
AND @ent_id = ENT.ent_id
 +
AND @tua_id = UA.tua_id
 +
AND (@uad_id IS NULL OR @uad_id = UA.uad_id)
 +
AND UAL.ual_situacao = 1
 +
 +
GROUP BY
 +
UA.uad_id,
 +
UA.uad_nome
 +
 +
ORDER BY UA.uad_nome
 +
</syntaxhighlight>
 +
 +
  
 
=== Resultado dos testes ===
 
=== Resultado dos testes ===
 
Nesta seção serão apresentados os resultados obtidos da execução dos testes.
 
Nesta seção serão apresentados os resultados obtidos da execução dos testes.
  
*'''Porcentagem de tempo do processador'''  
+
*'''Processador e disco'''  
: Descrição: Mede a saturação do processador e mostra a quantidade de tempo despendida para processar as threads por todas as CPUs.
+
 
 +
: Contador: Percentagem de tempo ocioso.
 +
: Descrição: Este contador fornece quanto tempo o disco permaneceu em estado de repouso, ou seja, todos os pedidos do sistema operacional para o disco ter sido concluída e há zero de pedidos pendentes. Este contador varia de 100 (ou seja, sempre ocioso) para 0 (ou seja, sempre ocupado).
 
: Limite recomendado: Abaixo de 75 %.
 
: Limite recomendado: Abaixo de 75 %.
: Análise: Em verificação.
+
: Análise: O processor fica grande parte do tempo ocioso.
  
:::::: [[Arquivo:]]
+
:::::: [[Arquivo:2016-08-10 Amoxarifado TempoOcioso.png]]
  
 +
: Contador: Percentagem de espaço livre.
 +
: Descrição: Mostra a porcentagem do espaço total utilizável no disco lógico selecionado.
 +
: Limite recomendado: Acima de 25%.
 +
: Análise: Aplicação está dentro do recomendado.
  
*'''Porcentagem de memória utilizada'''
+
:::::: [[Arquivo:2016-08-10 Almoxarifado EspacoLivre.png]]
: Descrição: Indica a porcentagem de memória utilizada para uso dos processos.
+
: Limite recomendado: Abaixo de 75 %.
+
: Análise: Em verificação.
+
  
:::::: [[Arquivo:]]
+
: Tempo total do processador.
 +
: Descrição: Mede a utilização da CPU de cada processador.
 +
: Limite recomendado: Não exceder 80% por mais de 10 minutos ao longo do período de teste.
 +
: Análise: Aplicação está dentro do recomendado.
  
 +
:::::: [[Arquivo:2016-08-10 Almoxarifado TempoTotalDoProcessador.png]]
  
*'''Kbytes totais pela interface de rede'''
+
: Contador: Mudança de contexto.
 +
: Descrição: A mudança de contexto ocorre quando o kernel muda o processador de um segmento para outro, por exemplo, quando um segmento com uma prioridade maior do que o segmento em execução torna-se pronto.
 +
: Limite recomendado: Quanto menor melhor.
 +
: Análise: Aplicação possui um número elevado.
 +
 
 +
:::::: [[Arquivo:2016-08-10 Almoxarifado MudancaContexto.png]]
 +
 
 +
 
 +
*'''Memória'''
 +
 
 +
: Contador: Páginas/segundo.
 +
: Descrição: Mede o número de páginas por segundo que são paginadas fora da memória RAM para a memória virtual.
 +
: Limite recomendado: Se o número for alto indica falhas graves. O limite normalmente é de 20 páginas/s
 +
: Análise: A aplicação entra-se dentro do recomendado.
 +
 
 +
:::::: [[Arquivo:2016-08-10 Almoxarifado Paginas.png]]
 +
 
 +
: Contador: % Memória virtual comprometida.
 +
: Descrição: Indica a percentagem da memória comprometida utilizada dentro do limite dado pela soma da memória RAM e Page File.
 +
: Limite recomendado: Abaixo de 75% e que não tenha grande variação no indicador.
 +
: Análise: A aplicação aproxima-se bastante do recomendado.
 +
 
 +
:::::: [[Arquivo:2016-08-10 Almoxarifado MemoriaComprometida.png]]
 +
 
 +
 
 +
: Contador: Memória disponível em MBytes.
 +
: Descrição: Indica quantidade de memória disponível para alocação em MBytes.
 +
: Limite recomendado: Se o valor for inferior a 20/25 por cento de RAM instalada é uma indicação de memória insuficiente. Menos de 100 MB é uma indicação de que o sistema é muito carente de memória e paginação.
 +
: Análise: Os servidores web aproximam-se bastante dos limites recomendados.
 +
 
 +
:::::: [[Arquivo:2016-08-10 Almoxarifao MemoriaDisponivel.png]]
 +
 
 +
 
 +
*'''Network'''
 +
 
 +
: Contador: Kbytes totais pela interface de rede.
 
: Descrição: Indica quantos Kbytes foram enviados e recebidos a cada segundo pela interface de rede.
 
: Descrição: Indica quantos Kbytes foram enviados e recebidos a cada segundo pela interface de rede.
 
: Limite recomendado: Menor que 5 Mbytes para uma rede de 100Mbps, menor que 50 Mbytes para uma rede de 1000 Mbps. (Quanto menor melhor).
 
: Limite recomendado: Menor que 5 Mbytes para uma rede de 100Mbps, menor que 50 Mbytes para uma rede de 1000 Mbps. (Quanto menor melhor).
: Análise: Em verificação.
+
: Análise: O servidor de bando de dados utiliza maior tráfego de rede.
  
:::::: [[Arquivo:]]
+
:::::: [[Arquivo:2016-08-10 Almoxarifado InterfaceDeRedeTotal.png]]
  
 +
: Contador: Falhas de conexão (TCP)
 +
: Descrição: Este é o número bruto de conexões TCP que falharam desde que o servidor foi iniciado. Uma falha normalmente indica uma perda de dados em lugar no processo. A perda pode ocorrer em muitos locais. Esta poderia ser uma indicação de um outro dispositivo que está sendo para baixo, ou problemas com a configuração do lado do cliente do software.
 +
: Limite recomendado: Quanto menor melhor.
 +
: Análise: Grande ocorrência de falhas, principalmente no servidor web.
  
*'''Tempo médio de resposta das requisições'''
+
:::::: [[Arquivo:2016-08-10 Almoxarifado ConexoesFalhas.png]]
: Descrição: Indica o tempo médio de resposta das requisições.
+
: Limite recomendado: 5 segundos.
+
: Análise: Em verificação
+
  
:::::: [[Arquivo:]]
 
  
 +
*'''SQL'''
  
*'''Tempo de vazão'''
+
: Contador: Expectativa de vida da página.
: Descrição: Indica a quantidade total de request por segundo.
+
: Descrição: Indica o número em segundos que uma página vai ficar na área de buffers, sem referências.
: Limite recomendado: Quanto maior melhor.
+
: Limite recomendado: Quanto menor melhor.
: Análise: Em verificação.
+
  
:::::: [[Arquivo:]]  
+
:::::: [[Arquivo:2016-08-10 Almoxarifado ExpectativaVidaPagina.png]]
 +
 
 +
: Contador: Número de deadlocks por segundo.
 +
: Descrição: Informa a contagem de quantos deadlocks estão ocorrendo por segundo no sistema.
 +
: Limite recomendado: Quanto menor melhor.
  
 +
:::::: [[Arquivo:2016-08-10 Almoxarifado DeadlockSegundo.png]]
  
*'''Porcentagem de erro'''
+
: Contador: Request bloqueados.
: Descrição: Indica a porcentagem de erro.
+
: Descrição: Informa a quantidade de resquest bloqueados.
 
: Limite recomendado: Quanto menor melhor.
 
: Limite recomendado: Quanto menor melhor.
: Análise: Em verificação.
 
  
:::::: [[Arquivo:]]
+
:::::: [[Arquivo:2016-08-10 Almoxarifado RequestsBloqueados.png]]

Edição atual tal como às 17h13min de 21 de novembro de 2016

Sistemas Verificados

  • Biblioteca, versão 1.45.0.0

Verificação de Segurança

Em verificação.


Verificação de Desempenho

Observação do teste

Para a realização dos testes foram encontradas dificuldades com o core utilizado pelo sistema, uma vez que o mesmo possui bugs na personalização de usuários.

O teste foi executado em várias etapas sendo que em cada uma era acrescentado mais 100 usuários simultâneos. Os teste foram executados por 30 minutos. Para os testes foram utilizados:

  • 1 Servidor de bando de dados;
  • 2 Servidores web;
  • 4 Test agent;

Análise do teste

A aplicação não utiliza muito processamento, estando o disco na maior parte do tempo ocioso. Referente ao processador foi observada uma elevada taxa de mudança de contexto, o que significa que o processador é compartilhado repetidamente, por exemplo, por muitos segmentos de igual prioridade. A alta taxa de contexto-chave muitas vezes indica que existem muitos segmentos que competem para os processadores no sistema. A taxa de trocas de contexto também pode afetar o desempenho de computadores com múltiplos processadores.

Em contrapartida o sistema utiliza uma grande quantidade de memória, tanto física quanto virtual. A principal utilização de memória é realizada pelos servidores web, tendo o servidor de bando de dados a menor utilização de memória.

Foi possível observar os pontos listados abaixo durante a execução dos teste:

  • 1) A grande ocorrência de falhas de conexão, principalmente no servidor web01.
  • 2) A fila de disco ficou acima do recomendado em um momento no bando de dados, ao qual chegou ao valor de 4,06 ao ter 1400 usuários simultâneos.
  • 3) Grande quantidade de request bloqueados no banco de dados.

No bando de dados SQL o contador Buffer chache hit radio ficou dentro dos padrões, entre 99 - 100%. O Laze write/sec ficou zerado.

Cenários de uso

Cenário de uso #1 - Login
Ação realizada Think Time (segundos)
1 - Acessar tela de login 3
1 - Realizar login 7
1 - Selecionar sistema Transporte Escolar 5


Cenário de uso #2 - Cadastro de material
Ação realizada Think Time (segundos)
2 - Acessar tela de consulta de material 5
2 - Clicar em "Incluir material" 4
2 - Preencher campo "Grupo" 14
2 - Salvar cadastro de material 10
2 - Logout 5


Cenário de uso #3 - Recebimento de material
Ação realizada Think Time (segundos)
3 - Acessar tela de consulta de recebimento de materiais 5
3 - Clicar em "Incluir recebimento de materiais" 4
3 - Preencher campo "Unidade de almoxarifado" 4
3 - Abrir calendário 3
3 - Preencher campo "Fornecedor" 8
3 - Clicar em "Adicionar material" 3
3 - Preencher campo "Grupo de material" 4
3 - Pesquisar material 6
3 - Selecionar material 9
3 - Salvar cadastro e gerar exemplar 7
3 - Clicar em "Adicionar" 4
3 - Preencher campo "CFOP" 5
3 - Preencher campo "Unidade de conversão" 5
3 - Preencher campo "Quantidade recebida" 4
3 - Preencher campo "Valor unitário" 4
3 - Salvar cadastro 18
3 - Logout 5


Cenário de uso #4 - Movimentação de entrada
Ação realizada Think Time (segundos)
4 - Acessar tela de consulta de movimentações de entrada 5
4 - Clicar em "Incluir movimentação" 4
4 - Preencher campo "Unidade de almoxarifado de destino" 4
4 - Clicar em "Adicionar material" 4
4 - Preencher campo "Grupo de material" 4
4 - Pesquisar material 6
4 - Selecionar material 9
4 - Clicar em "Adicionar" 4
4 - Preencher campo "Unidade de medida de conversão" 5
4 - Preencher campo "Quantidade" 4
4 - Salvar movimentação de entrada 18
4 - Logout 5


Cenário de uso #5 - Movimentação de saída
Ação realizada Think Time (segundos)
5 - Acessar tela de movimentação de saída 5
5 - Clicar em "Unidade de almoxarifado de origem" 4
5 - Clicar em "Adicionar material" 4
5 - Preencher campo "Grupo de material" 5
5 - Pesquisar material 6
5 - Selecionar material 9
5 - Clicar em "Adicionar" 4
5 - Preencher campo "Unidade de medida de conversão" 5
5 - Preencher campo "Quantidade" 4
5 - Salvar cadastro 15
5 - Logout 5


Cenário de uso #6 - Solicitação de compra
Ação realizada Think Time (segundos)
6 - Acessar tela de solicitação de compra 5
6 - Clicar em "Incluir solicitação de compra" 4
6 - Preencher campo "Unidade de almoxarifado solicitante" 4
6 - Clicar em "Adicionar material" 4
6 - Preencher campo "Grupo de material" 4
6 - Pesquisar material 6
6 - Selecionar um material 9
6 - Clicar em "Adicionar" 4
6 - Salvar solicitação de compra 10
6 - Logout 5


Cenário de uso #7 - Cotação para compra
Ação realizada Think Time (segundos)
7 - Acessar tela de solicitação de compra 5
7 - Pesquisar solicitação de compra 5
7 - Clicar no ícone de cotação 4
7 - Clicar no ícone de pesquisa de fornecedor 4
7 - Pesquisar fornecedor 6
7 - Selecionar fornecedor 9
7 - Adicionar fornecedor 4
7 - Marcar fornecedor 4
7 - Clicar em "Finalizar" 8
7 - Logout 5


Cenário de uso #8 - Requisição de material
Ação realizada Think Time (segundos)
8 - Acessar tela de requisição de material 5
8 - Clicar em "Incluir requisição de material" 4
8 - Preencher campo "Unidade de almoxarifado solicitante" 4
8 - Clicar em "Adicionar material" 4
8 - Preencher campo "Grupo de material" 4
8 - Pesquisar material 6
8 - Selecionar material 9
8 - Clicar em "Adicionar" 4
8 - Preencher campo "Unidade de medidade de conversão" 4
8 - Preencher campo "Quantidade" 4
8 - Salvar requisição de material 10
8 - Logout 5


Cenário de uso #9 - Movimentação de transferência
Ação realizada Think Time (segundos)
9 - Acessar tela de movimentação de transferência 5
9 - Clicar em "Incluir movimentação" 4
9 - Preencher campo "Unidade de almoxarifado solicitante" 4
9 - Clicar em "Adicionar material" 4
9 - Preencher campo "Grupo de material" 4
9 - Pesquisar material 6
9 - Selecionar material 9
9 - Clicar em "Adicionar" 4
9 - Preencher campo "Unidade de medidade de conversão" 4
9 - Preencher campo "Quantidade" 4
9 - Salvar requisição de material 10
9 - Logout 5


Cenário de uso #10 - Atender requisições
Ação realizada Think Time (segundos)
10 - Acessar tela de atendimento de requesição 5
10 - Pesquisar requisição 6
10 - Selecionar requisição *
10 - Clicar em "Atendimento e requisição" 4
10 - Clicar em "Validar e reservar" 4
9 - Logout 5

TOP 10 queries mais lentas

  • Item 1
 1 SELECT 
 2 		gm.gm_id,
 3 		gm.gm_descricao,
 4 		sgm.sgm_id,
 5 		sgm.sgm_descricao,
 6 		mat.mat_id,
 7 		mat.mat_descricao,
 8 		mat.um_id,
 9 		um.um_sigla
10 
11 	FROM dbo.UnidadeAlmoxarifado ual WITH (NOLOCK)
12 			INNER JOIN UnidadeAlmoxarifadoGrupo uag WITH(NOLOCK) 
13 				ON uag.uad_id = ual.uad_id
14 			INNER JOIN dbo.GrupoMaterial gm WITH (NOLOCK)
15 				ON uag.gm_id = gm.gm_id
16 			INNER JOIN dbo.SubGrupoMaterial sgm WITH (NOLOCK)
17 				ON uag.sgm_id = sgm.sgm_id
18 			INNER JOIN dbo.Material mat WITH (NOLOCK)
19 				ON uag.gm_id = mat.gm_id AND
20 				   uag.sgm_id = mat.sgm_id
21 			INNER JOIN dbo.UnidadeMedida um WITH (NOLOCK)
22 				ON mat.um_id = um.um_id
23 	
24 	WHERE (@gm_id IS NULL OR uag.gm_id = @gm_id)
25 	  AND (@sgm_id IS NULL OR uag.sgm_id = @sgm_id)
26 	  AND (@mat_descricao IS NULL OR mat.mat_descricao LIKE '%' + @mat_descricao + '%')
27 	  AND (ual.ual_situacao <> 3)
28 	  AND (uag.uag_situcao <> 3)
29 	  AND (gm.gm_situacao <> 3)
30 	  AND (sgm.sgm_situacao <> 3)
31 	  AND (mat.mat_situacao = 1)
32 	
33 	GROUP BY gm.gm_id,
34 			 gm.gm_descricao,
35 			 sgm.sgm_id,
36 			 sgm.sgm_descricao,
37 			 mat.mat_id,
38 			 mat.mat_descricao,
39 			 mat.um_id,
40 			 um.um_sigla
  • Item 2
 1 SELECT DISTINCT
 2 	   gm.gm_id,
 3 	   gm.gm_descricao,
 4 	   gm.gm_situacao,
 5 	   gm.gm_dataCriacao,
 6 	   gm.gm_dataAlteracao 
 7 	       
 8 		FROM dbo.GrupoMaterial gm WITH (NOLOCK)
 9 			INNER JOIN dbo.SubGrupoMaterial sgm WITH (NOLOCK)
10 				ON gm.gm_id = sgm.gm_id
11 			INNER JOIN dbo.UnidadeAlmoxarifadoGrupo uag WITH(NOLOCK)
12 				ON uag.gm_id = gm.gm_id
13 				AND uag.sgm_id = sgm.sgm_id
14 			INNER JOIN dbo.Material mat WITH(NOLOCK)
15 				ON gm.gm_id = mat.gm_id
16 				AND sgm.sgm_id = mat.sgm_id
17 	
18 		WHERE gm.gm_situacao = 1
19 		 AND sgm.sgm_situacao = 1
20 		 AND uag.uag_situcao = 1
21 		 AND (@uad_id IS NULL OR uag.uad_id = @uad_id)
22 		
23 		GROUP BY gm.gm_descricao, gm.gm_id, gm.gm_situacao, gm.gm_dataCriacao, gm.gm_dataAlteracao 
24 		
25 		ORDER BY gm.gm_descricao
  • Item 3
 1 SELECT TOP 1
 2 		   mat.mat_id,        -- Código do material
 3 		   mat.mat_descricao, -- Descrição do material
 4 		   mat.mat_situacao,  -- Situação do material (1: Ativo; 2: Bloqueado; 3: Excluído)
 5 		   mat.gm_id,         -- Código do grupo do material
 6 		   mat.sgm_id         -- Código do subgrupo do material
 7 		   
 8 	
 9 		FROM dbo.Material mat WITH (NOLOCK)
10 		
11 		WHERE mat.mat_situacao <> 3 -- Todos os materiais que NÃO foram excluídos
12 		  AND (mat.mat_descricao = @mat_descricao)
  • Item 4
 1 SELECT 
 2 		  stc.stc_id
 3 		  ,stc.for_idPreferencia
 4 		  ,stc.uad_idSolicitante
 5 		  ,UA.uad_nome AS uad_nomeSolcitante
 6 		  ,stc.uad_idDestino
 7 		  ,stc.stc_status
 8 		  ,stc.stc_situacao
 9 		  ,stc.stc_dataCriacao
10 		  ,stc.stc_dataConclusao
11 		  ,stc.stc_dataAlteracao
12 
13 		FROM dbo.SolicitacaoCompra stc WITH(NOLOCK)
14 		INNER JOIN Synonym_SYS_UnidadeAdministrativa UA WITH(NOLOCK)
15 			ON stc.uad_idSolicitante = UA.uad_id
16 		
17 	WHERE (@uad_id IS NULL OR stc.uad_idSolicitante = @uad_id)
18 	  AND (@Status IS NULL OR stc.stc_status = @Status)
19 	  AND (@DTInicio IS NULL OR CAST(stc.stc_dataCriacao AS DATE) >= @DTInicio) 
20 	  AND (@DTFim IS NULL OR CAST(stc.stc_dataCriacao AS DATE) <= @DTFim)
21 	  
22 	ORDER BY stc.stc_dataCriacao DESC
  • Item 5
 1 SELECT 
 2 		rqm.rqm_id
 3 		,rqm.uad_idSolicitante
 4 		,rqm.uad_idDestino
 5 		,UA.uad_nome AS uad_nomeSolicitante
 6 		,rqm.rqm_status
 7 		,rqm.rqm_situacao
 8 		,rqm.rqm_dataCriacao
 9 		,rqm.rqm_dataConclusao
10 		,rqm.rqm_dataAlteracao
11 
12 		FROM RequisicaoMaterial rqm WITH(NOLOCK)
13 
14 			-- Departamento para o qual a requisição foi realizada
15 			INNER JOIN Synonym_SYS_UnidadeAdministrativa UA WITH(NOLOCK)
16 				ON rqm.uad_idSolicitante = UA.uad_id
17 			--INNER JOIN Synonym_SYS_TipoUnidadeAdministrativa TUA WITH(NOLOCK)
18 			--	ON rqm.tua_id = TUA.tua_id
19 		
20 	WHERE (@uad_id IS NULL OR rqm.uad_idSolicitante = @uad_id)
21 	  AND (@Status IS NULL OR rqm.rqm_status = @Status)
22 	  AND (@DTInicio IS NULL OR CAST(rqm.rqm_dataCriacao AS DATE) >= @DTInicio) 
23 	  AND (@DTFim IS NULL OR CAST(rqm.rqm_dataCriacao AS DATE) <= @DTFim)
24 	  
25 	ORDER BY rqm.rqm_dataCriacao
  • Item 6
 1 INSERT INTO 
 2 		MovimentacaoEstoque
 3 		( 
 4 			mve_id 
 5 			, mve_ano 
 6 			, usu_id 
 7 			, tme_id 
 8 			, tme_movimento 
 9 			, uad_id_origem 
10 			, uad_id_destino 
11 			, mve_justificativa 
12 			, mve_situacao 
13 			, mve_dataCriacao 
14 			, mve_dataAlteracao 
15  
16 		)
17 	VALUES
18 		( 
19 			@mve_id 
20 			, @mve_ano 
21 			, @usu_id 
22 			, @tme_id 
23 			, @tme_movimento 
24 			, @uad_id_origem 
25 			, @uad_id_destino 
26 			, @mve_justificativa 
27 			, @mve_situacao 
28 			, @mve_dataCriacao 
29 			, @mve_dataAlteracao 
30  
31 		)
  • Item 7
 1 INSERT INTO 
 2 		ReceberMaterialItem
 3 		( 
 4 		rbm_id
 5 		,rbm_ano
 6 		,mat_id
 7 		,mat_descricao
 8 		,cfop_id
 9 		,rbi_quantidadeRecebida
10 		,rbi_valorICMS
11 		,rbi_valorIPI
12 		,rbi_situacao
13 		,rbi_dataCriacao
14 		,rbi_dataAlteracao
15 		,um_id_conversao
16 		,rbi_valorUnitario
17 		,rbi_valorTotal
18 		,rbi_quantidadeTotal
19 		,um_sigla
20 
21  
22 		)
23 	VALUES
24 		( 
25 			@rbm_id 
26 			, @rbm_ano 
27 			, @mat_id 
28 			, @mat_descricao 
29 			, @cfop_id 
30 			, @rbi_quantidadeRecebida 
31 			, @rbi_valorICMS 
32 			, @rbi_valorIPI 
33 			, @rbi_situacao 
34 			, @rbi_dataCriacao 
35 			, @rbi_dataAlteracao
36 			, @um_id_conversao
37 			, @rbi_valorUnitario
38 			, @rbi_valorTotal
39 			, @rbi_quantidadeTotal 
40 			, @um_sigla
41 
42  
43 		)
  • Item 8
 1 INSERT INTO 
 2 		DocumentoFiscalEntrada
 3 		( 
 4 			dfe_id 
 5 			, dfe_ano 
 6 			, dfe_numero
 7 			, dfe_serie 
 8 			, dfe_dataEmissao 
 9 			, dfe_baseCalculoICMS 
10 			, dfe_valorICMS 
11 			, dfe_baseCalculoICMSSubst 
12 			, dfe_valorICMSSubst 
13 			, dfe_valorTotalProdutos 
14 			, dfe_valorFrete 
15 			, dfe_valorSeguro 
16 			, dfe_valorOutras 
17 			, dfe_valorIPI 
18 			, dfe_valorNota 
19 			, dfe_desconto
20 			, dfe_situacao 
21 			, dfe_dataCriacao 
22 			, dfe_dataAlteracao 
23 			 
24 		)
25 	VALUES
26 		( 
27 			@dfe_id 
28 			, @dfe_ano 
29 			, @dfe_numero 
30 			, @dfe_serie
31 			, @dfe_dataEmissao 
32 			, @dfe_baseCalculoICMS 
33 			, @dfe_valorICMS 
34 			, @dfe_baseCalculoICMSSubst 
35 			, @dfe_valorICMSSubst 
36 			, @dfe_valorTotalProdutos 
37 			, @dfe_valorFrete 
38 			, @dfe_valorSeguro 
39 			, @dfe_valorOutras 
40 			, @dfe_valorIPI 
41 			, @dfe_valorNota 
42 			, @dfe_desconto
43 			, @dfe_situacao 
44 			, @dfe_dataCriacao 
45 			, @dfe_dataAlteracao 
46 			
47 		)
  • Item 9
 1 INSERT INTO 
 2 		MovimentacaoEstoque
 3 		( 
 4 			mve_id 
 5 			, mve_ano 
 6 			, usu_id 
 7 			, tme_id 
 8 			, tme_movimento 
 9 			, uad_id_origem 
10 			, uad_id_destino 
11 			, mve_justificativa 
12 			, mve_situacao 
13 			, mve_dataCriacao 
14 			, mve_dataAlteracao 
15  
16 		)
17 	VALUES
18 		( 
19 			@mve_id 
20 			, @mve_ano 
21 			, @usu_id 
22 			, @tme_id 
23 			, @tme_movimento 
24 			, @uad_id_origem 
25 			, @uad_id_destino 
26 			, @mve_justificativa 
27 			, @mve_situacao 
28 			, @mve_dataCriacao 
29 			, @mve_dataAlteracao 
30  
31 		)
  • Item 10
 1 SELECT 
 2 			UA.uad_id,
 3 			UA.uad_nome
 4 		FROM 
 5 			Synonym_SYS_UnidadeAdministrativa AS UA WITH(NOLOCK)	
 6 		INNER JOIN Synonym_SYS_Entidade AS ENT WITH(NOLOCK)
 7 			ON ENT.ent_id = UA.ent_id			
 8 		INNER JOIN Synonym_SYS_TipoUnidadeAdministrativa AS TUA WITH(NOLOCK)
 9 			ON UA.tua_id = TUA.tua_id
10 		INNER JOIN dbo.UnidadeAlmoxarifado AS UAL WITH(NOLOCK)
11 			ON UAL.uad_id = UA.uad_id
12 		WHERE
13 			UA.uad_situacao = 1
14 			AND ENT.ent_situacao = 1
15 			AND TUA.tua_situacao = 1
16 			AND @ent_id = ENT.ent_id
17 			AND @tua_id = UA.tua_id
18 			AND (@uad_id IS NULL OR @uad_id = UA.uad_id)
19 			AND UAL.ual_situacao = 1
20 		
21 		GROUP BY
22 			UA.uad_id,
23 			UA.uad_nome
24 				
25 		ORDER BY UA.uad_nome


Resultado dos testes

Nesta seção serão apresentados os resultados obtidos da execução dos testes.

  • Processador e disco
Contador: Percentagem de tempo ocioso.
Descrição: Este contador fornece quanto tempo o disco permaneceu em estado de repouso, ou seja, todos os pedidos do sistema operacional para o disco ter sido concluída e há zero de pedidos pendentes. Este contador varia de 100 (ou seja, sempre ocioso) para 0 (ou seja, sempre ocupado).
Limite recomendado: Abaixo de 75 %.
Análise: O processor fica grande parte do tempo ocioso.
2016-08-10 Amoxarifado TempoOcioso.png
Contador: Percentagem de espaço livre.
Descrição: Mostra a porcentagem do espaço total utilizável no disco lógico selecionado.
Limite recomendado: Acima de 25%.
Análise: Aplicação está dentro do recomendado.
2016-08-10 Almoxarifado EspacoLivre.png
Tempo total do processador.
Descrição: Mede a utilização da CPU de cada processador.
Limite recomendado: Não exceder 80% por mais de 10 minutos ao longo do período de teste.
Análise: Aplicação está dentro do recomendado.
2016-08-10 Almoxarifado TempoTotalDoProcessador.png
Contador: Mudança de contexto.
Descrição: A mudança de contexto ocorre quando o kernel muda o processador de um segmento para outro, por exemplo, quando um segmento com uma prioridade maior do que o segmento em execução torna-se pronto.
Limite recomendado: Quanto menor melhor.
Análise: Aplicação possui um número elevado.
2016-08-10 Almoxarifado MudancaContexto.png


  • Memória
Contador: Páginas/segundo.
Descrição: Mede o número de páginas por segundo que são paginadas fora da memória RAM para a memória virtual.
Limite recomendado: Se o número for alto indica falhas graves. O limite normalmente é de 20 páginas/s
Análise: A aplicação entra-se dentro do recomendado.
2016-08-10 Almoxarifado Paginas.png
Contador: % Memória virtual comprometida.
Descrição: Indica a percentagem da memória comprometida utilizada dentro do limite dado pela soma da memória RAM e Page File.
Limite recomendado: Abaixo de 75% e que não tenha grande variação no indicador.
Análise: A aplicação aproxima-se bastante do recomendado.
2016-08-10 Almoxarifado MemoriaComprometida.png


Contador: Memória disponível em MBytes.
Descrição: Indica quantidade de memória disponível para alocação em MBytes.
Limite recomendado: Se o valor for inferior a 20/25 por cento de RAM instalada é uma indicação de memória insuficiente. Menos de 100 MB é uma indicação de que o sistema é muito carente de memória e paginação.
Análise: Os servidores web aproximam-se bastante dos limites recomendados.
2016-08-10 Almoxarifao MemoriaDisponivel.png


  • Network
Contador: Kbytes totais pela interface de rede.
Descrição: Indica quantos Kbytes foram enviados e recebidos a cada segundo pela interface de rede.
Limite recomendado: Menor que 5 Mbytes para uma rede de 100Mbps, menor que 50 Mbytes para uma rede de 1000 Mbps. (Quanto menor melhor).
Análise: O servidor de bando de dados utiliza maior tráfego de rede.
2016-08-10 Almoxarifado InterfaceDeRedeTotal.png
Contador: Falhas de conexão (TCP)
Descrição: Este é o número bruto de conexões TCP que falharam desde que o servidor foi iniciado. Uma falha normalmente indica uma perda de dados em lugar no processo. A perda pode ocorrer em muitos locais. Esta poderia ser uma indicação de um outro dispositivo que está sendo para baixo, ou problemas com a configuração do lado do cliente do software.
Limite recomendado: Quanto menor melhor.
Análise: Grande ocorrência de falhas, principalmente no servidor web.
2016-08-10 Almoxarifado ConexoesFalhas.png


  • SQL
Contador: Expectativa de vida da página.
Descrição: Indica o número em segundos que uma página vai ficar na área de buffers, sem referências.
Limite recomendado: Quanto menor melhor.
2016-08-10 Almoxarifado ExpectativaVidaPagina.png
Contador: Número de deadlocks por segundo.
Descrição: Informa a contagem de quantos deadlocks estão ocorrendo por segundo no sistema.
Limite recomendado: Quanto menor melhor.
2016-08-10 Almoxarifado DeadlockSegundo.png
Contador: Request bloqueados.
Descrição: Informa a quantidade de resquest bloqueados.
Limite recomendado: Quanto menor melhor.
2016-08-10 Almoxarifado RequestsBloqueados.png