7

展開上の理由から、シンボリック リンクを使用する方が少し簡単ですが、これらは、1 日に何万回もアクセスされるすべての Web サイトのコア ファイルと構成用です。

すべてにシンボリックリンクを使用するよりも (わずかにパフォーマンスが低下しますか?)、ドキュメントをサーバー上の正しい位置に移動する方が賢明でしょうか?

4

2 に答える 2

22

testfile.txt1000 行のファイルをblablabla作成し、ローカル シンボリック リンク ( testfile.link.txt) を作成しました。

$ ls -n
total 12
lrwxrwxrwx 1 1000 1000    12 2012-09-26 14:09 testfile.link.txt -> testfile.txt
-rw-r--r-- 1 1000 1000 10000 2012-09-26 14:08 testfile.txt

(-nスイッチは、私の極秘のユーザー名を非表示にするためだけに存在します。:))

そして、両方のファイルに対して10 回のcating を1000 回実行しました。/dev/null(結果は秒単位です。)

ファイルに直接アクセスする:

$ for j in `seq 1 10`; do ( time -p ( for i in `seq 1 1000`; do cat testfile.txt >/dev/null; done ) ) 2>&1 | grep 'real'; done
real 2.32
real 2.33
real 2.33
real 2.33
real 2.33
real 2.32
real 2.32
real 2.33
real 2.32
real 2.33

シンボリックリンク経由でアクセス:

$ for j in `seq 1 10`; do ( time -p ( for i in `seq 1 1000`; do cat testfile.link.txt >/dev/null; done ) ) 2>&1 | grep 'real'; done
real 2.30
real 2.31
real 2.36
real 2.32
real 2.32
real 2.31
real 2.31
real 2.31
real 2.32
real 2.32

(かなり古いインストールの)Ubuntuで測定:

$ uname -srvm
Linux 2.6.32-43-generic #97-Ubuntu SMP Wed Sep 5 16:43:09 UTC 2012 i686

もちろん、これは単純な例ですが、これに基づいて、シンボリックリンクを使用した場合のパフォーマンスの低下はあまり期待できません。

個人的には、シンボリックリンクを使用する方がより実用的だと思います。

  • あなたが言ったように、展開プロセスはより簡単になります。
  • ディレクトリ名にある種のタイムスタンプまたはバージョン番号を含め (例: )、my_web_files.v1バージョン管理とロールバックを簡単に使用することもできます。バージョンを変更したい場合は、別のバージョンのディレクトリに再リンクしてください。my_web_files.v2my_web_files
于 2012-09-26T12:32:03.637 に答える
2

このパフォーマンスの低下を測定しましたか? ネットワーク経由でページをフェッチするのにかかる時間と比較すると、非常に無視できると思います。

于 2012-09-26T12:12:39.533 に答える