我们计划建立自己的DNS 服务器用于管理我们所有的子域。我想将租约时间设置为 1 小时。我们预计每小时的 DNS 请求峰值为 2000 万。我想知道我们需要什么样的硬件来实现这一点。我们计划使用具有以下功能的服务器:
- Intel® Core™ i7-2600 四核处理器
- 16 GB DDR 3 内存
- Gbit 网络连接
- 基于 Ubuntu x64 服务器的 BIND。
这现实吗?
// 更新/备注:后来我们安装了 3 个这种服务器,并绑定了 TTL 为 5 分钟。即使每天用户数达到 4000 万(不唯一),服务器的 CPU 负载也至少为 10%-15%。RAM 也不是问题。
答案1
虽然我真的不喜欢使用消费级 CPU 来处理专业工作,但 i7 可以轻松处理工作,除非你希望保存大量的 DNS 缓存条目,否则 16GB 也可以。20m/r/hr 大约是 5,555/s 或恒定速率下大约 85Mbps,你确定你有这个带宽吗完全清楚从服务器到您的客户端(即确保任何防火墙/负载平衡器也可以处理)?
话虽如此,我个人会少花一点钱(也许买一台 i5 和 8GB)购买两台服务器以提高弹性,想象一下,如果单个消费级“服务器”崩溃!您的服务就会中断,直到您能修复它,对吗?
答案2
根据 RFC2182,您需要至少拥有 3 个不在同一子网且最好位于不同地理位置的名称服务器。
和 Chopper3 一样,我不建议使用消费级设备来做域名服务器。但无论如何,我真的不建议运行自己的服务器。我建议,面对如此多的查询,您应该依赖托管 DNS 服务,因为像我这样的团队已经不知疲倦地设计这些服务来处理大量请求。
如果您真的想运行自己的 DNS 服务器,而不是依赖托管 DNS 服务,那么至少我建议您考虑在某些 VPS(虚拟专用服务器)上运行您的名称服务器,或者如果您喜欢硬件,可以在另一个城市的另一个主机托管 DC 中获取四分之一机架,并将一个披萨盒(1U 机架式服务器)放在其中,将两个放在您的主 DC 中。