5

我在安装 ExpressionEngine v2.5.3 时遇到了问题,我认为内存使用率很高。这是最近的 EE1 - EE2 升级,如果有影响的话。

此项目的空模板使用 10MB 内存。我在另一个 v2.5.3 项目上进行了测试,那里有一个空页面使用 2MB 内存。我在普通模板上看到 30+MB 的使用量,并且浏览器经常失去与服务器的连接。

是否是插件导致内存使用量增加?向后跟踪的最佳方法是什么?

此次升级后,安装肯定会正常运行。


模板调试

(0.000011 / 9.01MB) - Begin Template Processing -
(0.000172 / 9.01MB) URI: test
(0.000185 / 9.01MB) Path.php Template: /
(0.000199 / 9.01MB) Retrieving Template
(0.000210 / 9.01MB) Parsing Template URI
(0.002112 / 9.02MB) Template Group Found: test
(0.002166 / 9.02MB) Retrieving Template from Database: test/index
(0.003599 / 9.02MB) Template Found
(0.003690 / 9.02MB) Template Type: webpage
(0.003711 / 9.02MB) Parsing Site Variables
(0.003767 / 9.02MB) Snippets (Keys): structure:is:page|structure:is:listing|structure:is:listing:parent|structure:page:entry_id|structure:page:template_id|structure:page:title|structure:page:slug|structure:page:uri|structure:page:url|structure:page:channel|structure:page:channel_short_name|structure:parent:entry_id|structure:parent:title|structure:parent:slug|structure:parent:uri|structure:parent:url|structure:parent:child_ids|structure:parent:channel|structure:parent:channel_short_name|structure:top:entry_id|structure:top:title|structure:top:slug|structure:top:uri|structure:top:url|structure:child_listing:channel_id|structure:child_listing:short_name|structure:freebie:entry_id|structure:child_ids|structure:sibling_ids|structure_1|structure_2|structure_3|structure_4|structure_5|structure_6|structure_7|structure_8|structure_9|structure_10|structure_last_segment|site_id|site_label|site_short_name|last_segment
(0.003784 / 9.02MB) Snippets (Values): FALSE||||||||||||||||||||||test|/test/|/test/||||||test||||||||||test|1|Ranch|default_site|test
(0.003926 / 9.02MB) Parse Date Format String Constants
(0.003943 / 9.02MB) Parse Current Time Variables
(0.003968 / 9.02MB) Parsing Segment, Embed, and Global Vars Conditionals
(0.007698 / 9.11MB) - Beginning Tag Processing -
(0.007719 / 9.11MB) - End Tag Processing -
(0.008645 / 9.12MB) Calling Extension Class/Method: Structure_ext/template_post_parse
(0.008789 / 9.11MB) - End Template Processing -
(0.008803 / 9.11MB) Parse Global Variables
(0.009574 / 9.11MB) Template Parsing Finished
Memory Usage: 10,163,144 bytes
4

4 回答 4

9

不同版本的 php,以及不同的 php 实现方式,例如:mod_php 与 fastcgi,以及 php 本身启用的不同功能会导致不同级别的内存使用。

要测试只执行 php 而不是在 EE 的模板引擎中执行的内存使用情况,请尝试以下代码。

<?php
    function echo_memory_usage() {
        $mem_usage = memory_get_usage(true);

        if ($mem_usage < 1024)
            echo $mem_usage." bytes";
        elseif ($mem_usage < 1048576)
            echo round($mem_usage/1024,2)." kilobytes";
        else
            echo round($mem_usage/1048576,2)." megabytes";

        echo "<br/>";
    }
?>
于 2012-10-28T18:44:04.963 回答
3

您可以使用 Graphite 插件快速查明瓶颈:

https://github.com/joelbradbury/Graphite.ee_addon

我发现 Graphite 本身确实可以减慢您的页面速度,但是如果您可以加载它,那就太棒了。

于 2012-10-28T17:59:48.317 回答
3

从一个空模板开始,打开模板调试,是一个好的开始,它消除了任何标签导致高内存使用的机会。

您的 2Mb 使用安装和当前 10Mb 使用安装之间是否有任何不同的设置或附加设置?由于消除了模板标签,您可能希望查看可能会增加开销的附加组件,特别是扩展。随意发布您在此处安装的附加组件。

此外,禁用跟踪并将模板另存为文件可能会为您节省一些内存。

于 2012-10-28T18:48:00.023 回答
2

我的问题的答案似乎是~9MB 是 EE 安装上空白模板的正常起始级别。

以 2MB 开始的模板位于启用了 APC 字节码缓存的 EngineHosting VPS/VSC 帐户上,因此存在数量差异。

于 2012-10-30T16:12:58.713 回答