My ISP Sucks
Laporkan

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 ini

1 · 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 baseline

Contoh — 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 outlier

Contoh

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.

1

Offline

connectivity = fail, and no other check reached the internet

→ down / local_issue

2

Jalur lokal tidak stabil

Wi-Fi or cellular AND (preflight unstable OR jitter > 40 ms) AND farScore < 0.40

→ local_issue

3

DNS rusak

device is online AND dns = fail

→ isp_issue

4

Outlier layanan spesifik

core healthy AND 1 ≤ outliers ≤ 40 % of services

→ service_issue

5

Sebagian besar layanan buruk

core healthy AND badServiceFraction ≥ 50 %

→ isp_issue (peering)

5b

Lalu lintas intl. diblokir

preflight loss = 0 AND nearScore < 0.25 AND farScore > 0.45 AND ≥ 3 far nodes

→ isp_issue (gateway)

6

Inti / far menurun

any test = fail OR farScore > 0.35

→ isp_issue

6b

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.