Ir para o conteúdo principal

[ETP] Remarcação de férias paralisadas

Autores:
José Lucas da Silva Costa,
João Pedro Rocha Brito,
Jônatas Neves Legal


1 - 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.


2 - Complexidade de cada funcionalidade

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 - 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.


4 - 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.

5 - Conclusão do estudo

 

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.