Sun Java System Directory Server Enterprise Edition 6.0 管理指南

變更索引清單臨界值

搜尋速度緩慢可能肇因於系統索引清單大小超過了索引清單臨界值。索引清單臨界值是每個索引鍵值的上限數。若要判定是否已超過索引清單臨界值,請檢查存取記錄。存取記錄 RESULT 訊息結尾的 notes=U 旗標表示執行了未編製索引的搜尋。相同連線與作業的前一則 SRCH 訊息會指定使用的搜尋篩選。下列兩行範例會追蹤未編製索引的搜尋 cn=Smith,並傳回 10,000 個項目。已從訊息移除時間戳記。


conn=2 op=1 SRCH base="o=example.com" scope=0 filter="(cn=Smith)"
conn=2 op=1 RESULT err=0 tag=101 nentries=10000 notes=U

如果系統經常會超過索引清單臨界值,請考慮提高臨界值以改善效能。下列程序使用 dsconf set-server-prop 指令修改 all-ids-threshold 特性。如需調校索引與 all-ids-threshold 特性的更多資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Tuning Indexes for Performance」

Procedure變更索引清單臨界值

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 調整索引清單臨界值。

    您可以在下列任何一個層級調整索引清單臨界值:

    • 實例層級:


      dsconf set-server-prop -h host -p port all-ids-threshold:value
      
    • 尾碼層級:


      dsconf set-suffix-prop -h host -p port suffix-DN all-ids-threshold:value
      
    • 項目層級:


      dsconf set-index-prop -h host -p port suffix-DN all-ids-threshold:value
      
    • 依搜尋類型的索引層級:


      dsconf set-index-prop -h host -p port suffix-DN all-ids-threshold search-type:value
      

      其中 search-type 為下列其中之一:

      • eq-enabled 相同

      • pres-enabled 存在

      • sub-enabled 子字串

      近似索引無法配置 all-ids-threshold 特性。

    您可以在依搜尋類型的索引層級使用 DSCC,設定臨界值。如需更多資訊,請參閱目錄伺服器線上說明。

  2. 重新產生尾碼索引。

    請參閱產生索引

  3. 如果已為舊的所有 ID 臨界值調校資料庫的快取大小,且伺服器有足夠的實體記憶體,請考慮加資料庫的快取大小。

    根據所有 ID 臨界值增量範圍的 25%,增加資料庫的快取大小。

    亦即,如果所有 ID 臨界值從 4000 提高到 6000,則可以增加資料庫的快取大小約 12 ½% 做為索引清單大小的增量。

    使用屬性 dbcachesize 設定資料庫的快取大小。憑經驗尋找最適大小,再將變更套用到生產伺服器。