Как мы можем кэшировать результат gethostbyname?

Мой прокси-сервер тратит много времени на разрешение доменных имен, есть ли способ заставить gethostbyname кэшировать результат?


person DriverBoy    schedule 23.05.2011    source источник
comment
Немного тангенциально, но gethostbyname — устаревшая функция, которую вам не следует использовать. man getaddrinfo.   -  person R.. GitHub STOP HELPING ICE    schedule 24.05.2011


Ответы (1)


Используйте nscd, демон кэширования службы имен

person Gunther Piez    schedule 23.05.2011
comment
Вы имеете в виду, что после запуска этой службы последующие вызовы gethostbyname будут автоматически кэшироваться? - person DriverBoy; 23.05.2011
comment
Это именно то, что он делает. Просто взгляните на справочную страницу. Кэширование отрицательных и положительных результатов можно настроить отдельно, AFAIK - person Gunther Piez; 23.05.2011
comment
Звучит как глупый системный подход к выполнению чего-то, что можно было бы так же легко выполнить с помощью кеширующего/прокси-сервера имен на локальном хосте... - person R.. GitHub STOP HELPING ICE; 24.05.2011
comment
Неправильная точка зрения. Кэширующий сервер имен — это тяжеловесный подход к тому, что может быть легко выполнено с помощью nscd :-) У nscd немного другая область действия, так как он кэширует getpwnam() и getgrpnam(). Очень эффективен для предотвращения серьезного повреждения головного мозга, если вы находитесь в сети с отстающим сервером NIS. - person Gunther Piez; 24.05.2011