linux nscd是服務快取守護進程,其英文全名為“Name Service Cache Daemon”,它為NIS和LDAP等服務提供更快的驗證;快取是一項非常重要的技術或機制,緩存的主旨就是提高客戶端存取速度。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
linux nscd是什麼?
Linux下開啟快取服務NSCD
#NSCD(Name Service Cache Daemon)是服務快取守護進程,它為NIS和LDAP等服務提供更快的驗證。不管是什麼系統,快取是一項非常重要的技術[或機制],快取的主旨就是提高客戶端存取速度。
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
NSCD配置文件為/etc/nscd.conf,NSCD程式在啟動的時候會讀取/etc/nscd.conf文件,每一行指定一個屬性和對應的值,或指定一個服務和對應的值,#表示註解。有效的服務設定是:passwd,group,hosts,services,ornetgroup五個。
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
在需要透過網域名稱與外界進行資料互動的時候,dns快取就派上用場了,它可以減少網域解析的時間,提高效率。例如以下情況
使用爬蟲擷取網路上的頁面資料, 使用auth2.0協定從其他平台(如微博或QQ)取得使用者資料,
使用第三方付款介面,
使用簡訊通道下發送簡訊等.
##優點:
本機快取NDS解析訊息,提高解析速度
DNS伺服器掛了也沒問題,在快取服務時間範圍內,解析依舊正常
缺點:
DNS解析資訊會滯後,如網域解析更改需要手動刷新緩存,NSCD不適合做即時的切換的應用,目前對於依賴DNS切換的服務,建議不要開啟DNS快取。 DNS Cache作為普通的DNS解析Cache那是沒問題的,如果你使用RDS雲端伺服器,也不建議使用DNS快取服務。
配置DNS快取:
透過編輯/etc/nscd.conf文件,在其中增加如下一行可以開啟本機DNS Cache
enable-cache hosts yes #這個服務除了dns快取之外還可以快取passwd,group,servers
## 完整配置如下:
#内部的散列表大小,value应该保持一个素数以达到优化效果。默认值是211 suggested-size service value
NSCD服務檢視和清除NSCD快取DB檔案在/var/db/nscd下。可以透過nscd -g查看統計的資訊:
#启用或者禁用检查文件是否属于指定的服务,这些文件是/etc/passwd、/etc/group、/etc/hosts、/etc/services、/etc/netgroup等 check-files service <yes|no>
#设置缓存在服务器重启后,仍旧能提供缓存服务,在使用偏执模式时有用,默认是no persistent service <yes|no>
#推薦學習:《linux影片教學》
以上是linux nscd是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!