索引器任務:Update 和 Updall
Update 和 Updall 任務可讓檢視索引和全文索引保持最新。
Update
預設情況下,更新在伺服器啟動時載入並持續運行,檢查其工作佇列中是否有需要更新的視圖和資料夾。索引器透過在執行的每個資料庫更新操作之間等待五秒鐘來使用適度的系統資源。
更新任務執行三種不同的更新任務:
- 更新Domino ®目錄中的視圖。
- 更新所有其他資料庫中的視圖。當請求更新視圖時,僅當自上次更新以來至少有 20 個註釋變更並且在過去 7 天內訪問該視圖時,才會更新該視圖。當在Notes ®用戶端中開啟視圖時,視圖更新服務可提高視圖存取速度。如果視圖不經常更新,對使用者或應用程式的唯一影響是視圖開啟時間變慢,因為視圖在開啟時會自動更新。
- 更新全文索引。全文索引提供了搜尋最近新增的註釋的能力。如果在最近的全文索引之後新增註釋,則全文搜尋將找不到該註釋。
更新維護兩個工作隊列-一個立即隊列和一個延遲隊列。其他伺服器元件(例如路由器和複製器)會在資料庫發生變更時向更新程式發出請求。有些請求被發佈為延遲請求,有些請求被發佈為即時請求。
更新頻率 |
描述 |
---|---|
日常的 |
由每晚的 Updall 任務執行。如果不執行此夜間任務,則不會執行每日更新。 |
預定 |
由執行 Updall 的程式文件執行。您需要將頻率設定為“計劃”並建立正確的計劃文件。您也可以使用此方法在不同時間更新不同的資料庫。 |
每小時 |
由 chronos 任務觸發,如果更新任務正在運行,則由更新任務執行。如果更新任務未運行,chronos 會執行更新。如果 chronos 任務未運行,則不會執行更新。 |
即時 |
由更新任務執行。如果更新未運行,則不會執行更新。所有即時請求都會在收到後立即處理。 |
延期 |
延遲的請求將保留 15 分鐘後再處理。當時發生的更新相同資料庫的請求將被視為重複請求而被忽略。 |
當檢視或資料夾變更記錄在佇列中時,Update 會等待約 15 分鐘,然後再更新資料庫中的所有檢視索引,以便更新可以包含在 15 分鐘期間所做的任何其他資料庫變更。更新資料庫中的視圖標記後,它會更新所有將全文搜尋索引設定為立即更新或每小時更新的資料庫。
當 Update 遇到損壞的視圖索引或全文索引時,它會重建視圖索引或全文索引以嘗試修正問題。更新刪除視圖索引或全文索引並重建它。
為了提高視圖索引效能,並且如果您的伺服器有足夠的 CPU 能力,您可以執行多個更新任務。
管理更新任務及其對系統資源的使用
如果伺服器的更新率較低,也就是說,如果對伺服器上的資料庫進行的變更很少,則索引器能夠跟上伺服器預設配置中的更新率。如果伺服器因應用程式資料庫使用繁重、郵件使用者較多或郵件量較大而具有較高的更新率,則預設資源使用配置可能會導致更新程式佇列變大。如果您確定更新佇列太大,請確定在該伺服器上執行更新的方法。長隊列通常表示視圖和全文索引不是最新的。
以下是您可能想要使用的一些範例場景和實踐,以及用於實現它們的步驟。
- 場景一-佇列通常很短,除非為大型更新量資料庫啟動全文索引。發生這種情況時,視圖更新請求將等待全文索引。這會導致佇列增加,直到全文索引完成。若要使用稍多的系統資源來保持佇列較短,請在單獨的執行緒中執行視圖更新和全文索引更新。為此,請輸入變數
UPDATE_FULLTEXT_THREAD=1
在伺服器的NOTES.INI檔案中。 - 場景二-佇列隨著時間的推移緩慢成長並變得太長,因為更新程式任務沒有獲得足夠的系統資源來保持佇列較短。若要使用額外的資源來保持佇列較短,請在每個更新操作之間設定延遲。若要設定延遲,請輸入以下變量,
UPDATE_IDLE_TIME
(和FTUPDATE_IDLE_TIME
如果使用兩個執行緒)在伺服器的NOTES.INI檔案中。預設情況下,延遲時間為 5 秒。若要允許更新任務使用額外的系統資源,請將延遲設定為小於 5 秒。大型伺服器可能需要更高精度。在這種情況下,您可以透過新增下列變數來設定延遲(僅限Domino ® 7 及更高版本):UPDATE_IDLE_TIME_MS
(和FTUPDATE_IDLE_TIME_MS
如果使用兩個執行緒),到伺服器的NOTES.INI檔案。 - 場景-具有高更新率的伺服器通常需要太多的系統資源來保持佇列較小。在這種情況下,您可以決定根本不執行視圖更新,而只允許視圖開啟自動執行更新。透過新增變數來停用視圖更新
UPDATE_DISABLE_VIEWS=1
到伺服器的NOTES.INI檔案。另一種選擇是限制全文資料庫立即更新的數量。您可以將資料庫的更新頻率變更為每小時、每天或特定方案。您也可以刪除無關的全文索引。若要僅允許對少數資料庫進行頻繁的全文索引,並防止對其他資料庫進行全文索引,請在更新程式中停用全文索引,然後新增程式文件以安排 Updall 運行,例如,每個半小時(30 分鐘)。若要在更新程式中停用全文索引,請輸入變數
UPDATE_DISABLE_FULLTEXT=1
在伺服器的NOTES.INI檔案中。您可以完全阻止執行任何更新,而只允許視圖開啟以自動執行視圖更新。若要防止更新,請透過刪除更新字串來編輯NOTES.INI變數。
如果系統有足夠的系統資源來執行更新,您可以執行多個更新任務。為此,請編輯變數
ServerTasks
在NOTES.INI檔案中新增第二個更新任務。您可以調整確定修改後的視圖是否實際更新的控制項。資料庫和視圖仍必須打開,但如果未達到這些閾值,則不會更新視圖。
有關更多信息,請參閱 UPDATE_ACCESS_FREQUENCY
和 UPDATE_NOTE_MINIMUM
以及其他NOTES.INI設定。
厄普達爾
Updall 與 Update 類似,但它不會連續運作或從佇列中運作;相反,您可以根據需要運行 Updall。您可以在執行 Updall 時指定選項,但如果沒有這些選項,Updall 就會更新伺服器上需要更新的任何視圖索引或全文搜尋索引。為了節省磁碟空間,Updall 也會從資料庫中清除刪除存根,並丟棄 45 天未使用的視圖的視圖索引,除非資料庫設計者指定了不同的丟棄視圖索引的標準。使用NOTES.INI設定 Default_Index_Lifetime_Days
當 Updall 丟棄未使用的視圖索引時進行變更。
與 Update 一樣,Updall 會重建遇到的所有損壞的視圖索引和全文搜尋索引。
預設情況下,Updall 包含在NOTES.INI設定中 ServerTasksAt2
,因此每天凌晨 2 點運行。每天執行 Updall 有助於透過清除刪除存根並丟棄未使用的視圖索引來節省磁碟空間。它還確保為每日更新設定的所有全文搜尋索引都已更新。
下表比較了Update和Updall的特性。對於 Updall,該表描述了預設特徵。您也可以使用 Updall 選項修改其中一些特徵。
特徵 |
更新 |
厄普達爾 |
---|---|---|
當它運行時 |
伺服器啟動後不斷 |
凌晨 2 點,當你運行它時 |
在所有資料庫上運行? |
否。 |
是的 |
刷新視圖索引? |
是的 |
是的 |
更新全文索引? |
是的。更新為立即更新和每小時更新設定的全文索引。 |
是的。更新所有全文索引。 |
檢測並嘗試重建損壞的視圖索引? |
是的 |
是的 |
檢測並嘗試重建損壞的全文索引? |
是的 |
是的 |
清除刪除存根嗎? |
不 |
是的 |
丟棄未使用的視圖索引? |
是(視圖未使用 45 天後或根據設計者指定的視圖丟棄選項) |
是(視圖未使用 45 天後或根據設計者指定的視圖丟棄選項) |
忽略“刷新索引”視圖屬性? |
是的 |
是的 |
可以透過選項進行自訂嗎? |
不 |
是的 |