使用符号链接作为 Apache 文档根目录存在哪些性能问题

使用符号链接作为 Apache 文档根目录存在哪些性能问题

我尝试找到一个现有的问题,但找不到好的匹配。

作为面向公众的网站部署过程的一部分,我使用符号链接在 Web 应用程序的各个版本之间进行切换。

例如,我有一个 vhost abc.com,它的文档根目录如下:/var/www/abc.com

docroot 本身(/var/www/abc.com)是应用程序可通过 Web 访问的目录的符号链接(/var/www/package/buildX/web)

当我部署新版本时,我只需换出符号链接并用指向新版本的另一个符号链接替换即可。

问题我有一个问题是,使用符号链接进行Apache docroot

答案1

第一个问题是,所有这些文件是否都在同一个文件系统或物理存储设备中?如果是这样,直接引用和符号链接之间的差异几乎不可能检测出来。

您需要在这里按数量级思考。您的应用程序可能由脚本语言和数据库支撑。应用程序的这些元素将成为限制因素,而不是次要的文件系统功能。Jeff Atwood 在这篇文章中对此进行了最好的解释博客文章

答案2

不要担心符号链接的性能影响。实际上,在此之前,其他一切都会成为瓶颈。解析符号链接不会占用太多的 CPU 周期;运行 PHP 脚本、处理数据库查询和结果集、可能使用 Apache 的 mod_security 等模块才是真正的瓶颈。

理论上,如果您的服务器提供的所有内容都是静态内容,您可以进行优化;即使如此,调整 Web 服务器和/或内核参数并扩展硬件才是正确的做法,而不是进行诸如处理符号链接之类的愚蠢的微优化。符号链接为您提供了一种干净便捷的方式来切换网站版本等;请愉快地使用它们。

相关内容