2010-06-07 63 views
9

基本上,我即将推出一个网站,我预测很多交通。为了方便起见,可以说我每天会有1米独特的身份。该数据是静态的,但我需要有包括藏汉SSI或PHP包含()?

我将只包括另一个HTML网页内的HTML页面,没有动态的(我有我的原因,我不会透露给保持这种简单)

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

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

<?php include 'page.htm'; ?> 

回答

9

明智的性能最快的存储模板别处,产生全HTML,并根据模板中的更改进行重新生成。如果你真的想比较一下PHP & SSI,我猜SSI可能更快,更重要的是:没有PHP对web服务器进程/线程所需要的RAM轻很多,从而使你有更多的apache线程/进程为请求提供服务。

2

SSI内置于Apache,而Apache必须产生一个PHP进程来处理.php文件,所以我希望SSI稍快一点。

虽然我会同意上一个答案,那就是PHP路线将给你更多的灵活性来改变未来。

真的,任何存在的速度差异在整体情况下都可能是微不足道的。

+0

产卵PHP过程?你从来没有使用mod_php或FastCGI? – 2010-06-07 23:54:07

+0

我并不完全确定为什么当我写这篇文章时,我正在用香草CGI来思考;我几乎完全用mod_php来服务PHP。 – 2010-06-08 00:52:56

2

也许你应该看看HipHop的PHP编译成C++的PHP。由于C++编译速度更快。 Facebook使用它来减少服务器的负载。

http://wiki.github.com/facebook/hiphop-php/

+0

虽然这只会在用户访问其服务器根目录时起作用,但我喜欢这个答案。如果我的服务器没有配置cPanel,我会试试这个。 (cPanel的东西只是让我不想打扰任何东西。) – animuson 2010-06-07 23:43:05

+0

@animuson:我希望一个网站,预计每天只能获得1米独特的是不使用消费级托管网站,但有权访问配置软件他们需要在自己的专用服务器上进行安装。 – 2010-06-07 23:52:15

+0

如果您的主机有体面的客户服务,您可能可以与他们通电话并让他们为您安装。特别是如果它意味着更少的服务器负载。 – 2010-06-07 23:58:50

1

我不认为任何人都可以给你明确回答这个问题。这取决于您的Web服务器配置,操作系统和文件系统的选择,SSI使用的复杂性,服务器上的其他竞争过程等。

您应该将一些示例文件放在一起并在您打算部署的服务器上运行测试上。使用一些HTTP测试工具,如absiegehttperfjmeter来生成一些负载并比较两种方法。这是获得对您的环境正确的答案的最佳方式。

使用PHP与mod_php和类似APC的操作码缓存可能非常快,因为它会自动缓存高需求文件。如果关闭apc.stat,则根本不需要打开磁盘来为PHP脚本提供服务(但要注意,这样会更难更新正在运行的系统上的PHP脚本)。

您还应该确保遵循其他高可扩展性最佳实践。使用CDN获取静态资源,优化您的脚本和样式表等。通过Steve SoudersTheo获取书籍& George Schlossnagle并阅读它们封面。