Symfony2的加载时间和性能

7

我正在处理一个不太大的项目(3个我创建的捆绑包和6个我下载的/5个实体),我将这段代码放在我的主控制器上:

class HomeController extends Controller
{
    public function indexAction()
    {
        $time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
        echo $time; 
        die();

        //...

在本地主机上(启用了APC),它的响应速度在100毫秒以下,这是可以接受的。但是真正的问题出现在在线服务器上(使用生产环境且未安装APC):如果我10分钟不使用网站,则第一次加载非常缓慢(2至4秒),然后如果我留在网站上并刷新页面,则加载速度就变快了(从500毫秒到1秒)。这个情况是否正常?我的在线服务器或Symfony2项目有问题吗?请帮我解决这个问题。

3
也许很难实现,但你是否启用了xdebug?它会对性能产生巨大影响。 - kgilden
我不知道。但在尝试任何操作之前,我想知道这些值是否正常? - httpete
2
如果你在良好的硬件和生产环境下运行,它们肯定不是正常的。 - kgilden
谢谢!我实际上正在运行良好的硬件和生产环境。这些情况下什么是可接受的值? - httpete
我尝试在我的MAC上使用MAMP和启用APC运行项目(我还尝试了xCache)... 我得到了大约30ms而不是大约300ms!这快得令人惊讶,谢谢!但是...由于我无法在我的在线服务器上启用APC,因此我仍在寻找改进的方法。 - httpete
1
是的,APC非常有帮助!我想下一步就是在开发环境中运行应用程序,看看是否有特定的区域很慢(使用>=2.1.*非常容易)。否则,恐怕您需要深入系统范围进行分析。不幸的是,我没有足够的时间来详细回答,但是这个视频是一个好的开始:http://www.youtube.com/watch?v=qsPEHEpddzI。 - kgilden
2个回答

2
你应该安装APC来减少加载时间。以下是相关说明:

性能

(2015年编辑:更新链接)


由于本地版本和在线版本之间存在相当大的差异,您不认为这是来自我的Symfony2配置、数据库连接...而不是PHP执行的问题吗? - httpete
取决于您在本地/远程环境中使用的PHP版本和操作系统。 - apoq
我尝试在我的MAC上使用启用了MAMP和APC(我也尝试了xCache)的项目运行,结果只需要大约30毫秒而不是大约300毫秒!这比预期的要快得多,谢谢!但是...由于我无法在我的在线服务器上启用APC,因此我仍在寻找改进的方法。 - httpete

2

我正在使用Symfony v2.0.9,所以我能够安装组件吗? 我正在使用127.0.0.1和FOSUserBundle。 - httpete
工具栏在2.0.9版本中肯定是可用的:https://github.com/symfony/symfony-standard/blob/v2.0.9/app/config/config_dev.yml#L9你更新了Symfony版本了吗?渲染时间有进展吗? - hacfi
我使用Composer安装了计时器组件,但是我的Web分析工具中没有任何新内容... 如果我最终使其工作,它能在第一个控制器执行之前提供信息吗?(参见我的代码问题) - httpete
你不需要安装任何东西,只需按照链接中所示,在config_dev.yml中启用工具栏即可:https://github.com/symfony/symfony-standard/blob/v2.0.9/app/config/config_dev.yml#L9 - hacfi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接