SSI或PHP Include()?

SSI或PHP Include()?,php,apache,server-side-includes,Php,Apache,Server Side Includes,基本上,我即将推出一个网站,我预计会有很多流量。为了安全起见,让我们假设我一天会有100万张单子。数据将是静态的,但我需要有包括以及 我只会在另一个html页面中包含一个html页面,没有任何动态内容(我有我的理由,我不会透露以保持这个简单) 我的问题是,在性能方面,什么更快 <!--#include virtual="page.htm" --> 或 性能方面最快的方法是将模板存储在别处,生成完整的HTML,并根据模板中的更改重新生成 如果您真的想比较PHP和SSI,我想SSI

基本上,我即将推出一个网站,我预计会有很多流量。为了安全起见,让我们假设我一天会有100万张单子。数据将是静态的,但我需要有包括以及

我只会在另一个html页面中包含一个html页面,没有任何动态内容(我有我的理由,我不会透露以保持这个简单)

我的问题是,在性能方面,什么更快

<!--#include virtual="page.htm" -->


性能方面最快的方法是将模板存储在别处,生成完整的HTML,并根据模板中的更改重新生成


如果您真的想比较PHP和SSI,我想SSI可能更快,而且更重要:没有PHP会大大减少Web服务器进程/线程所需的RAM,从而使您能够拥有更多apache线程/进程来服务请求。

SSI内置于apache中,虽然Apache必须生成一个PHP进程来处理.PHP文件,但我希望SSI会更快、更轻一些

不过,我同意前面的回答,即使用PHP路径将为您提供更多的灵活性,以便在将来进行更改


<> P.>实际上,任何速度差异在大图片中可能是微不足道的。

< P>也许你应该查看PHP的HIPHP,它将PHP编译成C++。由于C++编译的方式比较快。Facebook使用它来减少服务器上的负载


我认为没有人能为你明确回答这个问题。这取决于您的web服务器配置、操作系统和文件系统选择、SSI使用的复杂性、服务器上的其他竞争进程等

您应该将一些示例文件放在一起,并在要部署的服务器上运行测试。使用一些http测试工具(如或)生成一些负载,并比较这两种方法。这是获得适合您环境的答案的最佳方法

将PHP与mod_PHP和类似的操作码缓存一起使用可能会非常快,因为它会自动缓存高需求文件。如果关闭该选项,则不必点击磁盘来提供PHP脚本(但需要注意的是,这会使在运行的系统上更新PHP脚本变得更加困难)


您还应该确保遵循其他高可扩展性最佳实践。使用一个用于静态资源、优化脚本和样式表等。通过and&Schlossnagle获取书籍并从头到尾阅读。

我建议您使用web缓存,例如,或者,对于更复杂的内容。

虽然这只在用户有权访问其服务器根目录时才有效,但我喜欢这个答案。如果我的服务器没有配置cPanel,我会试试这个。(cPanel这件事让我不想为任何事情烦恼。)@animuson:我希望一个期望每天获得100万份Unique的网站不要使用消费者级托管网站,但是可以在他们自己的专用服务器上以任何方式配置软件。如果你的主机有像样的客户服务,你可能可以与他们通电话,让他们为你安装。特别是如果这意味着他们的服务器上的负载更少。生成一个PHP进程?你从来没有使用过mod_php或FastCGI吗?我不太清楚为什么我写这篇文章时会考虑使用香草CGI;我几乎只提供带有mod_PHP的PHP。
<?php include 'page.htm'; ?>