Ibm-Domino

“此數據庫的全文索引正在使用中”在虛擬伺服器上,而不是在專用伺服器上

  • September 1, 2013

我們的生產 Domino 伺服器是 32 位 Windows 2003 伺服器,其中作業系統、程序文件和 Domino 數據都位於不同的磁碟驅動器上。我不記得在那台伺服器上看到過這個錯誤:

NotesException: Notes 錯誤: 此數據庫的全文索引正在使用中

在我們切換到只有 C: 驅動器的 64 位 Windows 2008 虛擬伺服器後,我們經常看到此錯誤。

今天我做了一個測試,我首先生成了 4000 個相當大的文件。然後我執行了這個 XPage SSJS 程式碼:

for (var i = 0; i < 300; i++) {
   print("FT");
   database.FTSearch("[Form]=Test");
   java.lang.Thread.sleep(100);
}

當上面的程式碼執行時,我執行這個:

print("START indexing");
database.updateFTIndex(true);
print("END indexing");

我在兩台伺服器上都做了兩次。在 32 位專用伺服器上,我沒有收到任何錯誤。編制索引耗時 4 秒,在編制索引期間進行了 32 次 FT 搜尋。

在 64 位虛擬伺服器上,在“開始索引”列印之後只有 1 次 FT 搜尋,之後我得到了錯誤。所有這 3 件事都發生在同一秒(索引開始、一次 FT 搜尋和錯誤)。

兩台 Domino 伺服器都是版本 9。在虛擬伺服器上有超過 10GB 的可用空間(測試數據庫中的 FT 索引大小為 10MB)。

我能想到的這種差異的唯一原因是 FT 索引器使用專用伺服器上的其他驅動器進行索引,因此錯誤沒有發生在那裡。對嗎?是否有相關文件?

我們沒有使用FTBasePathnotes.ini 參數。

我將 FT 搜尋之間的睡眠時間減少到 10 毫秒,並添加了異常處理,以便在異常後 10 毫秒再次嘗試 FT 搜尋。

結果是專用伺服器上的 14 輪異常和虛擬伺服器上的 12 輪異常。當我第一次測試時,虛擬伺服器上可能有一些負載。100ms 的睡眠時間太長,導致專用伺服器上的異常。

所以不幸的是,當全文索引開始時,這個異常似乎總是在短時間內發生。在其他虛擬伺服器使用相同 RAID 系統的虛擬伺服器上,磁碟操作有時會很慢,導致 FT 索引繁忙時間增加。

將作業系統、程序文件和 Domino 數據放在同一個磁碟上可能/將是性能問題,但不應導致您看到的問題。

由於生產伺服器顯然已遷移到新平台,

  1. 刪除所有 FT 索引(刪除 .ft 目錄)並在新機器上重新創建所有 FT 索引。停止伺服器,刪除所有相關數據庫的 .ft 目錄,再次啟動伺服器並為這些數據庫重新創建 FT 索引。
  2. 驗證伺服器的 notes.ini 中的所有路徑 … 是否正確
  3. Update_Fulltext_Thread = 1 已設置?

除此之外,請確認沒有病毒掃描程序,… 正在訪問 FT 文件,正如 Simon 評論的那樣。

引用自:https://serverfault.com/questions/535121