V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
aliipay
V2EX  ›  MySQL

100 万在线用户,浏览网页,播放在线视频之类的操作, 权威 dns 服务器大概会有多少 qps?域名 ttl 为 10 秒

  •  1
     
  •   aliipay · 2016-02-21 16:18:28 +08:00 · 6244 次点击
    这是一个创建于 2989 天前的主题,其中的信息可能已经有所发展或是发生改变。
    47 条回复    2016-02-22 15:02:46 +08:00
    wico77
        1
    wico77  
       2016-02-21 16:20:51 +08:00
    我擦。你是 gg 家的吗
    aliipay
        2
    aliipay  
    OP
       2016-02-21 16:28:38 +08:00
    @wico77 gg 是哪家? 100w 确实大,没办法,大 boss 目标是今年超越 bxx ,呵呵
    wdlth
        3
    wdlth  
       2016-02-21 16:36:03 +08:00
    先考虑带宽吧……
    wico77
        4
    wico77  
       2016-02-21 16:38:12 +08:00
    LZ 是哪家公司? alibaba ?
    VmuTargh
        5
    VmuTargh  
       2016-02-21 16:41:03 +08:00
    A 站?
    aliipay
        6
    aliipay  
    OP
       2016-02-21 16:41:21 +08:00
    @wdlth 带宽不是问题,而且会考虑 anycast
    qcloud
        7
    qcloud  
       2016-02-21 16:42:26 +08:00
    弱弱的问下。贵站用的啥 DNS
    aliipay
        8
    aliipay  
    OP
       2016-02-21 16:47:55 +08:00
    @qcloud 我的问题就是问的权威 dns 好不,基于开源权威 dns 二次开发的-_-
    qcloud
        9
    qcloud  
       2016-02-21 16:52:14 +08:00
    - -二次开发的哈
    aliipay
        10
    aliipay  
    OP
       2016-02-21 16:53:57 +08:00
    @qcloud qcloud , 腾讯员工? 腾讯云有自己的权威 dns 吗?
    qcloud
        11
    qcloud  
       2016-02-21 16:54:37 +08:00
    @aliipay 当然有
    aliipay
        12
    aliipay  
    OP
       2016-02-21 16:55:39 +08:00
    @VmuTargh @wico77 都不是,不要猜了
    aliipay
        13
    aliipay  
    OP
       2016-02-21 16:56:13 +08:00
    @qcloud 有参考数据吗?
    qcloud
        14
    qcloud  
       2016-02-21 16:56:52 +08:00
    @aliipay 没有, QQ 的 DNS ,我没权查看 - -
    wdlth
        15
    wdlth  
       2016-02-21 17:22:14 +08:00
    得看具体场景,包括页面上你们的域名个数,解析类型及次数,是否有 beacon 等请求频繁的技术,当然还得看运营商是否劫持……
    Andy1999
        16
    Andy1999  
       2016-02-21 20:06:07 +08:00 via iPhone
    aliipay qcloud 都有了 还差 @sina @163
    loading
        17
    loading  
       2016-02-21 20:26:46 +08:00 via Android
    12306?
    tracymcladdy
        18
    tracymcladdy  
       2016-02-21 20:30:19 +08:00
    视频是自家的么?
    moult
        19
    moult  
       2016-02-21 21:16:55 +08:00
    如果权限够的话,在页面里面插入一张测试域名下面的尽可能小的图片,这个测试域名使用 DNSPod 之类的托管,次日,看页面的在线数量和 DNSPod 这边的统计数据就好了。
    简单但是有点粗暴。
    firefox12
        20
    firefox12  
       2016-02-21 21:25:41 +08:00
    ttl 设置为 10 这完全是太低了,不是个合适的数值。
    leeyiw
        21
    leeyiw  
       2016-02-21 21:37:42 +08:00   ❤️ 1
    感觉 LS 各位都没有认真的回答 LZ 的问题。我来估算一下:

    假设 LZ 的网站所有类型资源都在一个域名下,比如 V2EX ,那么只有一个域名,需要考虑就是 Local
    DNS 到权威的请求了, 100W 用户这个规模,我们可以拍脑袋假设有 5000 个 Local DNS 底下的用户会使用这个域名。假设所有的 Local DNS 都遵循 TTL 10 ,那么就是 5000 / 10 = 500 QPS 。

    上述情况没有考虑 edns-client-subnet ,如果 LZ 的权威服务器做了智能 DNS ,支持 edns-client-subnet ,那么情况要复杂很多,以目前国内 Local DNS 的 EDNS 覆盖率来看(拍脑袋),假设有 1%( 50 个) 的 Local DNS 支持这个新特性,且在每个 Local DNS 底下有不同的 100 个 C 段的客户端,且 LZ 的权威服务器是按照 C 段做智能 DNS ,那么这种情况的 QPS 是 (50 * 100) / 10 = 500 QPS 。

    综上,预估 4950 / 10 + (50 * 100) / 10 = 995 QPS 。多个域名另算。
    leeyiw
        22
    leeyiw  
       2016-02-21 21:39:57 +08:00
    另外, LZ 需要严重考虑的一点是权威 DNS 被 DDoS 攻击的情况,以我之前在 DNS 安全方面的经验,站如果大一点,权威 DNS 被打的概率就特别高,如果是自己开发,没有相关的防护措施,或者性能容量不能横向扩展,那基本上是死路一条。应用层 DDoS 来说,一些域名的随机查询, QPS 会上万。如果是 UDP 大包的流量型攻击,如果权威 DNS 托管的机房不能承受 10Gbps 的攻击流量,那被黑客玩死就是淘宝几十块钱一波的事情。
    mRNA
        23
    mRNA  
       2016-02-21 21:40:15 +08:00   ❤️ 1
    TTL 10 秒 只是客户端上的生存时间,而解析的 IP 记录会在临近的 DNS 服务器上保存较长一段时间以便于分担 DNS 查询任务。 so ,如果只考虑解析一个域名的话,即使有 100 万用户在同一段时间打开主页,最高权限的 DNS 上的查询次数不会超出百万(应该会低很多很多~),大多数查询任务都被下一级的 DNS 分担了。
    jeeve
        24
    jeeve  
       2016-02-21 21:41:37 +08:00
    同时在线 100W ?这个有点虚吧?
    leeyiw
        25
    leeyiw  
       2016-02-21 21:42:19 +08:00
    做性能预估需要考虑的场景特别多,建议 LZ 还是把域名放到 DNSPod 上面去用几个月,然后根据报表再进行预估靠谱很多。话说很感兴趣 LZ 是哪家的,自研权威 DNS ,还有 Anycast ,厉害。
    Alchemistxxd
        26
    Alchemistxxd  
       2016-02-21 21:43:39 +08:00
    斗鱼 TV
    leeyiw
        27
    leeyiw  
       2016-02-21 21:47:47 +08:00
    @moult 如果这个站各个页面有爬虫的话,你说的这种方法可能会有比较大的偏差。
    aliipay
        28
    aliipay  
    OP
       2016-02-21 21:52:33 +08:00
    @leeyiw 非常感谢。目前手上能直接用的机房能抗万兆,求淘宝只要几十块钱的链接。

    TTL 设 10 秒是为了流量调度方便。视频有自家的也有第三方的,所以域名不止一个,现在大概有近百个。
    aliipay
        29
    aliipay  
    OP
       2016-02-21 21:54:04 +08:00
    @leeyiw 还没用 anycast ,这个难度有点大,现在只是有个想法
    leeyiw
        30
    leeyiw  
       2016-02-21 21:57:09 +08:00   ❤️ 1
    @aliipay 万兆真的只要几十块钱就能打挂。 10Gbps 这个流量,机房到了就给你拔线了。不然其他客户要投诉他们。 DNS 的带宽容量起码要是 40Gbps ,因为你 Glue Record 的 TTL 肯定会比较长,如果 DNS 被打挂了就算你有备份的机房 /服务器切换过去都要承受好几分钟的流量损失。我是个外行,据我不完全了解,现在 DDoS 攻击遭殃的一般都是 10Gbps 带宽的站,因为这样的站最多。

    TTL 设短了方便调度 CDN 节点,但是 DNS 服务器本身被攻击的时候损失就很大。设长了 CDN 节点被攻击的损失大。按照一般的云 CDN 厂商的配置,一般来说 30s 或者 60s 是比较推荐的值。
    em70
        31
    em70  
       2016-02-21 21:57:28 +08:00 via iPhone
    绝大多数死掉的互联网项目都是因为在只有 100 个用户的时候考虑一亿用户的事情倒闭的
    leeyiw
        32
    leeyiw  
       2016-02-21 21:59:36 +08:00
    @aliipay 我觉得如果不是特殊的需求的话,也没必要自研 DNS , AnyCast 和 BGP 机房太昂贵了, DNSPod 的企业版 API 应该能满足调度需求,遇到攻击了他们也有防护。实在要自研的话,我记得 360 出过一个 DNS 云甲的产品,可以作为 DNS 防火墙来用一用。
    phoenixlzx
        33
    phoenixlzx  
       2016-02-21 22:07:40 +08:00   ❤️ 1
    (´・ω・`)说起来, Anycast 本身也可以用来抗攻击的( cloudflare 啦 ovh 啦 online 啦 都是用 Anycast 分散流量然后硬防搞定

    只是看楼主能不能承担的起在机房里部署硬防、硬件路由器然后广播自己的 AS 了...(最后一个不贵但是好麻烦啊啊啊啊
    leeyiw
        34
    leeyiw  
       2016-02-21 22:10:43 +08:00
    @phoenixlzx Anycast 最大的价值不就是抗攻击吗? BGP 广播真的不贵吗?我怎么听人说死贵死贵的??没玩过,求介绍呀。
    lhbc
        35
    lhbc  
       2016-02-21 22:14:59 +08:00
    把 NS 托管给第三方就行了
    你这点请求对他们来讲只是九牛一毛,免费用都没问题
    可以付费增加多线路、缩短 TTL 、更多 A 记录等功能
    DNSPod 好像最低的 TTL 只能 300 还是多少

    如果有攻击,花钱就是了,总之肯定比你自己建省事省钱省心
    phoenixlzx
        36
    phoenixlzx  
       2016-02-21 22:23:03 +08:00
    @leeyiw Anycast 最大的价值在于路由优化,让客户端自动通过最短的路由访问到服务器

    BGP 广播首先需要你自己的 ASN ,可以去申请一个... 略麻烦的感觉。国外都比较方便,和朋友玩过 Anycast ,基本都是不收费或者收一点 setup fee

    国内... 貌似广播 IP 还得跟 CNNIC 申请...?反正先别说钱,烦都烦得要死
    leeyiw
        37
    leeyiw  
       2016-02-21 22:25:26 +08:00
    @phoenixlzx 我说的就是国内,据说国内特别贵呢。。。据说这事主要是运营商不想推动,因为既得利益在那里。
    mytsing520
        38
    mytsing520  
       2016-02-22 00:55:42 +08:00
    @leeyiw 有价格表。
    根据 CNNIC 官网上的相关规定, CNNIC 根据用户申请的 IP 地址数量来确定用户等级。 IPv4 共划分为 20 个等级,数值越大等级越高。最小的一级用户, IP 地址数量小于等于 /24 的每年 7000 元,最大的 20 级用户大于 /8 小于 /7 的每年 54 万元。 AS 号码每个每年 1 万元。然后,用户需要提交互联协议,至少要和国内两个 AS 号产生互联。互联的费用由用户与互联接入商自行协商, CNNIC 不管这块。
    phoenixlzx
        39
    phoenixlzx  
       2016-02-22 00:57:19 +08:00
    坑... ARIN 一个 /22 每年 500 美元...
    mytsing520
        40
    mytsing520  
       2016-02-22 00:57:58 +08:00
    @aliipay 从楼主的情况来看,直接托管机房,然后丢个国内三大 CDN 厂商中的一家进行视频分发。至于 DNS ,如果非要自建的话,可以考虑建设智能解析,然后 DNS 服务器托管在三大运营商即可, DDOS 防护量这块可以和机房自行协商。
    mytsing520
        41
    mytsing520  
       2016-02-22 00:58:32 +08:00
    @phoenixlzx APNIC 手头的 IPv4 地址已经用完了,价格自然就上去了
    shanks
        42
    shanks  
       2016-02-22 03:35:04 +08:00
    权威 DNS 还有上 anycast 的道理?

    话说没人吐槽这是在 mysql 节点下面吗。。
    leeyiw
        43
    leeyiw  
       2016-02-22 09:49:43 +08:00
    @shanks 为什么没有上 AnyCast 的道理呢?上面几楼都把上 AnyCast 的必要性说了呀。
    houzhenhong
        44
    houzhenhong  
       2016-02-22 10:08:18 +08:00 via Android
    wwek
        45
    wwek  
       2016-02-22 11:49:41 +08:00
    @leeyiw 说的非常好的.
    这个规模不考虑自建. 三方吧
    shanks
        46
    shanks  
       2016-02-22 14:38:47 +08:00
    @leeyiw 如果说分流的话,不是可以用智能调度来解吗,不一定非要上 anycast 吧。

    其实我也不是很清楚哈,不过貌似你司就没上 anycast XD
    leeyiw
        47
    leeyiw  
       2016-02-22 15:02:46 +08:00
    @shanks 它本身就是在做智能 DNS ,还要用别的智能 DNS 给他来解分流?哈哈有点奇怪吧。你说的是阿里吗?阿里公共 DNS 貌似上了 Anycast
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1313 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 17:36 · PVG 01:36 · LAX 10:36 · JFK 13:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.