Linux nscdとは何ですか

藏色散人
リリース: 2023-04-13 10:57:37
オリジナル
2416 人が閲覧しました

linux nscd はサービス キャッシュ デーモンです。英語の正式名は「Name Service Cache Daemon」です。NIS や LDAP などのサービスの検証を高速化します。キャッシュは非常に重要なテクノロジまたはメカニズムです。目的は、クライアントのアクセス速度を向上させることです。

Linux nscdとは何ですか

#このチュートリアルの動作環境: 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 構成ファイル:

NSCD 構成ファイルは /etc/nscd.conf です。NSCD プログラムは、起動時に /etc/nscd.conf ファイルを読み取ります。各行は、属性と対応する値、またはサービスと対応する値を指定します。# は、コメント。有効なサービス設定は、passwd、group、host、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
ログイン後にコピー
#内部的散列表大小,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>
ログイン後にコピー
#该数据库的最大大小,单位是bytes,默认是33554432 max-db-size service bytes
ログイン後にコピー
#此选项仅使用于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
ログイン後にコピー
# nscd -g 
nscd configuration:

              0  server debug level
 50d 14h 33m 40s  server runtime
              5  current number of threads
             32  maximum number of threads
              0  number of times clients had to wait
             no  paranoia mode enabled
           3600  restart internal
              5  reload count

passwd cache:

            yes  cache is enabled
            yes  cache is persistent
            yes  cache is shared
            211  suggested size
         216064  total data pool size
            544  used data pool size
            600  seconds time to live for positive entries
             20  seconds time to live for negative entries
         280382  cache hits on positive entries
          10047  cache hits on negative entries
           3260  cache misses on positive entries
            474  cache misses on negative entries
             98% cache hit rate
              6  current number of cached values
             52  maximum number of cached values
              2  maximum chain length searched
              0  number of delays on rdlock
              0  number of delays on wrlock
              0  memory allocations failed
            yes  check /etc/passwd for changes
ログイン後にコピー
NSCD を使用して DNS をキャッシュする

サーバー上の DNS の役割:

ドメイン名を通じて外部とやり取りする必要がある場合、DNS キャッシュが役立ちます。ドメインの時間を短縮できます。名前解決、効率の向上。たとえば、次の状況では、 クローラーを使用してインターネット上のページ データを収集します。
auth2.0 プロトコルを使用して、他のプラットフォーム (Weibo や QQ など) からユーザー データを取得します。
サードパーティの支払いインターフェイス、
SMS チャネルでのテキスト メッセージの送信などを使用します。

NSCD DNS キャッシュ サービスを有効にする利点と欠点

利点:

##NDS 解析情報をローカルにキャッシュして解析速度を向上させます

DNS サーバーがハングアップしても問題ありません。キャッシュ サービスの時間範囲内では、解析は正常に行われます

欠点:

DNS 解決情報が遅れます (例: ドメイン名解決)。変更にはキャッシュの手動更新が必要です。NSCD は、リアルタイム スイッチング アプリケーションには適していません。現在、DNS スイッチング サービスに依存するアプリケーションには適していません。DNS キャッシュを有効にしないことをお勧めします。 DNS キャッシュは通常の DNS 解決キャッシュとして問題ありませんが、RDS クラウド サーバーを使用する場合は、DNS キャッシュ サービスの使用は推奨されません。

DNS キャッシュの構成:

/etc/nscd.conf ファイルを編集して次の行を追加することで、ローカル DNS キャッシュを有効にできます。

enable-cache hosts はい #DNS キャッシュに加えて、このサービスはパスワード、グループ、サーバーもキャッシュできます

##完了 設定は次のとおりです。

nscd -i passwd
nscd -i group 
nscd -i hosts
ログイン後にコピー
NSCD サービスの表示とクリア


NSCD キャッシュ DB ファイルは以下にあります。 /var/db/nscd。 nscd -g を使用して統計情報を表示できます:

rrreee 指定されたタイプのキャッシュをクリアします:

rrreee 推奨される学習: 「

linux ビデオ チュートリアル

以上がLinux nscdとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート