代码之家  ›  专栏  ›  技术社区  ›  Ozzy

ssi或php include()?

  •  10
  • Ozzy  · 技术社区  · 15 年前

    基本上,我很快就会推出一个网站,我预测会有很多流量。看在场景上,假设我每天有100万个。数据是静态的,但我还需要包括

    我将只在另一个HTML页面中包含一个HTML页面,没有动态的内容(我有自己的原因,我不会公开以保持这个简单)

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

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

    <?php include 'page.htm'; ?>
    
    5 回复  |  直到 15 年前
        1
  •  9
  •   Wrikken    15 年前

    性能方面最快的是将模板存储到其他地方,生成完整的HTML,并根据模板中的更改重新生成。

    如果您真的想要在php&ssi之间进行比较,我想ssi可能更快,而且更重要:没有php在WebServer进程/线程所需的RAM上要轻得多,从而使您能够拥有更多的Apache线程/进程来服务请求。

        2
  •  2
  •   John Flatness    15 年前

    ssi内置于apache中,而apache必须生成一个php进程来处理.php文件,所以我希望ssi更快、更轻。

    不过,我同意前面的回答,使用php路径将使您将来能够更灵活地进行更改。

    实际上,任何存在的速度差异在大范围内都可能是微不足道的。

        3
  •  2
  •   Greg Guida    15 年前

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

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

        4
  •  1
  •   Bill Karwin    15 年前

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

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

    使用php与mod_php和操作码缓存 APC 可能非常快,因为它会自动缓存高需求文件。如果你关掉 apc.stat 为PHP脚本提供服务根本不需要点击磁盘(注意,这会使在运行的系统上更新PHP脚本更加困难)。

    您还应该确保遵循其他高可伸缩性的最佳实践。使用A CDN 对于静态资源,优化脚本和样式表等。通过 Steve Souders Theo 和; George 一页一页地读。

        5
  •  -1
  •   Artefacto    15 年前

    我建议您使用类似 Squid 或者,对于更复杂的事情, Oracle Web Cache .