1

我有一个每周运行一次的工作并检索一堆 700 个主机名。我需要将它们翻译成 IP 地址。我的第一个实验是调用 php 原生函数“dns_get_record”,将结果存储到数据库中。

由于要执行的 dns 查询数量,该脚本使我的服务器冻结,也许来自 DNS 支持的人认为它受到了攻击。

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

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

谢谢

4

1 回答 1

1

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

于 2015-11-26T16:01:51.257 回答