Offene Methodik
So kommen wir zum Urteil
Alles läuft im Browser. Daten verlassen dein Gerät erst, wenn du Bericht teilen drückst. Die Logik unten ist vollständig — nichts ist versteckt.
Warum ist das anders?
Speedtest misst einen nahen Server. Dieser Test prüft nahe Routen, ferne Routen und deine Apps — und zeigt, was geht und was nicht.
Speedtest
My ISP Sucks
Ein Test umfasst
Einen nahen Server
Ein Test umfasst
Nahe Routen, ferne Routen, deine Apps
Download, Upload, Ping
Ja
Download, Upload, Ping
Ja
Streaming, Spiele, Cloud
Aus der Zahl geschätzt
Streaming, Spiele, Cloud
An diesen Diensten geprüft
Was geht und was nicht
Nicht gezeigt
Was geht und was nicht
Gezeigt
Wer verantwortlich ist
Nicht genannt
Wer verantwortlich ist
WLAN, ISP oder ein Dienst
Du kannst senden
Die Zahl
Du kannst senden
Eine Beschwerde
Keine Verbindung zu Ookla oder Speedtest.
Diesen Test starten1 · Was wir prüfen
Vier Schichten, vom Gerät nach außen:
Lokales Gateway (preflight)
10 HEAD-Anfragen zur nächsten Cloudflare-PoP (je 600 ms). Misst Verlust und Jitter. ≥ 2 Timeouts oder σ > 30 ms → Pfad instabil.
Inlandsknoten (near)
AWS-S3 in deinem Land (per IP-Ländercode). Niedriger Score = heimischer ISP oder Routing.
Internationale Knoten (far)
16 AWS-S3-Regionen weltweit. Hoher Score bei guten Near-Knoten = internationales Gateway.
Dienst-Endpunkte (profile)
15–25 HEAD zu Streaming/Gaming/Tech. Findet Peering und Blocks, die Ping nicht sieht.
2 · Knoten-Gesundheit
Score 0 (perfekt) bis 1 (kaputt). Near- und Far-Mittel getrennt.
score = 0.7 × (packetLoss / 100)
+ 0.3 × clamp((actualMs − expectedMs) / (expectedMs × 3), 0, 1)
expectedMs = max(10, distanceKm / 50) ← speed-of-light RTT baselineBeispiel — Tel Aviv → N. Virginia (9 500 km)
expectedMs = max(10, 9 500 ÷ 50) = 190 ms
actualMs = 219 ms, packetLoss = 0 %
score = 0 + 0.3 × clamp((219 − 190) / (190 × 3), 0, 1) = 0.015 → gesund
nearScore < 0.25
Near: gesund
farScore > 0.35
Far: löst Regel 6 aus
farScore > 0.45
Far: degradierend (5b)
3 · Dienst-Ausreißer
outlier if: status = "fail"
OR status = "slow" AND latencyMs ≥ cohortMedian × 2.5
slow = probe latency above 1 000 ms
ok under that line is not an outlierBeispiel
Netflix 95 ms ✓ YouTube 88 ms ✓ Twitch 1 240 ms
cohortMedian = 88 ms → 1 240 ≥ 88 × 2.5 (220) → Twitch ist Ausreißer
4 · Regelkette
Erster Treffer gewinnt. DevTools → Console zeigt jede Regel.
Offline
connectivity = fail, and no other check reached the internet
→ down / local_issue
Lokaler Pfad instabil
Wi-Fi or cellular AND (preflight unstable OR jitter > 40 ms) AND farScore < 0.40
→ local_issue
DNS kaputt
device is online AND dns = fail
→ isp_issue
Einzelner Dienst-Ausreißer
core healthy AND 1 ≤ outliers ≤ 40 % of services
→ service_issue
Die meisten Dienste schlecht
core healthy AND badServiceFraction ≥ 50 %
→ isp_issue (peering)
Intl. Traffic blockiert
preflight loss = 0 AND nearScore < 0.25 AND farScore > 0.45 AND ≥ 3 far nodes
→ isp_issue (gateway)
Kern / Far degradiert
any test = fail OR farScore > 0.35
→ isp_issue
Weiche Degradation
any test = warn (no harder rule fired)
→ local_issue or isp_issue (medium)
Alles klar
→ healthy
5 · Tarif-Erfüllung
ratio = measuredDown / promisedDown ≥ 0.80 → "As advertised" ✓ ≥ 0.50 → "Underdelivering" ~ < 0.50 → "Far below plan" ✗
Nur Annotation — ändert den Schuldigen nicht.
6 · Privatsphäre
Alle Probes im Browser. Nichts geht an uns, bis du Bericht teilen.
Geteilt: Urteil, Scores, ISP, Land, Medium. Keine IP-Adressen gespeichert.