# Eine URL ist langsam – DNS, Verbindung, TLS, Redirect oder Server? Canonical page: https://blame76.com/snippets/bash/2026-09-17-eine-url-ist-langsam-dns-verbindung-tls-redirect-oder-server/ Category: Snippets Type: Bash Published: 2026-09-17 Updated: 2026-09-17 Tags: curl, http, timing, tls, dns, redirect „Die Seite ist langsam“ ist noch keine Diagnose. Zwischen Eingabe der URL und dem ersten Byte liegen mehrere Phasen. ## Messen statt raten ```bash curl -L -sS -o /dev/null \ -w 'dns=%{time_namelookup}s\nconnect=%{time_connect}s\ntls=%{time_appconnect}s\nfirst_byte=%{time_starttransfer}s\ntotal=%{time_total}s\nredirects=%{num_redirects}\nfinal=%{url_effective}\nstatus=%{http_code}\n' \ '' ``` ## Ergebnis lesen - **`time_namelookup` hoch:** DNS-Auflösung untersuchen. - **`time_connect` hoch:** Netzwerkweg oder Erreichbarkeit. - **großer Sprung bis `time_appconnect`:** TLS-Handshake auffällig. - **großer Sprung bis `time_starttransfer`:** Server/Application braucht Zeit bis zum ersten Byte. - **viele Redirects:** Weiterleitungskette prüfen. - **`total` deutlich größer als first byte:** Antwortübertragung selbst dauert. Die Werte sind kumulativ. Deshalb interessiert vor allem, **wo der nächste große Sprung entsteht**. ## Warum das besser ist als `time curl ...` Eine Gesamtdauer sagt nur, dass etwas langsam war. `--write-out` zerlegt denselben Request in messbare Phasen und macht aus einem Gefühl eine konkrete nächste Frage. Quelle: https://curl.se/docs/manpage.html