Ir para o conteúdo principal

Avaliação técnica do desempenho das férias dos servidores no SID

Data de elaboração

 10/05/2022

Responsável pelo estudo

João Pedro Rocha Brito (Assessor)

José Henrique dos Santos Nogueira (Assessor)


Equipe do estudo

João Pedro Rocha Brito (Assessor)

José Henrique dos Santos Nogueira (Assessor)

José Lucas da Silva Costa (Analista de Desenvolvimento Full-Stack)

Jônatas Neves Legal (Técnico emTecnologia da Informação e Comunicação) 

Alvo Sistema Integrado de Descanso.
Origem

Melhoria: Desempenho das férias dos servidores no SID.

Objetivo

Avaliar tecnicamente o desempenho do SID na funcionalidade de férias dos servidores.
Documentação Correlata Sem documentação correlata.

Observações

Sem observações.

1. Glossário de Termos


  1. API Application Programming Interface (interface de Programação de Aplicações).
  2. CPU usage - é a porcentagem da capacidade total da unidade central de processamento (CPU) que você está usando em um determinado momento.
  3. IIS Express -  é um servidor web para o Visual Studio.
  4. SEDUC - Secretaria de Estado da Educação.
  5. SESAU - Secretaria de Estado da Saúde.
  6. SETIC - Superintendência Estadual de Tecnologia da Informação e Comunicação.
  7. SID - Sistema Integrado de Descanso.

2. Introdução


O SID (Sistema Integrado de Descanso) é responsável pelo controle de férias dos servidores do poder executivo do Estado De Rondônia.  O fluxo principal deste sistema funciona basicamente todos os anos no mês de setembro, onde todos os servidores devem indicar suas preferências de período de férias para o ano subsequente. Acontece que o desempenho das férias do servidor está baixo quando os filtros envolvem secretarias com muitas pessoas. O time Titãs assumiu a responsabilidade das manutenções referente ao SID e vem fazendo correções de extrema importância para que não aconteçam imprevistos durante seu uso. O objetivo deste estudo é realizar uma revisão para avaliar tecnicamente o desempenho do SID na funcionalidade de férias dos servidores.

3. Desenvolvimento


Para avaliar melhor avaliar, de forma técnica, o desempenho e as complexidades envolvidas do SID, faz-se necessário utilizar ferramentas da tecnologia da qual ele foi desenvolvido para testes de desempenho, no caso a plataforma .NET. Neste estudo será necessário utilizar o profiler de desempenho no Visual Studio para verificar várias informações de diagnóstico do sistema.

O teste de desempenho é uma prática que mede atributos do sistema, como velocidade, capacidade de resposta e armazenamento. Ele permite que você aprimore os recursos de recuperação e processamento para qualquer tipo de sistema. É por isso que essa é uma das formas mais comuns de testar antes de enviar o aplicativo para o servidor de produção.

Esta é uma parte extremamente crítica do desenvolvimento de aplicativos e podemos considerar o desempenho como um dos aspectos mais importantes de qualquer aplicativo. Neste caso verificaremos a utilização do CPU no caso de consulta mais pesadas como o carregamento de férias da SESAU ou SEDUC.  Mas há outros itens que também podem ser testados.

Como você pode ver na captura de tela abaixo, selecionamos a ferramenta CPU Usage. Em seguida, é necessário clicar no botão Iniciar e o aplicativo começará a ser executado. Neste caso, a API Web será lançada no IIS Express e o navegador padrão será aberto no qual podemos testar as APIs conforme abaixo,

image-1652102534915.png

Fonte: SETIC

O tempo de resposta é o tempo que leva para um aplicativo fornecer um resultado após a entrada inicial. Às vezes, grandes dados de entrada ou saída podem causar transtornos na rede. Uma alta taxa de replicação também pode causar problemas de tempo de resposta. Isso pode criar problemas na rede, como gargalos . Pode-se confiar em testes de desempenho para identificar esses problemas como o da imagem abaixo no SID:

image-1652123906749.png

Fonte: SETIC

Uma recomendação técnica para o SID é que seja avaliada todas as métricas de desempenho possível, pois somente o processamento de CPU não é o suficiente para uma análise mais completa.

Se avaliamos um teste de desempenho do SID por meio da ingestão de dados, que é o processo pelo qual seu aplicativo obtém e importa dados para uso ou armazenamento em um banco de dados. Não há problema quanto a isso em todo o sistema de férias. O teste de desempenho analisa como o aplicativo obtém esses dados. Várias fontes de dados podem ser usadas para entrada, ou seja, dados de entrada, dados armazenados, etc.

Esse teste também identifica qual sistema de filas se deve utilizar para processar uma mensagem com eficiência. Também leva em consideração os dados de pico e como os dados coletados, que são classificados em um armazenamento de dados por meio de um banco de dados.

É necessário utilizar pontos de dados para agregar e agrupar dados diferentes e criar um perfil de dados . Com isso, se pode testar o processo geral e a estrutura. Aspectos como tempo de consumo e desempenho de consultas devem ser testados tanto como parte do sistema quanto isoladamente.

Quando os dados são processados, é possível usá-los para obter os relatórios de desempenho. Esses dados poderiam ser utilizados para encontrar padrões e correlações entre diferentes fatores. Por meio da seção de análise do teste de desempenho, pode-se testar algoritmos, taxa de transferência e contagens de threads.

O teste de desempenho tem seus desafios, pois é uma garantia contra falhas no SID e deve ser capaz de manter a confiança aos servidores que utilizam o sistema de férias. Às vezes, se pode achar difícil procurar um método de teste escalável e adaptável que seja econômico e consistente para avaliação de desempenho. Mas uma vez que se determina um, é fácil gerenciar o teste de desempenho.

3.1. Possíveis problemas

O tempo de carregamento é o tempo que leva para o aplicativo iniciar. Em aplicativos com massa de dados grande, por exemplo o SID, os ciclos de descompactação e compactação podem fazer com que o sistema e os serviços demorem mais do que o normal para iniciar, principalmente . O teste de desempenho é essencial para detectar esse problema. Por fim, a falta de desempenho no SID na tela de férias de servidores poderá ocasionar falta de gerência nas férias de alguns colaboradores. Pois a lentidão evita geração de portaria, acompanhamento de histórico e dentre outras funcionalidades atreladas a este tela.

3.2. Valor agregado

A melhoria de desempenho no SID poderá proporcionar agilidade na geração de portarias, melhor acompanhamento de histórico e dentre outras funcionalidades atreladas a esta. É necessário no problema específico das férias de servidores aplicar uma estratégia de paginação para listar os servidores, somente essa aplicação seria possível melhorar dentro de 70~80% o desempenho.

4. Conclusão


O presente ESTUDO TÉCNICO PRELIMINAR, elaborado pelos integrantes TÉCNICOS do time TITÃS, considerando a análise dos desafios técnicos envolvidos e citados, conclui pela IMEDIATA INTERVENÇÃO TÉCNICA PARA MELHORIA DE DESEMPENHO NO SID por meio da implementação de paginação na área de férias de servidores, uma vez que foram considerados potenciais problemas que afetem a disponibilidade do serviço. Em complemento, os contratempos identificados são administráveis, pelo que RECOMENDAMOS o prosseguimento da demanda.