PHP Composer を高速化する方法を簡単にまとめました | PHP | みどりのウェブ開発日記

PHP Composer を高速化する方法を簡単にまとめました

カテゴリ: PHP

記事投稿日: 2017年1月11日



便利ですが、重たい PHP のパッケージマネージャの Composer を、とても早くできる方法をまとめました。

結論から言うと、ご紹介するコマンドを2回たたくだけで、次のことが可能になります。

・Composer の通常通信: 地球220周分の通信 -> 2周分までにおさえられる
・Composer の通常通信: シングルスレッドの通信 -> プラグインで、並列ダウンロードできる

日本にあるミラーサイトを以下のコマンドで有効化する

composer config -g repos.packagist composer https://packagist.jp


解除する場合

composer config -g --unset repos.packagist

通信を curl に変更し、並列ダウンロードできるようにする

composer global require "hirak/prestissimo:^0.3"


解除する場合

composer global remove hirak/prestissimo

「PHPカンファレンス関西2016」で発表された資料の手順を抜粋し、最新化したものです(2017年1月現在)。


『Composerを速くするために必要だったもの』
https://speakerdeck.com/hirak/composer-keynote|

どうしてこんなに早くなるのか

何をしているかは、スライドを見ていただくのが一番いいのですが、時間のない方に、ダイジェストを….ざっくり説明します。

composer のリポジトリは、フランスにあります。
アジア圏は物理的に、約8,000km も離れています。
また、さまざまな通信的成約から、通常、地球220周分もの通信が行われるため遅くなっている、ということです。
そこで、このリポジトリのミラーサイトを日本に作ってくれたのが、資料の作成者である hirak さんです。
このミラーサイトを経由すれば、地球220周分→ 2周分までに物理的な距離が削減されます。

また、composer の通信はシングルスレッドなのですが、curl で並列ダウンロードさせるためのプラグインを作ってくれたのが、またまた hirak さんです。
GitHub でのスターは2300を超え、いまや世界の hirak と呼ばれているそうです。
気に入られたら、GitHubの https://github.com/hirak/prestissimo で star を押してあげましょう。
既に2400近いstarが集まっていて、PHP界ではかなり盛り上がっています。

昨年(2016年)のカンファレンスでこの資料があがってから、すごい、と感激したものの、なかなか実行にうつせませんでした。
あと、スライドで紹介されている、プラグイン導入のコマンドが現在は古くなっているので、更新しています。








コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA




トップに戻る