Ferramenta gratuita · teste de velocidade de redirecionamento 301

Compare dois redirecionamentos 301, lado a lado.

Ambos os redirecionamentos são medidos da mesma forma: DNS, conexão, TLS e tempo até o primeiro byte. Depois, execute o mesmo teste você mesmo com um script.

Escolha rápida
vs
Execuções
Medir a partir de

Digite um segundo redirecionamento e clique em Comparar. Os resultados aparecem aqui em poucos segundos.

Reproduza você mesmo

Não acredite só na nossa palavra.

O script faz a mesma medição a partir da sua própria máquina com curl: uma conexão nova a cada execução, só a primeira resposta cronometrada e a mediana informada.

  1. Baixe ou copie o script.
  2. Execute-o em um terminal no macOS ou Linux (no Windows, use WSL ou Git Bash).
  3. Compare as medianas com o resultado acima.

Seus números serão diferentes dos nossos: eles dependem de onde você executa e da sua rede.

Baixar .sh
#!/usr/bin/env bash
# Compare how fast two redirects answer. Requires curl and awk.
# Usage: ./compare-redirects.sh [URL_A] [URL_B] [RUNS]
set -euo pipefail

A="${1:-https://redirhub.com/}"
B="${2:-https://example.com}"
RUNS="${3:-10}"

measure() {
  # Only the first response is timed (no redirect following), with a
  # fresh connection each run, so DNS, TCP and TLS are included.
  for _ in $(seq "$RUNS"); do
    curl -s -o /dev/null --max-redirs 0 --max-time 10 \
      -w '%{time_namelookup} %{time_connect} %{time_appconnect} %{time_starttransfer} %{http_code} %{redirect_url}\n' \
      "$1" || true
  done
}

report() {
  # Median of each phase, in milliseconds. curl's times are cumulative, so
  # connect and TLS are the differences between them, as on the web page.
  awk -v url="$1" '
    { dns[NR]=$1; tcp[NR]=$2-$1; tls[NR]=($3>0 ? $3-$2 : 0); ttfb[NR]=$4; code=$5; loc=$6 }
    function med(a,  n,i,j,t,b){ n=NR; for(i=1;i<=n;i++) b[i]=a[i]
      for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(b[j]<b[i]){t=b[i];b[i]=b[j];b[j]=t}
      return (n%2 ? b[(n+1)/2] : (b[n/2]+b[n/2+1])/2) * 1000 }
    END {
      printf "%s\n  status %s -> %s\n", url, code, (loc==""?"(no Location)":loc)
      printf "  DNS %6.1f ms | connect %6.1f ms | TLS %6.1f ms | first byte %6.1f ms  (median of %d)\n",
        med(dns), med(tcp), med(tls), med(ttfb), NR
    }'
}

measure "$A" | report "$A"
measure "$B" | report "$B"
Execute com os dois redirecionamentos acima:
$ ./compare-redirects.sh https://redirhub.com https://example.com 10

Método

O que o teste mede

DNS

Consulta do domínio do redirecionamento.

Conexão

Abertura de uma conexão TCP com o servidor mais próximo.

TLS

O handshake HTTPS e a verificação do certificado.

Espera do servidor

Até chegarem o 301 e seu cabeçalho Location.

Só a resposta do redirecionamento é cronometrada, não a página de destino, então um destino lento não prejudica o redirecionamento. Os saltos são contados à parte. A ferramenta roda em Vercel Functions em Washington, D.C., Frankfurt e Tóquio, não na nossa rede de redirecionamento, e alterna A e B a cada execução.

Perguntas frequentes

Perguntas frequentes

Por que o redirecionamento A tem redirhub.com como padrão?
redirhub.com é um 301 real servido pela RedirHub, da mesma rede dos redirecionamentos de clientes. Escolha google.com ou x.com como referência conhecida, ou substitua por qualquer URL para comparar dois redirecionamentos seus.
O teste é justo para ambos os redirecionamentos?
Ambos recebem o mesmo número de execuções a partir do mesmo local, alternando A, B, A, B, cada uma em uma conexão nova, e reportamos a mediana. O teste é executado na Vercel, não na rede da RedirHub, e o script permite que você verifique isso a partir da sua própria rede.
De onde o teste é executado?
A partir de Vercel Functions em três regiões: Washington, D.C. (iad1), Frankfurt (fra1) e Tóquio (hnd1). Escolha uma ou as três para ver o resultado de cada localidade.
Ele segue toda a cadeia de redirecionamento?
A medição cobre apenas a primeira resposta. A contagem de saltos e a URL final mostram o restante da cadeia.
Por que os resultados do meu script são diferentes?
A distância até o servidor, sua conexão e o cache de DNS alteram todos os números. Compare a diferença entre A e B, não os valores absolutos.