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 秒过去了,则重新进行查询等...
我有一个每周运行一次并检索 700 个主机名的作业。我需要将它们转换成 IP 地址。我的第一个实验是调用 php 本机函数 "dns_get_record",将结果存储到数据库中。
由于需要执行大量的 DNS 查询,该脚本使我的服务器冻结,而且 DNS 支持人员可能认为它受到了攻击。
现在我正在考虑将此查询分散到整个 6 小时内,也许在脚本启动后的 12 小时内。所以我想在 foreach 循环的末尾使用 sleep(30) 。这是最好的方法吗?
您有任何其他建议可以减轻我的服务器和 DNS 的负担吗?
谢谢
将上次查询时间保存到数据库,然后使用此列表查询您的 DNS 列表?当然 shell 脚本甚至需要 运行 php 脚本,例如每 10 秒一次等。使用该脚本,您可以检查上次查询时间,如果 30 秒过去了,则重新进行查询等...