Engineering

GitHub における大規模なモノリポのパフォーマンスの向上

GitHub は、大規模なモノリポを使用する一部の顧客から、プッシュ操作が失敗するといったパフォーマンスの問題が発生しているというフィードバックを受けました。 github/github は GitHub のモノリポですが、私達自身も時々プッシュに失敗することがありました。そこで、モノリポのプッシュパフォーマンスを改善するために様々なアプローチを行い、これらを組み合わせることで、プッシュトラフィックを処理する能力が少なくとも一桁向上しました。

Image of Scott Arbeit

Git clone: データで見るクローンの仕組み

Git cloneにはいくつかの選択肢がありますが、実際に Git のパフォーマンスにどのような影響を与えるのでしょうか?あなたのクライアントではどの選択肢が一番速いのでしょうか?あなたのビルドマシンではどの選択肢が一番速いのでしょうか?これらの選択肢はサーバーのパフォーマンスにどのような影響を与えるのでしょうか?異なるクローンオプションとフェッチオプションの間で、いくつかのパフォーマンスの変化があることを説明します。

Image of Solmaz Abbaspoursani

パーシャルクローンとシャロークローンを活用しよう

Git のリポジトリが大きくなると、新しい開発者がクローンして作業を始めるのが難しくなります。Git は 分散 バージョン管理システムとして設計されています。つまり、リポジトリとのやりとりを管理する中央サーバーに接続しなくても、自分のマシンで作業ができるということです。これが完全に実現できるのは、すべての到達可能なデータがローカルリポジトリにある場合だけです。

Image of derrickstolee