这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

更快的请求响应

    付费用户使用AdGuard私有服务, DNS请求路径如下:

    根据路径可以分析最快响应方案.

    本地缓存命中

    最快的响应是本地缓存命中, 由于本地缓存是内存级别的, 因此速度非常快, 只需要几微秒.

    这由DNS响应的TTL(time to live)值控制, 通常是几分钟到几小时, 表示查询结果在这段时间内有效, 不需要再次查询.

    您可以在控制面板 -> 设置 -> DNS 设置 -> DNS 缓存配置 -> 覆盖最小 TTL 值中设置最小TTL值, 增大该值以延长缓存时间, 使得系统更多的使用本地缓存, 通常的TTL值是600秒.

    但是, 由于本站同时有过滤能力, 如果您需要的服务被广告规则误拦截, 那么即使您暂时关闭了加密DNS, 也无法立刻访问到您需要的服务, 因为本地缓存的结果是被过滤规则修改过的. 因此, 设置为60秒是一个比较安全的值, 保证少数情况下用户不会因为误拦截, 在关闭加密DNS后等待过长时间.

    AdGuard DNS服务器

    本站目前使用位于杭州的阿里云服务器, 可以满足绝大部分东部地区用户的低延迟需求, 随着业务增长, 未来会在全国范围内增加服务器.

    服务器缓存命中

    默认为每个用户设置了4MB的DNS缓存, 根据经验, 这已经足够一个家庭的使用. 该设置的自由修改可能导致用户服务被强制中止, 本站已屏蔽了该设置的修改入口.

    上游DNS服务器

    由于使用的阿里云服务, 上游DNS服务也选用了阿里云的DNS服务, 速度非常快, 通常在几毫秒内返回结果.

    用户会有三个请求上游DNS服务器的方式:

    1. 负载均衡: 本站默认使用了负载均衡, 会自动选择最快的服务器返回结果.
    2. 并行请求: 本站暂时不会限制并行请求的使用.
    3. 最快的IP地址: 当前没有意义的设置, 本站已屏蔽了该设置的修改入口.

    说明一下为什么最快的IP地址没有意义, 最快IP需要由真正访问服务的设备本身来选择. 当AdGuard服务运行在杭州, 而用户在北京, AdGuard会认为杭州的IP地址最快, 但是实际上用户访问北京的服务速度最快, 选择杭州的IP地址反而会增加延迟. 因此, 本站已屏蔽了该设置的修改入口. 此设置在用户的家庭网络中可能有用, 但是在公共服务中没有意义.

    影响网络体验的因素有很多, 例如服务端带宽, 网络拥塞, 服务器负载, 网络质量等, 选择最快的IP地址并不能保证最快的响应速度, 延迟只是其中的一个因素, 不是唯一的因素. 为避免用户设置错误导致服务质量下降, 本站已屏蔽了该设置的修改入口.

    规则过滤

    最常用的模式是黑名单列表, 用户可以从预置的黑名单列表中选择. 黑名单的命中使用hash算法, 无论规则量多少, 命中时间都是O(1), 用户不必担心规则量过大导致命中时间过长.

    但是, 规则计算后存储在内存, 每个用户的服务内存使用限制在300MB以内, 这可以满足绝大部分用户的需求, 如果用户的规则量过大, 可能会导致内存不足, 服务被反复重启, 造成服务中断.

    本站暂时屏蔽了第三方规则的使用, 以避免用户引入过大的规则. 未来有更好的限制手段后, 会重新开放第三方规则的使用.

    总结

    希望获得更快的请求响应, 用户可以:

    1. 适当增大最小TTL值, 增大本地缓存命中率.
    2. 设置合适的DNS缓存大小(已预设值).
    3. 选择地理位置最接近的城市创建服务(待企业发展).
    4. 无出海需求, 选择负载均衡; 有出海需求, 选择并行请求.
    5. 使用合适自己的黑名单规则, 避免引入过大的规则.