-
Notifications
You must be signed in to change notification settings - Fork 0
Scoring
natural edited this page Sep 2, 2026
·
1 revision
NatBench computes a 0–100 score for each server based on four components:
| Component | Weight | Metric |
|---|---|---|
| Speed | 50% | Median latency (ms) |
| Reliability | 30% | Success rate (%) |
| Consistency | 10% | P95 − Median spread |
| Security | 10% | DNSSEC + malware + ad blocking |
speed_score = max(0, 50 − median_ms / 4)
A server answering in 0 ms would score 50. At 200 ms it scores 0.
reliability_score = success_rate * 30
100% success = 30 pts. Any failed query reduces this proportionally.
spread = p95_ms − median_ms
consistency_score = max(0, 10 − spread / 10)
A tight spread (low jitter) earns full 10 pts. High variance reduces score.
| Feature | Points |
|---|---|
| DNSSEC validation | 4 |
| Malware blocking | 4 |
| Ad blocking | 2 |
DNSSEC is tested by querying a known-bad DNSSEC domain and checking for SERVFAIL.
Malware blocking is tested with a known malicious domain.
Ad blocking is tested with a known ad-network domain.
| Range | Label |
|---|---|
| 90–100 | Excellent |
| 75–89 | Good |
| 50–74 | Fair |
| 25–49 | Poor |
| 0–24 | Bad |
When using all protocol mode, each protocol run produces its own ServerStats.
Results are merged: the best (lowest median) result per server is shown.