Composerの実行速度が遅い
概要
phpenvで開発環境を構成して使っていて、いつからか分からないがComposerのパッケージのダウンロードを含めて動作が遅くなりました。色々資料を調べた内容を纏めてみました。
Composerのアップデート
バージョンが1.2.X系であれば1.3.X系にバージョンアップする事をオススメします。composer自体の更新は下記のコマンドで実行出来ます。
$ composer self-update
packagistのミラーサーバを日本国内のサーバに変更
原因としては以下の三つだようです。
- packagist.orgが日本から遠い
- composerのアーキテクチャ的に、小さなjsonファイルを少しずつダウンロードするため、ネットワークの遅延がもろに影響する
- composerがfile_get_contentsでjsonをダウンロードしていて、どうやらKeep-Aliveを使っていないし、並列ダウンロードもしていない
日本国内のサーバに変更する事でダウンロードの高速化を図ります。
% composer config -g repos.packagist composer https://packagist.jp
戻すときは以下のコンマンドを実行します。
% composer config -g --unset repos.packagist
Composerプラグインによる高速化
prestissimoというcomposerプラグインを利用する方法です。これは「packagistのミラーサーバを日本国内のサーバに変更」に記載した下記の問題を解消する為のプラグインのようです。
% composer global require hirak/prestissimo