Metode terbuka
Bagaimana kami memutuskan
Semua di browser. Data tidak keluar perangkat sampai Anda menekan Bagikan laporan. Logika di bawah lengkap — tidak ada yang disembunyikan.
Mengapa ini berbeda?
Speedtest mengukur satu server terdekat. Tes ini memeriksa rute dekat, rute jauh, dan aplikasi Anda — lalu menunjukkan apa yang jalan dan apa yang tidak.
Speedtest
My ISP Sucks
Satu tes mencakup
Satu server terdekat
Satu tes mencakup
Rute dekat, rute jauh, aplikasi Anda
Unduh, unggah, ping
Ya
Unduh, unggah, ping
Ya
Streaming, game, cloud
Diperkirakan dari angka
Streaming, game, cloud
Diperiksa di layanan itu
Apa yang jalan dan apa yang tidak
Tidak ditampilkan
Apa yang jalan dan apa yang tidak
Ditampilkan
Siapa yang bertanggung jawab
Tidak disebut
Siapa yang bertanggung jawab
Wi‑Fi, ISP, atau satu layanan
Yang bisa dikirim
Angkanya
Yang bisa dikirim
Keluhan
Tidak berafiliasi dengan Ookla atau Speedtest.
Jalankan tes ini1 · Apa yang kami uji
Empat lapisan, dari perangkat ke luar:
Gateway lokal (preflight)
10 HEAD ke PoP Cloudflare terdekat (600 ms). Ukur loss & jitter. ≥ 2 timeout atau σ > 30 ms → jalur tidak stabil.
Node dalam negeri (near)
AWS S3 di negara Anda (kode negara IP). Skor rendah = ISP lokal atau routing.
Node internasional (far)
16 wilayah AWS S3 dunia. Skor tinggi saat near bagus = gateway internasional.
Endpoint layanan (profile)
15–25 HEAD ke streaming/game/tech. Menemukan peering & blokir yang ping tidak lihat.
2 · Skor kesehatan node
Skor 0 (sempurna) sampai 1 (rusak). Rata-rata near dan far terpisah.
score = 0.7 × (packetLoss / 100)
+ 0.3 × clamp((actualMs − expectedMs) / (expectedMs × 3), 0, 1)
expectedMs = max(10, distanceKm / 50) ← speed-of-light RTT baselineContoh — 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 → sehat
nearScore < 0.25
Near: sehat
farScore > 0.35
Far: memicu aturan 6
farScore > 0.45
Far: menurun (5b)
3 · Outlier layanan
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 outlierContoh
Netflix 95 ms ✓ YouTube 88 ms ✓ Twitch 1 240 ms
cohortMedian = 88 ms → 1 240 ≥ 88 × 2.5 (220) → Twitch adalah outlier
4 · Rantai aturan
Pertama yang cocok menang. DevTools → Console menampilkan tiap aturan.
Offline
connectivity = fail, and no other check reached the internet
→ down / local_issue
Jalur lokal tidak stabil
Wi-Fi or cellular AND (preflight unstable OR jitter > 40 ms) AND farScore < 0.40
→ local_issue
DNS rusak
device is online AND dns = fail
→ isp_issue
Outlier layanan spesifik
core healthy AND 1 ≤ outliers ≤ 40 % of services
→ service_issue
Sebagian besar layanan buruk
core healthy AND badServiceFraction ≥ 50 %
→ isp_issue (peering)
Lalu lintas intl. diblokir
preflight loss = 0 AND nearScore < 0.25 AND farScore > 0.45 AND ≥ 3 far nodes
→ isp_issue (gateway)
Inti / far menurun
any test = fail OR farScore > 0.35
→ isp_issue
Degradasi ringan
any test = warn (no harder rule fired)
→ local_issue or isp_issue (medium)
Semua aman
→ healthy
5 · Pemenuhan paket
ratio = measuredDown / promisedDown ≥ 0.80 → "As advertised" ✓ ≥ 0.50 → "Underdelivering" ~ < 0.50 → "Far below plan" ✗
Hanya anotasi — tidak mengubah pihak bersalah.
6 · Privasi
Semua probe di browser. Tidak dikirim ke server sampai Anda menekan Bagikan laporan.
Yang dibagikan: putusan, skor, ISP, negara, medium. Tidak ada IP yang disimpan.