2009-06-23 22 views
5

我有一個CVS存儲庫上的大型項目,我正在尋找方法來提高其性能。 CVS壓縮會有幫助嗎?加密又如何呢,會降低速度嗎?CVS性能

謝謝!

+0

cvs壓縮?你不是說ssh壓縮? – 2009-06-23 15:13:23

+0

cvs壓縮。 – gmuller 2009-06-23 16:50:09

回答

9

CVS隨着時間的推移會因反覆使用而變慢。

  • 當您簽出整個項目時,服務器將需要創建每個目錄(即使您之後刪除它 - 在結帳後清除目錄會將其隱藏起來)。
  • 當您退房時,每個文件都會打開並檢查,如果您有數百/數千個文件,則速度可能會很慢。
  • 如果您不想嘗試脫離主幹的頭部,因爲在將內容發送給客戶端之前需要重建內容,情況會變得更糟。

如果畢竟,你想提高在服務器和客戶端之間轉移數據的性能,那麼你可以(取決於你的內容類型)使用-z選項進行壓縮。我發現-z6是最好的,但取決於文件的性質,您可能需要更多/更少的壓縮。

-z GZIPLEVEL

設置上與服務器通信的壓縮級別。參數GZIPLEVEL必須是從1到9的數字。級別1是最小的壓縮(非常快,但不會壓縮太多);級別9是最高壓縮率(使用大量CPU時間,但確實會擠壓數據)。級別9僅適用於非常慢的網絡連接。大多數人發現3到5之間的水平是最有利的。

-z和它的參數之間的空格是可選的。

3

性能問題通常與IO相關。 (除非你可以看到你的CPU在100%以上)。我建議嘗試將存儲庫放在更快的驅動器陣列(RAID 10和/或更高RPM驅動器)上,以查看是否會增加您的性能。如果您通過互聯網訪問存儲庫,那麼可能存在帶寬問題,但取決於您所談論的數據量,即使是簡單的DSL連接也應該能夠處理它。

2

cvs它自身無法壓縮afaik,但是如果使用ssh傳輸ssh可以做到這一點(並且我認爲這是默認做的)。這將有助於緩慢連接。 編輯:實際上cvs得到了-z選項(因爲ssh得到了-C)

加密不是用來提高性能的東西。使用ssh也會進行加密,但這不是爲了性能,而是爲了安全。

無論資源庫位於何處,存儲庫和臨時文件的磁盤訪問都會影響性能。這與記憶相結合。簽出時,CVS將建立發送給客戶端的內容(作爲臨時文件)。這導致了很多discaccess,並在某些情況下導致內存使用(尤其是如果處理大的二進制文件)。