Skip to content

Performance de aplicações e o sucesso dos seus negócios

Quando mais de 3,2 bilhões de pessoas no mundo usam a internet como uma das suas principais fontes de consumo, é essencial estar presente nesse ambiente, principalmente para quem faz do varejo o seu negócio.

Porém, estar presente não é o suficiente e cada vez mais as empresas investem em pesquisas de experiência e satisfação do usuário para melhorar o seu atendimento e consequentemente aumentar o número de vendas.

Em 2012, A Amazon divulgou uma pesquisa que esclarece os motivos disso:

  • O tempo esperado para a exibição de uma página na web é de 2 segundos;
  • 57% dos consumidores abandonam um site se a sua exibição leva mais de 3 segundos;
  • 80% desses consumidores nunca mais retornam após essa experiência.

Essa pesquisa revelou à Amazon o quanto cada segundo de espera pelos seus usuários custa para a empresa.

O custo de 1 segundo a mais no tempo de exibição da Amazon é de US$ 1,6 Bilhão, por ano. Ou seja, se por qualquer motivo alguém levar mais de 3 segundos para ver o produto que procura na Amazon, essa pessoa não vai apenas comprar em outro lugar como pode nunca mais voltar para comprar algo na Amazon. O impacto negativo pode ser muito maior se essa pessoa divulgar a má experiência em uma rede social.

Mas o que é a performance de uma aplicação?

Performance é a capacidade de realizar tarefas ou trabalhos de modo eficaz e com o mínimo de desperdício.
No caso de aplicações, podemos dizer que é atender a maior quantidade de requisições simultâneas com baixo tempo de resposta e integridade nas informações.

Ao avaliar a performance de uma aplicação 3 informações se destacam:

  • Tempo final de resposta;
  • Número de Requisições;
  • Consistência das informações.

Essas informações devem ser coletadas em tempo de execução, ou seja, enquanto a aplicação é utilizada pelos clientes, no ambiente de Produção e essa análise tem como resultado uma série de métricas que dizem como é o comportamento da aplicação em cenários diferentes, permitindo corrigir e até mesmo prever determinados gargalos.

Para direcionar o que fazer com essas métricas foi criada uma metodologia chamada de Application Performance Management, ou APM.

APM é a arte de gerenciar a perfomance e disponibilidade de aplicações.

A APM distribui a análise das aplicações em 5 fases:

  • Monitoria da experiência final do usuário(ativa e passiva);
  • Arquitetura e modelagem da aplicação;
  • Mapeamento das transações de negócio(definidas pelo usuário);
  • Monitoria dos componentes da aplicação(Profiler de tecnologia);
  • Relatórios e análises.

Esses passos tem como objetivo cobrir todas as áreas que envolvem uma aplicação, por exemplo:

  • O hardware onde essa aplicação é executada;
  • As máquinas virtuais/containers/web servers onde a aplicação é hospedada;
  • O comportamento da aplicação em si;
  • As comunicações da aplicação e suas dependências(serviços externos ou databases, por exemplo).

O princípio da análise: conhecer o APDEX

O ponto de partida para a análise de uma aplicação é o APDEX (Application Performance Index), um índice que quantifica a satisfação dos usuários pelo tempo de resposta de uma aplicação.

O APDEX vai de 0 à 1, sendo 0 uma aplicação com baixa performance e 1 uma performance excelente e é calculado com base em variáveis obtidas em runtime. Uma das variáveis mais importantes nessa fórmula é o tempo de resposta estimado para o usuário final ou T (que no caso da Amazon é de 2 segundos, no browser) e essa métrica deve ser configurada por aplicação, de acordo com a expectativa dos usuários.

Sendo assim a qualificação das requisições seguirá o tempo definido como base, e será apresentada da seguinte maneira:

  • Requisições satisfatórias: Transações que respondem até T;
  • Requisições toleráveis: Transações que respondem em até 4T(4*T, ou 8 segundos, no caso da Amazon);
  • Requisições frustradas: Transações que respondem acima de 4T ou retornam Exceção ao usuário final.

Para exemplificar, vamos supor que na análise realizada pela Amazon durante um período de 3 horas a aplicação deles recebeu 1000 requests que foram atendidos da seguinte forma:

  • 800 requisições responderam em menos de 2 segundos;
  • 140 requisições responderam entre 2 e 8 segundos;
  • 60 requisições responderam depois de 8 segundos ou não responderam.

Sendo assim, o resultado desse calculo é de 0,87 que é considerado excelente quando falamos do APDEX.
Entretanto, ainda há uma série de informações que apenas a análise do tempo de resposta e quantidade de transações executadas não apresentam, como por exemplo os motivos pela demora das outras 200 requisições no intervalo analisado.

Ferramentas de APM

O grande trunfo para usar APM e ter seu fluxo inteiramente coberto, é combinar o processo com uma boa ferramenta, que além de facilitar a análise e implementação das melhorias de performance, apresenta de maneira concisa os dados obtidos.

A escolha da ferramenta ideal para seu negócio depende de alguns fatores, como por exemplo a tecnologia da aplicação à ser monitorada e o modelo de infraestrutura utilizado. Após a escolha da ferramenta é importante levar em consideração os dados que serão analisados, já que grande parte das ferramentas permite configurar alertas e pequenas ações para instabilidades ou alterações no ambiente monitorado.

As ferramentas com maior adesão de mercado, são:

  • NewRelic;
  • AppDynamics;
  • Dynatrace.

Os pontos fortes dessas ferramentas são suas análises baseadas na experiência do usuário e alto número de indicadores para os eventos apresentados.

APM na prática

Na FCamara já passamos por vários projetos onde pudemos comprovar a eficácia da APM, em tecnologias que vão desde PHP até .NET, por meio do processo e de uma ferramenta chamada NewRelic, conseguimos estabilizar ou otimizar as aplicações em pouco tempo e com alterações que não influenciavam o negócio.
É importante dizer que a utilização de APM não deve ser apenas sazonal, é crucial melhorar continuamente a experiência do usuário, velocidade, funcionalidade e confiabilidade de uma aplicação para garantir o sucesso dos seus negócios.

Eu me chamo William Mendes, sou Arquiteto de Soluções aqui na FCamara e espero que você tenha gostado deste post.

Um abraço.

Back To Top
Buscar