Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

发现开启探测的时候,每次选择一个目标IP,存在性能问题 #1914

Open
maojianyou opened this issue Feb 14, 2025 · 4 comments

Comments

@maojianyou
Copy link

问题现象
假设一个域名,通过开启探测后,本来可以实现负载均衡,比如 www.baidu.com 解析地址 1.1.1.1 1.1.1.2 3.3.3.3 3.3.3.4 本来 1.1.1.1跟1.1.1.2 时延是差不多的,但每次都只能调用1.1.1.1只能用一个,没有在1.1.1.1 跟1.1.1.2 实现轮询探测

运行环境

  1. 固件型号
    centos 6.5 x64

  2. 运营商

  3. smartdns来源以及版本
    smartdns.1.2024.06.12-2222.x86_64-linux-all.tar.gz

  4. 涉及的配置(注意去除个人相关信息)

重现步骤

  1. 上游DNS配置。
    119.29.29.29
  2. 访问的域名。
    假设www.baidu.com 解析4个地址,只讨论DNS的探测,返回一个IP的情况

信息收集

  1. 将/var/log/smrtdns.log日志作为附件上传(注意去除个人相关信息)。
  2. 如进程异常,请将coredump功能开启,上传coredump信息文件,同时上传配套的smartdns进程文件。
    在自定义界面,开启设置->自定义设置->生成coredump配置,重现问题后提交coredump文件
    coredump文件在/tmp目录下
@pymumu
Copy link
Owner

pymumu commented Feb 23, 2025

要开启缓存,差不多速度的IP是会同时返回给客户端做轮询的。

@PikuZheng
Copy link
Contributor

要开启缓存,差不多速度的IP是会同时返回给客户端做轮询的。

上面是说没有在smartdns应答时实现轮询。比如dns.alidns.com永远是5在前6在后(即使6比5快

@pymumu
Copy link
Owner

pymumu commented Feb 23, 2025

第一个是最快的,其他是按照时延顺序排序的,没有轮询机制。

@CallMeR
Copy link

CallMeR commented Feb 24, 2025

他说的可能是类似 dnsmasq 的
--no-round-robin
Dnsmasq normally permutes the order of A or AAAA records for the same name on successive queries, for load-balancing. This turns off that behaviour, so that the records are always returned in the order that they are received from upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants