linux nscd est un démon de cache de service. Son nom complet en anglais est "Name Service Cache Daemon". Il fournit une vérification plus rapide pour des services tels que NIS et LDAP. La mise en cache est une technologie ou un mécanisme très important, et le but de la mise en cache est de le faire. améliorer la vitesse d’accès du client.
L'environnement d'exploitation de ce tutoriel : système linux5.9.8, ordinateur Dell G3.
Qu'est-ce que Linux nscd ?
Activer le service de cache NSCD sous Linux
NSCD (Name Service Cache Daemon) est un démon de cache de service, qui fournit une authentification plus rapide pour des services tels que NIS et LDAP. Quel que soit le système dont il s'agit, la mise en cache est une technologie [ou un mécanisme] très importante. L'objectif principal de la mise en cache est d'améliorer la vitesse d'accès des clients.
Options de commande NSCD :
# nscd --help Usage: nscd [OPTION...] Name Service Cache Daemon. -d, --debug Do not fork and display messages on the current tty -f, --config-file=NAME Read configuration data from NAME -F, --foreground Do not fork, but otherwise behave like a daemon -g, --statistics Print current configuration statistics -i, --invalidate=TABLE Invalidate the specified cache -K, --shutdown Shut the server down -t, --nthreads=NUMBER Start NUMBER threads -?, --help Give this help list --usage Give a short usage message -V, --version Print program version
Le fichier de configuration NSCD est /etc/nscd.conf Le programme NSCD lira le fichier /etc/nscd.conf au démarrage. Chaque ligne spécifie un attribut et la valeur correspondante, ou spécifie un service et la valeur correspondante, # indique un commentaire. Les paramètres de service valides sont : mot de passe, groupe, hôtes, services, ornetgroup.
Explication des paramètres liés au fichier de configuration NSCD :
#设置日志文件 logfile debug-file-name
#设置debug记录的级别,默认是0 debug-level value
#程序启动时,等待进去请求的处理线程数,至少5个 threads number
#最大线程数,默认32 max-threads number
#nscd程序以哪个用户运行,如果设置了该选项,nscd将作为该用户运行,而不是作为root。如果每个用户都使用一个单独的缓存(-S参数),将忽略该选项。 server-user user #哪个用户可以请求统计用户 stat-user user
#在一个缓存项被删除之前允许使用的次数,默认是5 reload-count unlimited | number
#是否启用偏执模式,启用会导致nscd周期性重启,默认是no paranoia <yes|no>
#如果启用偏执模式,设置的定期重启nscd的时间间隔,默认是3600秒 restart-interval time
#开启或者关闭服务缓存,默认是no enable-cache service <yes|no>
#为成功请求的元素设置缓存TTL,单位是秒,值越大缓存命中率越高,降低平均响应时间,但会增加缓存的一致性问题 positive-time-to-live service value
#为失败查询元素设置缓存TTL,单位是秒,应保持小值,减小缓存一致性问题 negative-time-to-live service value
#内部的散列表大小,value应该保持一个素数以达到优化效果。默认值是211 suggested-size service value
#启用或者禁用检查文件是否属于指定的服务,这些文件是/etc/passwd、/etc/group、/etc/hosts、/etc/services、/etc/netgroup等 check-files service <yes|no>
#设置缓存在服务器重启后,仍旧能提供缓存服务,在使用偏执模式时有用,默认是no persistent service <yes|no>
#为客户端共享nscd数据库在内存中做的映射,使客户端可以直接搜索,而不用每次都查询守护进行,默认是no shared service <yes|no>
Fonction sur le serveur :
Lorsqu'il est nécessaire d'interagir avec le monde extérieur à travers des noms de domaine, DNS la mise en cache est pratique, elle peut réduire le temps de résolution des noms de domaine et améliorer l'efficacité. Par exemple, les situations suivantes
utilisent des robots pour collecter des données de page sur Internet,
utilisent le protocole auth2.0 pour obtenir des données utilisateur à partir d'autres plateformes (telles que Weibo ou QQ),
utilisent des interfaces de paiement tierces,
utilisent des canaux SMS pour envoyer des messages texte, etc.
Avantages et inconvénients de l'activation du service de mise en cache DNS NSCD
Avantages :
Mise en cache locale des informations de résolution NDS pour améliorer la vitesse de résolution
Il n'y a même aucun problème si le serveur DNS raccroche, dans la plage horaire du service de cache, la résolution est toujours normale
Inconvénients :
Les informations de résolution DNS seront en retard Si la résolution du nom de domaine change, le cache doit être actualisé manuellement. . NSCD ne convient pas aux applications de commutation en temps réel. Actuellement, pour les services qui reposent sur la commutation DNS, il est recommandé de ne pas activer le cache DNS. Il n'y a aucun problème avec le cache DNS en tant que cache de résolution DNS normal. Si vous utilisez un serveur cloud RDS, il n'est pas recommandé d'utiliser le service de cache DNS.
Configurer le cache DNS :
En éditant le fichier /etc/nscd.conf et en y ajoutant la ligne suivante, vous pouvez activer le cache DNS local
enable-cache hosts yes #Ce service est en plus de la mise en cache DNS Vous pouvez également mettre en cache le mot de passe, le groupe et les serveurs
La configuration complète est la suivante :
#该数据库的最大大小,单位是bytes,默认是33554432 max-db-size service bytes
Les fichiers de base de données du cache NSCD sont sous /var /db/nscd. Vous pouvez afficher des informations statistiques via nscd -g :
#此选项仅使用于passwd和group服务 auto-propagate service <yes|no>
enable-cache passwd yes positive-time-to-live passwd 600 negative-time-to-live passwd 20 suggested-size passwd 211 check-files passwd yes persistent passwd yes shared passwd yes max-db-size passwd 33554432 auto-propagate passwd yes enable-cache group yes positive-time-to-live group 3600 negative-time-to-live group 60 suggested-size group 211 check-files group yes persistent group yes shared group yes max-db-size group 33554432 auto-propagate group yes enable-cache hosts yes positive-time-to-live hosts 3600 negative-time-to-live hosts 20 suggested-size hosts 211 check-files hosts yes persistent hosts yes shared hosts yes max-db-size hosts 33554432 enable-cache services yes positive-time-to-live services 28800 negative-time-to-live services 20 suggested-size services 211 check-files services yes persistent services yes shared services yes max-db-size services 33554432 enable-cache netgroup yes positive-time-to-live netgroup 28800 negative-time-to-live netgroup 20 suggested-size netgroup 211 check-files netgroup yes persistent netgroup yes shared netgroup yes max-db-size netgroup 33554432
Apprentissage recommandé : "Tutoriel vidéo Linux"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!