2013-05-02 85 views
6

我一直在努力工作一个新的项目,并已运行到哪里我的应用程序需要很长时间才能返回无论是在开发和生产线的响应一个奇怪的问题。但有时它会非常快地返回响应。我在这里阅读了一些关于可能原因的文章,但没有一篇能够解决我的问题。Symfony2中有时慢开发和生产响应时间

起初我还以为是因为我有几个子请求作出所以我删除这些,但仍然有同样的问题。

我的平均要求只有20-30MB之间的DEV。我试图使用探查器来帮助我找出这可能来自哪里,但是每个请求都显示请求的最长部分是不同的区域。例如,在一个请求中,最长的部分是控制器,在另一个对同一页面的请求中,它是模板监听器,另一个请求是安全/防火墙监听器。

例如,我的主页上的快速请求大约需要116ms。我等了一分钟,刷新了,它需要9467ms,甚至我看到它需要30,000 + ms。

虽然我可以在开发模式有点缓慢生活,督促在做同样的事情。有时快,有时慢。 APC缓存已启用。通常我的教义查询只需要4-20毫秒来完成,具体取决于页面。

我运行PHP 5.3,但决定升级到5.4,看看是否能帮助,还是同样的问题。我正在使用nginx的最新稳定版本。 FPM中的PHP。服务器运行其他网站没有问题 - magento和symfony 1.4 web应用程序都没有这样的问题。

Server是一个四双核与RAM 32GB的,所以我有充足的资源。按照我的请求监视进程我没有看到异常的CPU或内存负载。

我还没有尝试运行在不同的机器上的应用程序 - 但我不明白为什么我的所有其他应用程序将是工作的罚款,这一个也是唯一一个遇到速度缓慢的这个样子。我今晚可能会测试一下,但我想看看以前是否有人遇到过这样的问题。

下面是我的一些探查快照时请求需要很长的时间:

enter image description here


enter image description here


enter image description here


enter image description here


这里有两个当快至预期

enter image description here enter image description here

请求这是我的作曲家。JSON

{ 
    "name": "spliced/commerce", 
    "minimum-stability": "dev", 
    "description": "", 
    "autoload": { 
     "psr-0": { "": "src/" } 
    }, 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.2.*", 
     "doctrine/orm": "2.4.*", 
     "doctrine/doctrine-bundle": "1.2.*", 
     "twig/extensions": "1.0.*@dev", 
     "symfony/swiftmailer-bundle": "2.2.*", 
     "symfony/monolog-bundle": "2.2.*", 
     "sensio/distribution-bundle": "2.2.*", 
     "sensio/framework-extra-bundle": "2.2.*", 
     "sensio/generator-bundle": "2.2.*", 
     "jms/security-extra-bundle": "1.4.*", 
     "jms/di-extra-bundle": "1.3.*", 
     "symfony/assetic-bundle": "2.1.*", 
     "kriswallsmith/assetic": "1.1.*@dev", 
     "vbardales/multiple-app-kernel-bundle": "dev-master", 
     "avalanche123/imagine-bundle": "v2.1", 
     "knplabs/knp-menu-bundle" : "dev-master", 
     "knplabs/knp-paginator-bundle": "dev-master", 
     "knplabs/knp-components": "*", 
     "symfony-cmf/routing-extra-bundle": "*", 
     "stof/doctrine-extensions-bundle" : "dev-master", 
     "facebook/php-sdk": "3.2.*", 
     "kertz/twitteroauth" : "*", 
     "adoy/oauth2" : "dev-master", 
     "guzzle/guzzle" : "dev-master", 
     "knplabs/knp-snappy-bundle": "dev-master", 
     "symfony-cmf/routing-extra-bundle" : "*", 
     "floriansemm/solr-bundle": "dev-master" 
    }, 
    "require-dev": { 
     "zendframework/zendframework": "dev-master", 
     "elao/web-profiler-extra-bundle" : "dev-master" 
    }, 
    "repositories": { 
     "goutte": { 
      "type": "package", 
      "package": { 
       "name": "fabpot/goutte", 
       "version": "dev-master", 
       "source": { 
        "type": "git", 
        "url": "git://github.com/fabpot/Goutte.git", 
        "reference": "master" 
       }, 
       "autoload": { 
        "psr-0": { 
         "Goutte": "src/" 
        } 
       } 
      } 
     } 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ], 
     "post-update-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ] 
    }, 
    "config": { 
     "bin-dir": "bin" 
    }, 
    "extra": { 
     "symfony-app-dir": "commons", 
     "symfony-web-dir": "web", 
     "branch-alias": { 
      "dev-master": "2.2-dev" 
     } 
    } 
} 
+0

我解决这个问题,我不知道如何。我认为它最终是一个文件权限问题?我真的不确定。这甚至有可能吗? – 2013-05-10 16:49:35

+2

回答这里工作对我来说:http://stackoverflow.com/a/17914570/118593 – TautrimasPajarskas 2013-08-14 09:56:03

+0

这可能会回答这个问题: http://stackoverflow.com/questions/12905404/symfony2-slow-initialization-time#answer -17914570 – 2014-09-27 22:45:19

回答

3

我是指你的答案在另一个(相同的)问题:

Problems with symfony performance

我想你应该在php.ini中设置这些两个参数上比默认的值要高许多,即

realpath_cache_size = 4096k 
realpath_cache_ttl = 7200 
+1

为什么降级? – 2016-12-19 08:29:57

+0

Thx ...解决了我的问题:D – Stony 2017-06-21 16:50:53