顛覆在送出時間歇性掛起(停頓)
每當我們的任何 SVN 使用者在伺服器空閒一段時間後嘗試送出到儲存庫時(例如,當天的第一次送出),無論送出的大小如何,送出對話框都會掛起恰好一分鐘。送出完成後,狀態消息會顯示類似“5 kBytes transfer in 1 minute(s) and 0 seconds(s)”的內容。隨後的送出將繼續進行,不會有任何延遲。我在另一個論壇上讀到一個建議,它可能與 LDAP 記憶體有關,但我不知道如何調查。你能解釋一下可能是什麼原因造成的嗎?
更新:我在本地擁有的伺服器上使用 SVN,由 CollabNet (v5.2.2) 的 SubversionEdge 安裝,以及 TortoiseSVN 1.10。後端是 ActiveDirectory(維護在單獨的公司伺服器上)。LDAP 是通過 SubversionEdge 配置的。我可以訪問設置頁面,但它們對我來說都是希臘語(我沒有任何 LDAP 專業知識)。
UDPATE #2:我懷疑這個問題可能與 Gerald在此處描述的問題有關。但是,該問題已通過調整解決
LDAPConnectionPoolTTL
,但該設置在我的 SVN/LDAP 設置的“身份驗證”頁面上不可用,因此我不知道如何調整它。
感謝GeraldSchneider 對類似問題的詳細描述,我能夠確定該問題與稱為
LDAPConnectionPoolTTL
. 挑戰在於找出如何在 CollabNet 管理門戶中調整該設置。它不在身份驗證頁面上。相反,您必須導航到“伺服器設置”,然後點擊“高級設置”連結,該頁面底部有以下兩個欄位:
Connection Pool TTL
(預設值:-1 – 嘗試無限期地重用連接)和,
Timeout
(預設值:60 秒;這對應於 LDAP 響應時間)我不確定這些欄位的最佳設置是什麼。我在各種論壇上找到了很多建議:
- Gerald 的文章建議將池 TTL 設置為 0,禁用現有連接的重用,但我不清楚這可能會對性能造成什麼影響。
- 一個論壇建議在 Pool TTL 上使用 60 秒
- 另外兩個論壇建議在 Pool 上使用 900,在 Timeout 上建議使用 10(以及對 httpd.conf 文件的一些額外更改)。
- Atlassian 建議池 TTL 為 30 秒,IBM 建議10 秒。
就個人而言,我決定嘗試將池 TTL 設置為 899,並將 LDAP 響應超時減少到 10。