У меня есть работа, которая запускается раз в неделю и извлекает группу из 700 имен хостов. Мне нужно перевести их в IP-адреса. Моим первым экспериментом был вызов нативной функции php «dns_get_record», в которой результаты сохранялись в БД.
Из-за большого количества DNS-запросов сценарий заставил мой сервер зависнуть и, возможно, ребята из службы поддержки DNS подумали, что он подвергся атаке.
Сейчас я подумываю распространить эти запросы на 6 часов, может быть, 12 после запуска скрипта. Поэтому я подумал о том, чтобы использовать сон (30) в конце цикла foreach. Это лучший способ сделать это?
Есть ли у вас какие-либо другие предложения, чтобы сделать его легче для моего сервера и, следовательно, для DNS?
Спасибо
сохранить последнее запрашиваемое время в БД, а затем запросить ваш список DNS с помощью этого списка? сценария оболочки couse будет даже необходим для запуска php-скрипта, как каждые 10 секунд и т. д. с этим сценарием вы можете проверить время последнего запроса, и если прошло 30 секунд, то переделать ваш запрос и т. д …
Других решений пока нет …