$projectroot を 400GB のディレクトリに指定しました。このディレクトリには n 個の git プロジェクトが含まれています。以前は少数のプロジェクトしかなく、gitweb は非常に高速に開始されました。プロジェクト数が増加し始めると、ロードに時間がかかります。スピードアップする方法はありますか?
2 に答える
Gitweb は、その下のすべてのディレクトリを再帰的に検索し$projectroot
て、プロジェクトを見つけます。最上位を表示するファイルが多数ある場合、多くの時間がかかります。追加してみる
$project_maxdepth = 1; # プロジェクトのレイアウトに応じて、または少し大きい整数
/etc/gitweb.conf で、検索を の最初のディレクトリ レベルに制限します$projectroot
。
andygavin's answer のように$projectroot
、そこにチェックアウトも含まれている裸ではないリポジトリがある場合、巨大なディレクトリツリーを簡単に取得できることが示唆されています。チェックアウトを別の場所に置き、gitweb の下に裸のリポジトリのみを配置することをお勧めします。使用する
git clone --bare /path/to/projects/project /path/to/gitweb/project
非ベア プロジェクトから gitweb のベア クローンを作成し、$projectroot
代わり/path/to/gitweb/
に/path/to/projects/
.
遅い理由を伝えるのは難しいですが、リポジトリには多くの緩いオブジェクトがあります:
git gc --aggressive
gitweb リポジトリがベアであることは良い習慣です。インデックスと一緒にファイルがあるかどうかについて言及するサイズは明確ではありません。