# Testar a velocidade de uma aplicação

Você pode medir a velocidade de uma aplicação na Azion por dois lados. [Edge Pulse](/pt-br/documentacao/plataforma/edge-pulse/) coleta o que os navegadores de usuários reais veem, e [Real-Time Metrics](/pt-br/documentacao/plataforma/real-time-metrics/) mostra em gráficos o que a Azion serviu em cada requisição. Para comparar uma página antes e depois da migração para a Azion, consulte a última seção.

---

## Pré-requisitos

- Uma aplicação servida por um workload na Azion. Para configurá-los, consulte [Migrar uma aplicação para a Azion](/pt-br/documentacao/fundamentos/migrar-para-a-azion/) ou [Primeiro deploy](/pt-br/documentacao/fundamentos/primeiro-deploy/).
- Acesso ao HTML das páginas que você quer monitorar, para adicionar a tag do Edge Pulse.

---

## Meça o que os usuários reais veem com o Edge Pulse

Edge Pulse é Real User Monitoring. Uma tag JavaScript nas suas páginas coleta dados de navegação, disponibilidade, latência e bandwidth dos navegadores de visitantes reais. Cada navegador testa três endereços da infraestrutura da Azion por vez, uma vez a cada 30 minutos. A coleta não sobrecarrega o visitante. Para adicionar a tag:

1. **Abra a página Edge Pulse**

   Acesse [Azion Console](https://console.azion.com/) > **Edge Pulse**.

2. **Copie a tag**

   Selecione **Copy to Clipboard** na tag de que você precisa. A **Default Tag** executa depois que a página carrega. A **Pre-loading Tag** é para páginas cuja Content Security Policy bloqueia JavaScript inline.

3. **Adicione a tag a cada página que você quer monitorar**

   Cole a tag no HTML de cada página, antes da tag `body` de fechamento.

4. **Publique as páginas**

Os navegadores dos seus visitantes começam a enviar medições, e você lê os dados coletados com a API GraphQL que o [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events/) serve. Para saber como enviar uma primeira consulta, consulte [Primeiros Passos API GraphQL](/pt-br/documentacao/devtools/graphql/primeiros-passos/).

> **nota**
>
> Edge Pulse respeita a configuração Do Not Track do navegador. Com ela ativa, um novo identificador é gerado a cada visita.

---

## Leia as métricas de requisição no Real-Time Metrics

Real-Time Metrics mostra em gráficos cada requisição que a Azion serviu, em tempo quase real. Para velocidade, o número útil é quanto do tráfego o cache respondeu sem esperar pela sua origem. Para abrir os gráficos:

1. **Abra o Real-Time Metrics**

   Acesse [Azion Console](https://console.azion.com/) > **Real-Time Metrics**.

2. **Selecione a aba Build e depois Applications**

3. **Compare os dados salvos e os perdidos**

   Na subaba **Data Transferred**, compare **Saved Data** com **Missed Data**. O primeiro é o que o cache respondeu. O segundo é o que chegou à sua origem.

4. **Restrinja o período**

   Use os filtros de tempo para comparar a janela anterior a uma mudança com a janela posterior.

Uma parcela maior de dados salvos depois de uma mudança significa que menos requisições esperaram pela sua origem.

---

## Compare uma página antes e depois da migração

Antes de apontar o domínio para a Azion, o seu próprio computador pode alcançar a aplicação pelo arquivo `hosts`. Todos os outros ainda alcançam o provedor atual, então você obtém a mesma página dos dois lugares. Para comparar:

1. Carregue a página no provedor atual e anote o tempo de carregamento que as ferramentas de desenvolvedor do navegador informam.
2. Faça o staging da aplicação pelo arquivo `hosts`. Para os passos, consulte [Teste uma aplicação pelo arquivo hosts](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/primeiros-passos/testar-edge-application-atraves-do-arquivo-hosts/).
3. Carregue a mesma página duas vezes em uma janela privada do navegador e guarde o segundo tempo. O primeiro carregamento preenche o cache. O segundo é o que os visitantes recebem.

A diferença entre os dois tempos é o que a Azion acrescenta para essa página. Repita com as páginas que os seus usuários mais abrem.

---

## Próximos passos

- [Cache](/pt-br/documentacao/plataforma/applications.md#cache): Ajuste o TTL e ative o Tiered Cache para que mais requisições sejam respondidas a partir de uma cópia.
- [Application Accelerator](/pt-br/documentacao/plataforma/applications.md#application-accelerator): Faça cache de conteúdo dinâmico e reescreva requisições no caminho da requisição.
- [Image Processor](/pt-br/documentacao/plataforma/applications.md#image-processor): Redimensione e comprima imagens a caminho do visitante.
- [Minimizar o downtime](/pt-br/documentacao/fundamentos/minimizar-o-downtime.md): Mantenha a aplicação respondendo quando uma origem falha.
