【问题标题】:php/apache performancephp/apache 性能
【发布时间】:2011-11-08 02:58:40
【问题描述】:

哪个更好,为什么?有人可以向我解释一下吗?非常感谢。

//Example 1
if($var == 1)
{
    echo "text text text..."; //Note: large text like 1MB 
}

//Example 2
if($var == 1)
{
    echo file_get_contents("path/to/file"); //content of this file same as echo text above
}

【问题讨论】:

  • 如果没有详细的上下文,这个问题毫无意义。最有效的方法是直接由 apache 提供文件。而且,是的,您可以使用 apache ab 工具自己比较性能
  • 第 2 步。它将数据与代码分离。
  • @Jitamaro:别这么绝对!
  • @zerkms:我是分层的,它更像是一个命令。与盒子无关。

标签: php performance apache


【解决方案1】:

如果您要提供整兆字节的静态内容,一定要让 Apache 来做——它可以使用 sendfile(2) 系统调用来避免重复复制,不会强迫 PHP 一遍又一遍地重新解析一个巨大的字符串一遍又一遍,最好的是,使您的 PHP 文件可以编辑。 (当然,现在 1 兆字节并没有那么那么大,但将内容与演示分开始终是一个值得的目标。)

【讨论】:

    【解决方案2】:

    php/apache 性能

    在这个问题中,什么是特定于 apache 的?

    哪个更好

    在什么方面?第一个选项是一个非常混乱的结构,并且性能很差 - 但是有更好的方法可以在脚本中合并大量内容而不将其映射到 PHP 变量空间,例如

    if($var != 1)
    {
       // do something else
       exit;
    }
    ?>
    text text text... <!-- Note: large text like 1MB -->
    

    就处理负载而言,最小化 PHP 解析的数据量(即整个文件)将有助于减少 PHP 处理的数据量(即 中的内容)

    但另一个重要问题是如何管理内容 - 在 PHP 中嵌入大量数据不是正确的解决方案 - 编辑代码与编辑 HTML 内容是不同的任务/责任。

    ..如果您只是在谈论性能,为什么不自己衡量呢?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-14
      • 2010-11-30
      • 2013-11-11
      • 1970-01-01
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      • 2022-11-28
      相关资源
      最近更新 更多