Что такое nscd linux

Обновлено: 05.07.2024

NSCD (Демон кэширования службы имен) Демон кэширования службы, предназначенный для NIS, LDAP и других служб для обеспечения более быстрой проверки. Независимо от системы, кэширование — очень важная технология [или механизм]. Основная цель кэширования — повысить скорость доступа клиентов.

Установка NSCD

Параметры команды NSCD

NSCD Файл конфигурации

NSCD Объяснение параметров, связанных с файлом конфигурации

NSCD с использованием примеров

Использовать NSCD Да DNS-кэш

DNS Роль кэширования на сервере

Когда вам нужно взаимодействовать с внешним миром через доменное имя, DNS-кэширование пригодится, оно может сократить время разрешения доменного имени, повысить эффективность. Например, в следующих случаях

  • Используйте поисковые роботы для сбора данных о страницах в сети,
  • Использовать протоколы auth2.0 с других платформ (таких как микроблог или QQ) Получить данные пользователя,
  • Использовать сторонний платежный интерфейс
  • Использовать канал SMS для отправки SMS и т. д.

Включите NSCD DNS Преимущества и недостатки служб кэширования

  • преимущество
  1. Информация об анализе DNS в локальном кэше, обеспечивает скорость анализа.
  2. DNS Нет проблем с зависанием службы, В течение времени обслуживания кеша, Анализ по-прежнему нормальный.
  • недостаток
  1. Информация о синтаксическом анализе DNS отстает. Если разрешение доменного имени изменилось, необходимо обновить кэш вручную. NSCD Не подходит для приложений переключения в реальном времени. На данный момент нет необходимости полагаться на службы переключения DNS. рекомендуется не включать кеш DNS. Кэш DNS Как обычный кеш анализа DNS. Это не проблема. Если вы используете облачный сервер RDS, не рекомендуется использовать службы кэширования DNS.

Чтобы настроить кэш DNS

Отредактировав файл /etc/nscd.conf, добавьте следующую строку, чтобы включить локальный кэш DNS

Полная конфигурация выглядит следующим образом

По умолчанию сервис находится в Redhat или Centos. Ближайший закрыт, его можно включить следующей командой

Присоединиться к автозапуску

Проверьте процесс, как показано ниже

Это означает, что он работает нормально.

БД кэша NSCD Файл в /var/db/nscd Next . Может пройти nscd -g Просмотр статистической информации, вот некоторые из них:

Помимо вышеперечисленных методов, перезапуск службы NSCD также может привести к очистке кэша.

Допустимые службы: passwd , group , hosts , services или netgroup .

logfile имя-файла-отладки Указывает имя файла, в который должна быть записана отладочная информация.

значение уровня отладки Задает желаемый уровень отладки. По умолчанию 0.

число потоков Это количество потоков, запущенных в ожидании запросов. Всегда будет создаваться не менее пяти цепочек.

max-threads number Задает максимальное количество потоков. По умолчанию 32.

user-user user Если эта опция установлена, nscd будет работать от имени этого пользователя, а не от root. Если для каждого пользователя используется отдельный кеш (параметр -S), этот параметр игнорируется.

stat-user пользователь Указывает пользователя, которому разрешено запрашивать статистику.

количество перезагрузок не ограничено | число Ограничение количества раз, когда кэшированная запись перезагружается без использования, прежде чем она будет удалена. По умолчанию 5.

paranoia Включение режима paranoia приводит к периодическому перезапуску nscd. По умолчанию нет.

restart-interval time Устанавливает интервал перезапуска в секундах, если периодическая перезагрузка включена путем включения режима паранойи. По умолчанию 3600.

enable-cache service Включает или отключает указанный кэш службы. По умолчанию нет.

positive-time-to-live service value Задает TTL (время жизни) для положительных записей (успешных запросов) в указанном кэше для службы. Значение в секундах. Большие значения увеличивают частоту попаданий в кэш и сокращают среднее время отклика, но усугубляют проблемы с когерентностью кэша.

negative-time-to-live service value Устанавливает TTL (время жизни) для отрицательных записей (неудачных запросов) в указанном кэше для службы. Значение в секундах. Может привести к значительному повышению производительности, если несколько файлов, принадлежащих UID (идентификаторам пользователей), не находятся в системных базах данных (например, распаковка исходных кодов ядра Linux от имени пользователя root); должны быть небольшими, чтобы уменьшить проблемы с когерентностью кэша.

рекомендуемый размер сервисного значения Это внутренний размер хеш-таблицы, значение должно оставаться простым числом для оптимальной эффективности. По умолчанию 211.

Служба

check-files Включает или отключает проверку файла, принадлежащего указанной службе, на наличие изменений. Это файлы /etc/passwd, /etc/group, /etc/hosts, /etc/services и /etc/netgroup. По умолчанию да.

постоянная служба Сохранять содержимое кеша для службы при перезапусках сервера; полезно, когда установлен режим паранойи. По умолчанию нет.

общая служба Отображение памяти баз данных nscd для службы используется совместно с клиентами, так что они могут напрямую искать в них, вместо того, чтобы запрашивать демон через сокет каждый раз, когда выполняется поиск. По умолчанию нет.

max-db-size service bytes Максимально допустимый размер в байтах файлов базы данных для службы. Значение по умолчанию: 33554432.

auto-propagate service Если установлено значение no для службы passwd или group, запросы .byname не добавляются в кэш passwd.byuid или group.bygid. Это может помочь с таблицами, содержащими несколько записей для одного и того же идентификатора. По умолчанию да. Этот параметр действителен только для сервисов passwd и group .

ПРИМЕЧАНИЯ

Значения по умолчанию, указанные на этой странице руководства, взяты из исходного кода nscd (8) и используются, если они не переопределены в файле конфигурации. Значения по умолчанию, используемые в файле конфигурации вашего дистрибутива, могут отличаться.

nscd расшифровывается как Name Service Cache D aemon и используется для предоставления кэша для общего запроса службы имен. Для обеспечения кеша хостов демон nscd использует файл /etc/hosts в качестве своей базы данных, и любые изменения, внесенные в базу данных, немедленно уведомляются nscd, и он очищает кеш после их изменения. Однако это произойдет только после небольшой задержки (если не доступен механизм inotify(7) и glibc 2.9 или более поздней версии). Этот демон используется в большинстве сред, где часто требуется поиск различных баз данных и таблиц для временная база для создания кеша и повышения конечной производительности приложения, например. LDAP использует nscd для обработки любого запроса на привязку от клиентов к серверу, веб-серверам и т. д.
nscd обеспечивает кэширование для различных баз данных с использованием стандартных интерфейсов libc, например, для базы данных хостов он использует GETHOSTBYADDR, GETHOSTBYNAME и другие.
Для каждой базы данных существует два кеша: положительный для найденных элементов и отрицательный для ненайденных элементов. Каждый кэш имеет отдельный период TTL (время жизни) для своих данных. Эти параметры настраиваются с помощью файла /etc/nscd.conf.
Давайте рассмотрим несколько параметров и переменных, доступных для кеша хостов.
Чтобы собрать статистику nscd, выполните приведенную ниже команду.
ПРИМЕЧАНИЕ. вывод, который показывает только детали кеша хостов

'кэш включен' - информирует о состоянии кеша хостов, что здесь означает, что мы включили этот кеш. Если какой-либо кеш отключен, это будет «нет»
«кэш является постоянным» — это если вы хотите, чтобы кеш был постоянным при перезапуске демона, т. е. сохраненная статистика будет сохранена в памяти и не будет обновляться в течение большинство значений статистики.
Например:
Моя существующая статистика с «включенным» постоянным кэшированием

Перезапустил службу nscd

После перезапуска демона значения остаются прежними

После отключения "кэш является постоянным" и перезапуска службы демона nscd

Итак, все записи кэша очищены.
общий кеш — если этот параметр включен, любые клиентские узлы, подключающиеся к серверу, будут сами выполнять поиск в кеше nscd, а не обращаться к демону nscd, что ускоряет процесс поиска. Демон nscd потребуется только для обновления кеша, если запись хоста клиента недоступна в кеше хостов. Когда nscd находится в общем режиме, частота попаданий в кеш nascd в основном отображается как 0%, так как nscd в основном не используется, а обратный поиск выполняется из кеша
предполагаемый размер - (из справочной страницы) Это внутренняя хэш-таблица размер, значение должно оставаться простым числом для оптимальной эффективности. Значение по умолчанию — 211.
общий размер пула данных — здесь учитывается общий список записей хостов кэша, которые были просмотрены nscd (как положительные, так и отрицательные)
используемый размер пула данных — кэш хостов, используемый в текущий сеанс nscd. Каждый раз, когда демон nscd перезапускается, это значение сбрасывается на «0», а новый используемый размер пула данных создается с использованием существующего файла hosts.
время жизни положительных записей в секундах — (из справочной страницы) Устанавливает TTL (время жизни) для положительных записей (успешных запросов) в указанном кеше для службы. Значение в секундах. Большие значения увеличивают частоту попаданий в кэш и сокращают среднее время отклика, но увеличивают проблемы с когерентностью кэша.
время жизни отрицательных записей в секундах — (из справочной страницы) Устанавливает TTL (время жизни) для отрицательных записей (неудачных запросов) в указанном кеше для службы. Значение в секундах. Может привести к значительному повышению производительности, если несколько файлов, принадлежащих UID (идентификаторам пользователей), не находятся в системных базах данных (например, распаковка исходных кодов ядра Linux от имени пользователя root); должны быть небольшими, чтобы уменьшить проблемы когерентности кэша.
Попадание в кеш положительных записей — это значение будет заполнено только в том случае, если демон nscd работает в неразделяемом режиме, т. е. переменная «кеш является общим» имеет значение «нет».В таком случае nscd выполняет все поиски и увеличивает значение для любого поиска с целевого хоста, которому удается установить УСТАНОВЛЕННОЕ сетевое соединение с клиентскими хостами.
Например.
Я добавил запись ниже в файл hosts

Затем я пытаюсь подключиться по ssh с адреса 192.169.32.10 к целевому узлу и наблюдаю за статистикой nscd

Таким образом, у нас есть увеличение частоты попаданий в кеш для положительных записей, так как 192.169.32.10 присутствует в нашем файле hosts
попадания в кеш отрицательных записей. Это значение будет заполнено только в том случае, если демон nscd работает в неразделяемом режим, т.е. переменная «кэш является общим» равна «нет». В таком случае nscd выполняет все поиски и увеличивает значение для любого поиска с целевого хоста, который не может установить УСТАНОВЛЕННОЕ сетевое соединение с клиентскими хостами.
Ошибка выделения памяти. Если режим постоянного хранения не включен, вероятность того, что это значение увеличится, очень мала, если только размер базы данных, выделенный для nscd, не иссякнет. Когда постоянный режим включен, все кеши хранятся в памяти, которой может не хватить места, когда вы начнете видеть увеличивающиеся значения ошибок выделения памяти.
Например:
Я уменьшил размер моей базы данных до размера ниже

и перезапустил службы nscd
Через некоторое время я начал получать множественные ошибки выделения памяти

NSCD, демон кэширования службы имен, представляет собой демон, предоставляющий кэш для наиболее распространенных запросов переключения службы имен. Файл конфигурации по умолчанию /etc/nscd. conf определяет поведение демона кэширования.

Что такое команда nscd?

ОПИСАНИЕ. Nscd — это демон, который обеспечивает кэширование наиболее распространенных запросов службы имен. Файл конфигурации по умолчанию /etc/nscd. conf определяет поведение демона кэширования.

Должен ли я использовать nscd?

Как объясняется в связанной статье, sssd и nscd не следует использовать одновременно, так как это может привести к неожиданным результатам поиска. Если вам нужен nscd, например. для кеширования записи хостов, которые sssd не кеширует, рекомендуется настроить nscd только для хостов и полагаться на кеширование пользователей, групп и т.п. на sssd.

Что такое nscd в Solaris?

nscd — это демон, работающий в системе Solaris и предоставляющий механизм кэширования для наиболее распространенных запросов службы имен. Он автоматически запускается при загрузке системы в многопользовательский режим. user_attr. …

Кэширует ли Nscd DNS?

Важно отметить, что nscd действует как кэш для системы распознавателя в целом, а не конкретно для поиска DNS, но для всех средств поиска имен.

Как выполнить сброс в Linux?

Очистить DNS с помощью systemd-resolved

  1. Самый простой способ сбросить DNS в Linux, если вы используете systemd-resolve, — использовать команду «systemd-resolve», за которой следует «–flush-caches».
  2. Кроме того, вы можете использовать команду «resolvectl», за которой следует параметр «flush-caches».

Является ли nscd устаревшим?

Устаревание nscd уже запланировано в Fedora 34. Функционал, который он предоставляет в настоящее время, может быть реализован с помощью systemd-resolved для кэширования DNS и демона sssd для всего остального.

Кэширует ли nscd DNS?

Что такое IP-кеширование?

Для целевых платформ, поддерживающих рабочий процесс IP Core Generation с помощью Xilinx® Vivado®, вы можете использовать IP-кэширование. IP-кэширование сокращает время синтеза эталонных проектов с большим количеством IP-модулей или IP-модулей со значительным временем выполнения синтеза.

/usr/sbin/nscd — демон кэширования службы имен

ОПИСАНИЕ

Nscd — это демон, который обеспечивает кэширование наиболее распространенных запросов службы имен. Файл конфигурации по умолчанию /etc/nscd.conf определяет поведение демона кэширования. См. nscd.conf (5).

Nscd обеспечивает кэширование доступа к базам данных passwd (5), group (5) и hosts (5) через стандартные интерфейсы libc, такие как getpwnam (3), getpwuid (3), getgrnam (3), getgrgid ( 3) , gethostbyname (3) и другие.

Для каждой базы данных существует два кеша: положительный для найденных элементов и отрицательный для ненайденных элементов. Каждый кэш имеет отдельный период TTL (время жизни) для своих данных. Обратите внимание, что теневой файл специально не кэшируется. В результате вызовы getspnam (3) остаются некэшированными.

ВАРИАНТЫ

предоставит вам список со всеми параметрами и их назначением.

ПРИМЕЧАНИЯ

Nscd ничего не знает о базовых протоколах службы. Это также означает, что если вы измените /etc/resolv.conf для DNS-запросов, nscd продолжит использовать старый, если вы настроили /etc/nsswitch.conf для использования DNS для поиска узлов. В таком случае вам необходимо перезапустить nscd.

СМОТРИТЕ ТАКЖЕ

КОЛОФОН

Авторское право: SuSE GmbH, Нюрнберг, Германия, 1999 г.
Автор: Торстен Кукук

Эта программа является бесплатным программным обеспечением; вы можете распространять его и/или
модифицировать его в соответствии с условиями Стандартной общественной лицензии GNU,
опубликованной Фондом свободного программного обеспечения; либо версию 2
Лицензии, либо (по вашему выбору) любую более позднюю версию.

Эта программа распространяется в надежде, что она будет полезна,
но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии
КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительные сведения см. в
Стандартной общественной лицензии GNU.

Вы должны были получить копию Общедоступной
лицензии GNU вместе с этой программой; см. файл КОПИРОВАНИЕ. Если нет,
напишите в Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Читайте также: