Outil gratuit · test de vitesse des redirections 301

Comparez deux redirections 301, côte à côte.

Les deux redirections sont mesurées de la même manière : DNS, connexion, TLS et temps jusqu’au premier octet. Ensuite, exécutez le même test vous-même avec un script.

Choix rapide
vs
Exécutions
Mesurer depuis

Saisissez une deuxième redirection et cliquez sur Comparer. Les résultats s'afficheront ici en quelques secondes.

Reproduisez-le

Ne nous croyez pas sur parole.

Le script effectue la même mesure depuis votre propre machine avec curl : une nouvelle connexion à chaque exécution, seule la première réponse est chronométrée, et la médiane est affichée.

  1. Téléchargez ou copiez le script.
  2. Exécutez-le dans un terminal sous macOS ou Linux (sous Windows, utilisez WSL ou Git Bash).
  3. Comparez les médianes avec le résultat ci-dessus.

Vos chiffres différeront des nôtres : ils dépendent de l'endroit où vous l'exécutez et de votre réseau.

Télécharger le .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"
Exécutez-le avec les deux redirections ci-dessus :
$ ./compare-redirects.sh https://redirhub.com https://example.com 10

Méthode

Ce que mesure le test

DNS

Résolution du domaine de la redirection.

Connexion

Ouverture d'une connexion TCP vers le serveur le plus proche.

TLS

La négociation HTTPS et la vérification du certificat.

Attente serveur

Jusqu'à l'arrivée du 301 et de son en-tête Location.

Seule la réponse de la redirection est chronométrée, pas la page de destination : une destination lente ne pénalise donc pas la redirection. Les sauts sont comptés à part. L'outil s'exécute sur Vercel Functions à Washington, D.C., Francfort et Tokyo, et non sur notre réseau de redirection, et alterne A et B à chaque exécution.

FAQ

Questions fréquemment posées

Pourquoi la redirection A pointe-t-elle par défaut vers redirhub.com ?
redirhub.com est une vraie redirection 301 servie par RedirHub, depuis le même réseau que les redirections des clients. Choisissez google.com ou x.com comme référence bien connue, ou remplacez-la par n’importe quelle URL pour comparer deux redirections de votre choix.
Le test est-il équitable pour les deux redirections ?
Les deux obtiennent le même nombre d’exécutions depuis le même emplacement, en alternant A, B, A, B, chacune sur une nouvelle connexion, et nous rapportons la médiane. Le test s’exécute sur Vercel, pas sur le réseau de RedirHub, et le script vous permet de le vérifier depuis le vôtre.
Depuis où le test est-il exécuté ?
Depuis les fonctions Vercel dans trois régions : Washington, D.C. (iad1), Francfort (fra1) et Tokyo (hnd1). Choisissez-en une, ou les trois, pour voir le résultat de chaque emplacement.
Suit-il toute la chaîne de redirection ?
Le chronométrage couvre uniquement la première réponse. Le nombre de sauts et l’URL finale montrent le reste de la chaîne.
Pourquoi les résultats de mon script diffèrent-ils ?
La distance au serveur, votre connexion et la mise en cache DNS modifient tous les chiffres. Comparez l’écart entre A et B, pas les valeurs absolues.