我有一个包含大量无效电子邮件的数据库。
我想删除所有域名没有 mx 记录的电子邮件。
因此,在我提取了域部分之后,我编写了一个脚本来批量检查不同的域,通过在dig [domainName] mx +short
每个域之间执行以毫秒为单位的睡眠时间。
对于约 5000 个域,执行该命令的可接受速率是多少,而不会被我的 ISP 视为对网络的威胁?这意味着我应该将睡眠时间设置为多少才能保持安全。
答案1
5000 个查询确实不多,至少在顺序执行时不多。
就上下文而言,在 DNS(服务器)规模讨论中,我们通常会讨论每秒查询次数或每月查询次数。我们可能还会担心放大效应,具体取决于查询类型和服务器类型。
以下是旧 F5 白皮书中提出的 2018 年强大的 DNS 处理方法:
借助 DNS Express,每个 BIG-IP 设备的单独核心每秒可以回答大约 125,000 到 200,000 个请求,可扩展到超过 5000 万个查询 RPS,是典型主 DNS 服务器容量的 12 倍以上。
因此,您可以看到 5000 个查询并不是很多。但如果并行执行或经常执行,或者您的网络 DNS 服务器规模过小或过载,则可能会产生额外的负载。您没有指定频率,但这听起来不像是一项您会经常运行的任务。无论如何,将这些查询分开可能仍然是礼貌的做法,但如果您实际上dig
从脚本连续调用 5000 次(并等待退出值),则每次查询之间都会产生轻微的延迟。对于无法解析的域,延迟时间也会更长,而对于那些名称服务器无响应的域,延迟时间会更长。
但如果您频繁运行此脚本,那么您将经常重复相同的查询。在这种情况下,最好进行一些本地缓存以减少重复,但实施细节超出了本问题的范围。
我认为您的 ISP 不会关心,除非网络的上行带宽非常低或状态防火墙非常有限(例如,如果您在南极洲的设施,可能需要向他们核实)。消费者 ISP 也更关心入站查询,而不是出站查询(例如,您是否在运行被禁止的服务器)。
总结:除非您的 DNS 服务器非常小、上行链路很小,或者可能同时运行它们,否则 5000 次 MX 查询不会引起任何警觉。从总体上看,这是一个很小的数字。
答案2
Google 8.8.8.8 和/或 8.8.4.4(和 IPv6)运营的公共解析器认为每秒少于 1500 个查询的任何内容都是可以接受的,并且不受速率限制。
来源:
https://developers.google.com/speed/public-dns/docs/isp
所以请随意使用它们。
但是,无法保证您的 ISP 或网络管理员认为存在异常使用模式以及怀疑滥用的原因是什么……