Symfony2を高速化する方法

ComposerのOptimized Autoloaderを利用する

クラスのマッピングをしてくれるというやつです。本番環境では必ずやる。開発環境では遅かったらやるぐらいで大丈夫そうです。しかしこれやると本当に速くなります。

$ php composer.phar dump-autoload -o
Generating optimized autoload files

これをやって、

$ php composer.phar update -o

これをやる。
エラーが出たらcomposerを最新にするといいっぽい。(*1)
更新ファイルは以下になるようです。

composer.phar
vendor/composer/ClassLoader.php
vendor/composer/LICENSE
vendor/composer/autoload_classmap.php
vendor/composer/autoload_real.php
vendor/composer/autoload_static.php

*1 たびたびいろんな障害がありまして、サーバーによっては勝手にkilledされたことがありました。

$ php composer.phar update -o
Loading composer repositories with package information
Updating dependencies (including require-dev)
killed

また、あるときには、メモリが足りなくなった模様。

$ php composer.phar update -o
Loading composer repositories with package information
Updating dependencies (including require-dev)
PHP Fatal error:  Out of memory (allocated 717488128) (tried to allocate 72 bytes) in phar:///home/user/web/symfony2/app/composer.phar/src/Composer/DependencyResolver/Rule.php on line 60

Fatal error: Out of memory (allocated 717488128) (tried to allocate 72 bytes) in phar:///home/user/web/symfony2/app/composer.phar/src/Composer/DependencyResolver/Rule.php on line 60

参考:
http://qiita.com/ArimaRyunosuke/items/b47d87b4ab76c35f4c39
http://www.glic.co.jp/blog/archives/2627

Last update: 2017.03.13 (月)