私はNFSを使用する開発ネットワークで作業しているので、すべてのコンピュータからホームディレクトリなどにアクセスできます。ただし、NFSは時々不安定になり、システムが遅くなったり停止したりする可能性があります。
私のコンピュータで実行されている開発コピーを使用してサーバー側のコードを処理しています。多くのファイルシステムとデータベースアクセスを実行するため、応答性が向上します。ファイルをローカルディスクに移動し、シンボリックリンクをNFSの元のディレクトリに配置しました。
しかし、NFSが正しく応答しない場合、シンボリックリンクはボトルネックを引き起こし、ローカルファイルへの高速アクセスを妨げる可能性がありますか?それともこの問題を回避するためにキャッシュされますか?
答え1
NFSの帯域幅が低い場合、シンボリックリンクはボトルネックを引き起こさない可能性があります。遅延があると感じることができます。 NFS サーバーがダウンすると問題が発生します。したがって、とにかくNFSが必要な場合、シンボリックリンクは顕著な違いを生み出しませんが、そのシンボリックリンクを除いてNFSから完全に外れた場合は、そのシンボリックリンクを使用しないようにすることをお勧めします。
ローカルコンピュータは、ディレクトリエントリがサーバーまたは他のNFSクライアントによっていつ変更されるかを知ることができないため、ディレクトリエントリのキャッシュを保持できません。 NFSクライアントはファイルの内容のキャッシュを保持し、キャッシュされたコピーが作成されてからファイルのctimeが変更されなかったことをサーバーがクライアントに通知する場合にのみ、そのキャッシュを使用します。
答え2
リンクはキャッシュする必要があり、小さすぎてネットワーク経由で読み取ることができませんが、NFSサーバーの使用量によって異なります。最大速度のためにすべてのローカルファイルシステムを使用するには、アプリケーションを再起動することをお勧めします。特に、リンクを通過する必要があるフルパス名を使用する要求で多数のファイルを提供する場合は、そうです。すべてのパス名がルートに相対的な場合、サーバーの起動後には影響しない可能性があります。
最終的には直接試してみるべきですが、十分速いかもしれません。