解决方法
我创建了一个文件testfile.txt,其中包含1000行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轮cated / dev / null 1000次.
(结果以秒为单位.)
直接访问文件:
$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.v2),并且在符号链接中使用“官方”名称(例如my_web_files),您也可以轻松地使用版本控制和回滚.指向“实时”版本.如果要更改版本,只需重新链接到另一个版本化目录即可.