PHP-скрипт, выполняющий большое количество DNS-запросов - лучший способ его обработки

У меня есть работа, которая запускается раз в неделю и извлекает группу из 700 имен хостов. Мне нужно перевести их в IP-адреса. Моим первым экспериментом был вызов нативной функции php "dns_get_record", в которой результаты сохранялись в БД.

Из-за большого количества DNS-запросов сценарий заставил мой сервер зависнуть и, возможно, ребята из службы поддержки DNS подумали, что он подвергся атаке.

Сейчас я думаю распространить эти запросы на 6 часов, может быть, 12 после запуска скрипта. Поэтому я подумал о том, чтобы использовать сон (30) в конце цикла foreach. Это лучший способ сделать это?

Есть ли у вас какие-либо другие предложения, чтобы сделать его легче для моего сервера и, следовательно, для DNS?

Спасибо

1 ответ

Решение

Сохранить последнее запрашиваемое время в БД, а затем запросить ваш список DNS с помощью этого списка? Сценарий оболочки couse будет даже необходим для запуска php-скрипта, как каждые 10 секунд и т. д. С этим сценарием вы можете проверить время последнего запроса, и если прошло 30 секунд, то переделать ваш запрос и т. д...

Другие вопросы по тегам