Strumento gratuito · test di velocità dei redirect 301

Confronta due redirect 301, affiancati.

Entrambi i redirect vengono misurati allo stesso modo: DNS, connessione, TLS e time to first byte. Poi esegui lo stesso test tu stesso con uno script.

Scelta rapida
vs
Esecuzioni
Misura da

Inserisci un secondo redirect e premi Confronta. I risultati appariranno qui in pochi secondi.

Riproducilo

Non fidarti solo delle nostre parole.

Lo script esegue la stessa misurazione dal tuo computer con curl: una nuova connessione a ogni esecuzione, cronometrata solo la prima risposta, riportata la mediana.

  1. Scarica o copia lo script.
  2. Eseguilo in un terminale su macOS o Linux (su Windows, usa WSL o Git Bash).
  3. Confronta le mediane con il risultato qui sopra.

I tuoi numeri saranno diversi dai nostri: dipendono da dove lo esegui e dalla tua rete.

Scarica .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"
Eseguilo con i due redirect qui sopra:
$ ./compare-redirects.sh https://redirhub.com https://example.com 10

Metodo

Cosa misura il test

DNS

Risoluzione del dominio del redirect.

Connessione

Apertura di una connessione TCP verso il server più vicino.

TLS

L'handshake HTTPS e la verifica del certificato.

Attesa server

Fino all'arrivo del 301 e della sua intestazione Location.

Viene cronometrata solo la risposta del redirect, non la pagina di destinazione, quindi una destinazione lenta non penalizza il redirect. Gli hop vengono contati a parte. Lo strumento gira su Vercel Functions a Washington, D.C., Francoforte e Tokyo, non sulla nostra rete di redirect, e alterna A e B a ogni esecuzione.

FAQ

Domande frequenti

Perché il redirect A ha come impostazione predefinita redirhub.com?
redirhub.com è un vero 301 servito da RedirHub, dalla stessa rete dei redirect dei clienti. Scegli google.com o x.com come riferimento noto, oppure sostituiscilo con qualsiasi URL per confrontare due redirect tuoi.
Il test è equo per entrambi i redirect?
Entrambi ricevono lo stesso numero di esecuzioni dalla stessa posizione, alternando A, B, A, B, ciascuno su una connessione nuova, e riportiamo la mediana. Il test viene eseguito su Vercel, non sulla rete di RedirHub, e lo script ti permette di verificarlo dal tuo ambiente.
Da dove viene eseguito il test?
Da Vercel Functions in tre regioni: Washington, D.C. (iad1), Francoforte (fra1) e Tokyo (hnd1). Scegline una, oppure tutte e tre, per vedere il risultato di ciascuna posizione.
Segue l'intera catena di redirect?
La misurazione copre solo la prima risposta. Il numero di hop e l'URL finale mostrano il resto della catena.
Perché i risultati del mio script differiscono?
La distanza dal server, la tua connessione e la cache DNS modificano tutti i numeri. Confronta il divario tra A e B, non i valori assoluti.