PHP 执行大量 DNS 查询的脚本 - 处理它的最佳方式

PHP script doing large amount of DNS queries - best way for handling it

我有一个每周运行一次并检索 700 个主机名的作业。我需要将它们转换成 IP 地址。我的第一个实验是调用 php 本机函数 "dns_get_record",将结果存储到数据库中。

由于需要执行大量的 DNS 查询,该脚本使我的服务器冻结,而且 DNS 支持人员可能认为它受到了攻击。

现在我正在考虑将此查询分散到整个 6 小时内,也许在脚本启动后的 12 小时内。所以我想在 foreach 循环的末尾使用 sleep(30) 。这是最好的方法吗?

您有任何其他建议可以减轻我的服务器和 DNS 的负担吗?

谢谢

将上次查询时间保存到数据库,然后使用此列表查询您的 DNS 列表?当然 shell 脚本甚至需要 运行 php 脚本,例如每 10 秒一次等。使用该脚本,您可以检查上次查询时间,如果 30 秒过去了,则重新进行查询等...