linux nscd는 서비스 캐시 데몬입니다. 정식 영어 이름은 "Name Service Cache Daemon"입니다. 캐싱은 매우 중요한 기술 또는 메커니즘이며, 캐싱의 목적은 다음과 같습니다. 클라이언트 액세스 속도를 향상시킵니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
리눅스 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, 그룹, 호스트, 서비스, 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
#内部的散列表大小,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>
서버 기능:
도메인 이름을 통해 외부 세계와 상호 작용해야 할 때 DNS 캐시가 유용하면 도메인 이름 확인 시간을 줄이고 효율성을 높일 수 있습니다. 예를 들어, 다음 상황은
크롤러를 사용하여 인터넷에서 페이지 데이터를 수집하고,
auth2.0 프로토콜을 사용하여 다른 플랫폼(예: Weibo 또는 QQ)에서 사용자 데이터를 가져오고,
제3자 결제 인터페이스를 사용하고,
SMS 채널을 사용합니다.
NSCD DNS 캐싱 서비스를 켤 때의 장점과 단점
장점:
NDS 해결 정보를 로컬 캐싱하여 해결 속도 향상
심지어 문제 없음 DNS 서버가 중단되면 캐시 서비스 시간 내에 해상도가 여전히 정상입니다
단점:
DNS 해상도 정보가 뒤쳐지면 캐시를 수동으로 새로 고쳐야 합니다. NSCD는 실시간 전환 애플리케이션에 적합하지 않습니다. 현재 DNS 전환을 사용하는 서비스의 경우 DNS 캐시를 설정하지 않는 것이 좋습니다. DNS 캐시는 일반 DNS 확인 캐시이므로 문제가 없습니다. RDS 클라우드 서버를 사용하는 경우 DNS 캐시 서비스를 사용하지 않는 것이 좋습니다.
DNS 캐시 구성:
/etc/nscd.conf 파일을 편집하고 다음 줄을 추가하면 로컬 DNS 캐시를 활성화할 수 있습니다.
enable-cache 호스트 예 #이 서비스 DNS 캐싱 외에 비밀번호, 그룹, 서버도 캐시할 수 있습니다
전체 구성은 다음과 같습니다.
#该数据库的最大大小,单位是bytes,默认是33554432 max-db-size service bytes
NSCD 캐시 DB 파일은 /var에 있습니다. /db/nscd. 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
권장 학습: "linux 비디오 튜토리얼"
위 내용은 리눅스 nscd 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!