feat: wire-level forwarding, cache, request hedging, and DoH keepalive
Wire-level forwarding path skips DnsPacket parse/serialize on the hot path. Cache stores raw wire bytes with pre-scanned TTL offsets — patches ID + TTLs in-place on lookup instead of cloning parsed packets. Request hedging (Dean & Barroso "Tail at Scale") fires a second parallel request after a configurable delay (default 10ms) when the primary upstream stalls. DoH keepalive loop prevents idle HTTP/2 + TLS connection teardown. Recursive resolver now hedges across multiple NS addresses and caches NS delegation records to skip TLD re-queries. Integration test harness polls /blocking/stats instead of fixed sleep, eliminating the blocklist-download race condition.
This commit is contained in:
25
benches/numa-bench.toml
Normal file
25
benches/numa-bench.toml
Normal file
@@ -0,0 +1,25 @@
|
||||
[server]
|
||||
bind_addr = "127.0.0.1:5454"
|
||||
api_port = 5381
|
||||
api_bind_addr = "127.0.0.1"
|
||||
data_dir = "/tmp/numa-bench"
|
||||
|
||||
[upstream]
|
||||
mode = "recursive"
|
||||
timeout_ms = 10000
|
||||
|
||||
[cache]
|
||||
min_ttl = 60
|
||||
max_ttl = 3600
|
||||
|
||||
[blocking]
|
||||
enabled = false
|
||||
|
||||
[dot]
|
||||
enabled = false
|
||||
|
||||
[mobile]
|
||||
enabled = false
|
||||
|
||||
[lan]
|
||||
enabled = false
|
||||
Reference in New Issue
Block a user