2012-04-13 53 views
4

我有一個特定服務器的問題,我希望能幫助您進行調試。在Windows 2003服務器上git pull非常慢(不是ssh傳輸部分)

運行git 1.7.10.msysgit.1作爲git擴展的一部分安裝2.3.1 Windows 2003 Standard R2 SP2。也安裝了cwRsync(基於Cygwin 1.7)。 Trend AV正在運行(因爲它是一臺工作機器,所以沒有任何改變)。該服務器是一個VMWare虛擬機,並被合理加載。

主要的問題是,即使是一個非常小的倉庫(600k & 26文件),git pull(無論是從git擴展還是git bash)都需要幾分鐘時間。持續時間內,CPU負載上升至接近100%(1個CPU)。任務管理器將此負載歸入「系統」。 git.exe的內存和CPU保持不變(和低)。

一般來說,git最初在服務器上做任何事情都很慢。我通過改變$ PS1來刪除__git_ps1來顯着改善這一點。在這個git clone,git push之後,本地git操作仍然非常緩慢(每個5-10秒),但至少它只是可用的。 (我的Linux基於90%的時間,所以期待超快的速度!)

git pull中的數據包捕獲顯示SSH通信在整個過程中發生了80%,並持續了幾秒鐘(如您所期望的一個好的系統)。功能上,git pull成功完成,沒有錯誤報告。

手動使用ssh登錄或拉文件顯示OK使用砰砰,原來的SSH(如捆綁)的ssh 4.6p1 OpenSSL的0.9.8e或及時更換SSH 5.9p1 OpenSSL的0.9.8s 這類折扣的任何網絡或SSH相關方面。

系統日誌或git擴展日誌中沒有任何內容指出任何錯誤。

我看了2個安裝的磁盤上的分割。兩者都需要去除碎片(10%和14%),一個90%滿的另一個有一些合理的空間。我沒有刪除權限,但我試圖將兩個磁盤上的repo克隆到兩個磁盤上,但故障沒有顯着差異。

我對Trend AV很感興趣(但不能改變它來消除它),但是已經在另一臺服務器上使用同一個存儲庫運行相同的測試,而且這個測試的速度非常快。

我懷疑git可能掃描$ HOME(該帳戶有NetHood subdir下的外部股票負載),但在NetHood中沒有任何內容的情況下在單獨的帳戶下運行相同的測試沒有任何區別。

我知道這不是產品問題,但我已經用完了想法。鑑於我試圖說服有關公司遷移到git上 - 在企業服務器上這樣的問題並不完全有助於我的論點!

感謝 戴夫

+0

你能解釋一下這是什麼意思嗎? 「我通過更改$ PS1來刪除__git_ps1來改善這一點」 – 2014-12-16 14:00:48

+0

這似乎是在討論git目錄中的/ etc/profile文件。 Windows不讓我編輯這個文件,看看這是否有幫助。 – 2014-12-16 14:17:24

回答

1

幫助是在路上,與commit d637d1b(適用於git 1.9.x/2。0,2014年第2季度):

改進我們的哈希表以使其滿足msysgit fscache project的需求,並有一些不錯的性能改進。

git statusgit clone應該從這個新hasmap API獲得提振。

0

我有同樣的問題,將msysgit升級到最新版本(1.9.5 Preview 20141217)解決了這個問題。

相關問題