Пишу небольшого кроулера на bash + curl + sed Заметил, что основная потеря скорости идёт при резолвинге DNS. Поставил pdnsd, но появилась другая проблема:
Если курлить неспеша, с большими таймаутами и в один процесс, то всё окей, а если делать cat input.urls | xargs -P 350 -l1 curl.sh То через несколько секунд после начала работы скрипта curl лавинообразно выдаёт шестую ошибку (Couldn't resolve host. The given remote host was not resolved)
При этом, если в curl.sh написать "nslookup $domain", то выполняется всё отлично, хоть xargs -P 10000 ставь.
Разве curl и nslookup не через одну и ту же библиотеку работают? Как решить эту проблему? Какой локальный кеш DNS посоветуете?
PS если вместо curl'а использовать wget, то проблема остаётся.