调整AdGuard Home的DNS,核心不是把所有参数全部拉满,而是分清哪些配置真正影响网页点击瞬间的响应速度。
上游DNS的选择,直接决定解析性能上限 AdGuard Home本身不做递归解析,只会把查询转发到上游DNS服务器。上游响应快慢,直接决定首次解析耗时。如果只填写单个上游,例如Quad9的DoH,平均响应大概230毫秒。同时添加AdGuard DNS DoH、Cloudflare DoH、Control D DoH、NextDNS DoH之后,Quad9的平均延迟可以降到70毫秒。原理不难理解,AdGuard Home会在多个上游之间调度,同时分发请求,采用最先返回的解析结果。

第一条实用建议,不要只填写单个上游,至少添加两家不同服务商。国内用户可以选用阿里DNS DoH搭配腾讯DNSPod DoH;海外用户推荐Cloudflare加Quad9。数量不用过多,三到四个就足够,过多上游只会增加维护负担。
并发查询和最快IP,两个选项的作用方向不一样
AdGuard Home有两个容易混淆的开关。all_servers开启之后,查询请求会同时发送全部上游服务器,优先采用最先返回的结果。fastest_addr会让所有上游完成解析,再对返回IP做ping检测,挑选延迟最低IP作为最终解析结果。
两个选项效果差异很大。all_servers可以压低解析本身的延迟,但选中IP不一定是访问最快的。fastest_addr选出的IP访问体验最优,但首次解析耗时更高,需要等待全部解析结果完成再逐个ping。有不少使用者总结:想要后台面板延迟数据好看,开启all_servers;想要实际上网体验更好,启用fastest_addr,搭配乐观缓存,运行几天缓存建立之后,延迟自然下降。
如果主要访问国内站点,all_servers搭配国内DoH上游,体验就足够好。经常访问境外服务,fastest_addr优势更明显,能在多组解析结果里筛选当前线路最优IP。
缓存配置是提升收益最高的环节 AdGuard Home默认缓存大小4194304字节,也就是4MB,家庭网络一般够用,也可以根据内网设备数量适当调大。
真正影响体验的是cache_optimistic这个选项。开启之后,就算缓存条目过期,AdGuard Home会先把旧IP返回客户端,后台同步向上游刷新记录,返回TTL固定为10秒。也就是说不会因为缓存过期,等待上游查询完成,网页打开瞬间DNS响应几乎瞬时完成。
TTL上下限可以手动设置。一般建议最小TTL600秒,最大TTL3600秒。最小TTL含义是上游返回TTL低于该数值时,强制拉高到600秒,延长缓存留存时间。最大TTL是上游TTL高于3600秒,压缩到3600秒,防止IP变更后长期使用失效缓存。
乐观缓存存在一点代价。网站更换服务器IP之后,乐观缓存会短暂返回旧IP,直到后台刷新完毕。绝大多数家庭上网场景,这个影响可以忽略。金融类站点要求IP即时更新,需要单独添加例外规则。
过滤规则数量会影响处理速度 AdGuard Home过滤引擎使用前缀树Trie存储域名规则,匹配效率本身很高。但规则文件体积越大,内存占用越高,加载和匹配过程消耗更多CPU。记住一点,订阅更多规则列表不等于拦截效果更好。
普通家庭推荐订阅四到五个规则:AdGuard DNS Filter官方规则,覆盖国内外广告;EasyList海外广告;EasyList China中文广告;YHosts中文广告hosts。这几组规则组合,基本覆盖绝大多数广告域名。继续叠加更多订阅,新增拦截效果越来越弱,误杀正常网站的概率上升。
定期清理订阅列表也能优化性能。如果某个订阅长期不更新,或者频繁和常用网站冲突,直接删除。规则精简,匹配速度更快,误拦截更少。
容易忽略的性能开关:pending_requests
AdGuard Home v0.107.61版本新增pending_requests配置项,默认开启。功能是多台客户端同时请求同一个域名时,AdGuard Home只向上游发起一次查询,不会每个客户端请求单独提交查询。
家庭内网场景下这个功能性能提升不算明显,多设备同时查询同一个域名的情况不多。但安全层面有增益,可以降低缓存投毒攻击成功率。没有特殊需求,不要关闭这项设置。
调参顺序建议
初次部署AdGuard Home,不用一次性修改全部参数。优先完成三件事:上游填写两到三家不同服务商DoH地址,打开cache_optimistic,规则订阅控制在四到五个。完成这三步,DNS响应速度已经优于绝大多数默认配置。运行几天之后,查看后台查询日志的平均处理时间,如果超过20毫秒,再排查上游地址选择问题或者规则列表臃肿问题。调优是持续观察、调整、复测的过程,不是直接套用一套参数就一劳永逸。