2016-09-13 10 views
0

に私は私のSymfony 2.8のプロジェクトにBlackfireテストを行っている\作曲を改善し、それは時間(50%以上)のほとんどは作曲の435回のコールで使用されていることを示して\オートロード\ includeFile自動ロード includeFileはsymfonyの

どのようにそれを改善するための任意の提案? 私はキャッシュをクリアした後にphp composer.phar dump-autoload --optimizeを使用しています。

私は教義のためのメタデータとクエリキャッシュにAPCを使用して、私のapp.phpファイルは次のようになります。

<?php 

use Symfony\Component\HttpFoundation\Request; 

/** 
* @var Composer\Autoload\ClassLoader 
*/ 
$loader = require __DIR__.'/../app/autoload.php'; 
include_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 Symfony\Component\ClassLoader\ApcClassLoader(sha1(__FILE__), $loader); 
$loader->unregister(); 
$apcLoader->register(true); 
*/ 

$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); 

答えて

1

この関数は次のようになります。

function includeFile($file) 
{ 
    include $file; 
} 

だから、これは問題ではありませんComposer自体でここでは最適化するものは何もありません。あなたはたくさんのファイルを含んでいます。

とにかく、app.phpを詳しく見てください。

まず、あなたがを書いてきた私は、APC(...)を使用して、この含んだ後、貼り付けコードスニペット:

// 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 Symfony\Component\ClassLoader\ApcClassLoader(sha1(__FILE__), $loader); 
$loader->unregister(); 
$apcLoader->register(true); 
*/ 

を私はこのヒントに従うと、これらの数行のコメントを解除することをお勧めコード。

また、APC構成で最適化が行われる可能性があります。

+0

これで解決できるのは、ファイル数が少なくて済み、バンドルが少なくて済むことです。 APCについては、app.phpファイルで何が変わっているのですか。私がこれらの3行のコメントを外すと、私はそれがないと悪い時が来るということです。これらのコメントアウトされていない回線では、要求ごとに100ms以上の時間がかかります。 – Tom

関連する問題