Symfony2共享主机坏性能可能缓存?

时间:2016-06-18 14:51:43

标签: php performance symfony caching shared-hosting

我使用Symfony2 app.php的默认配置

> <?php
> 
> use Symfony\Component\ClassLoader\ApcClassLoader; use
> Symfony\Component\HttpFoundation\Request;
> 
> $loader = require_once __DIR__.'/../app/bootstrap.php.cache';
> 
> // Enable APC for autoloading to improve performance. // You should
> change the ApcClassLoader first argument to a unique prefix // in
> order to prevent cache key conflicts with other applications // also
> using APC. /* $apcLoader = new ApcClassLoader(sha1(__FILE__),
> $loader); $loader->unregister(); $apcLoader->register(true);
> */
> 
> require_once __DIR__.'/../app/AppKernel.php'; //require_once
> __DIR__.'/../app/AppCache.php';
> 
> $kernel = new AppKernel('prod', false); $kernel->loadClassCache();
> //$kernel = new AppCache($kernel);
> 
> // When using the HttpCache, you need to call the method in your front
> controller instead of relying on the configuration parameter
> //Request::enableHttpMethodParameterOverride(); $request =
> Request::createFromGlobals(); $response = $kernel->handle($request);
> $response->send(); $kernel->terminate($request, $response);`

现在我的问题:

我有本地apache在200毫秒到250毫秒内在Symfony 2项目中渲染一些模板。 后台没有数据库。 现在我的问题是,如果我在webhost中请求相同的页面,我的请求时间从1秒到8秒。

我只有一些布局树枝,然后是内容部分。

我不知道为什么我的请求次数如此之高 这是一个请求标题示例:

General: Request URL:http://####/## 
Request Method:GET 
Status Code:200 OK 
Remote Address:####

Response Headers: view source 
Cache-Control:no-cache 
Connection:Keep-Alive 
Content-Type:text/html; charset=UTF-8 Date:Sat, 18 Jun 2016 14:41:39 GMT 
Keep-Alive:timeout=2, max=98 
Server:Apache 
Transfer-Encoding:chunked X-Powered-By:PHP/7.0.6

任何人都有想法获取一些信息进行调试,或者有人知道网络服务器性能不佳的原因?

2 个答案:

答案 0 :(得分:0)

也许有助于对服务器进行一些修改,如下所述: http://symfony.com/doc/current/performance.html

特别是

; php.ini
realpath_cache_size=4096K
realpath_cache_ttl=600

答案 1 :(得分:0)

简单的答案是:这取决于。

性能始终是一个主题,当您不了解代码和环境时,很难说出问题所在。 您必须对其进行测量。

使用Symfony,可以很容易地通过使用Profiler Toolbar来进行简单的测量。 只需在您的应用程序上安装并启用它即可。您将在页面底部看到工具栏。在性能选项卡上,您可以很好地了解渲染,控制器等花费的时间。 根据这些信息,您可以优化代码或环境。

Profiler - Image from the Symfony Blog

如果您需要有关性能的更多信息,可以尝试xhProfxDebugBlackfireTideways之类的商业工具。