2016-07-28 18 views
1

Devopsの管理者として、自分の環境でgitのパフォーマンスをチェックする方法は何ですか?どうすればgitのパフォーマンスを調べることができますか?

Gitのアップグレードのような大きな変更のたびに、私はgitの動作を確認するテストを実行したいと思います。
どうすればいいですか?

+0

それはあなたのシステムに依存するため複雑。たとえば、リモートレポからのクローンには、サーバー、ネットワーク、ローカルマシンが含まれます。ローカルマシンをテストしたいだけなら、独自のベンチマーク(ローカルクローン、チェックアウト、コミット)を自作して時間を計ることができます。私はちょうどグーグルでグーグルでベンチマークスイートを見つけられませんでしたが、いくつかある必要があると思います。公平なテストができるように、ファイルシステムのキャッシュをフラッシュするようなことをしてください。 – DavidN

+0

この質問はかなり広いようです。 Gitのパフォーマンスについて知りたいことを明確にすることはできますか?また[ask]も参照してください。 –

+0

は、他のテストのパフォーマンスとあまり変わりません - あなたが興味のある操作を実行して時間を測定します – max630

答えて

1

はい、@DevidNは設定、ネットワークのようなさまざまなパラメータに依存すると指摘しました。移行後にSVNからgitとstatsに移行していたときも同じQを持っていました。

私は、さまざまなgitコマンドの組み合わせで 'time'を使用し、サーバーからのすべてのコマンドを監視するためのスクリプトを書いています。

例:Gitのパフォーマンスをテストするための

$ time git clone http://####@#########.git 
Cloning into '#####'... 
remote: Counting objects: 849, done. 
remote: Compressing objects: 100% (585/585), done. 
remote: Total 849 (delta 435), reused 0 (delta 0) 
Receiving objects: 100% (849/849), 120.85 KiB | 0 bytes/s, done. 
Resolving deltas: 100% (435/435), done. 
Checking connectivity... done. 

real 0m4.895s 
user 0m0.140s 
sys  0m0.046s 
0

もう一つの方法は、それほど古いPERFフォルダに頼ることである:2012 with Git 1.7.10, with commit 342e9ef

  • で導入された「パフォーマンス・テスト・フレームワーク」 'run'スクリプトを使用すると、任意のビルドディレクトリとリビジョンを指定できます。
  • 実行するテストを指定できます。または手作業で行うこともできます
  • 2種類の異なるサイズのテストレポを設定することができ、スクリプトはそれらのうちの1つ以上をコピーします。

そう... make perf

のGit 2.14(Q3 2017)静止wildmatch()機能のランタイムはgitのにグロブ面に指数関数的に成長するために使用される試験示すと、そのフレームワークに追加されていますいくつかの病理学的グロブスの。

commit 62ca75a,commit 91de27c(11 May 2017)by Ævar Arnfjörð Bjarmason (avar)を参照してください。
commit 140921cJunio C Hamano -- gitster --、2017年5月30日によって吸収合併)

関連する問題