Sun ONE logo     上一章      目錄      索引      下一章     
Sun ONE Directory Server 5.2 安裝和調整指南



第 9 章   管理其他資源的使用

在最佳化快取大小、屬性值索引及記錄檔管理之後,事實證明,調整 Directory Server 限制用戶端應用程式可用資源的方式,以及 Directory Server 利用系統資源的方式可能是很有用的。不僅如此,重新設定甚至停用作為 Directory Server 外掛程式提供的部分功能也可能相當有用。

限制用戶端可用的資源

預設組態可能讓用戶端應用程式能夠使用多於實際需要的 Directory Server 資源。這樣一來,可能導致為無心或有意誤用用戶端應用程式大開便利之門,從而對伺服器效能造成負面影響。它們可能開啟太多連線卻任其閒置或不使用、啟動成本昂貴而且進行不必要的非索引搜尋,或是在目錄中儲存大量未經規劃的二進位屬性值。

某些部署狀況並不適合修改預設組態。對於您決定不變更本節所述組態屬性值的部署,請考慮使用 Sun ONE Directory Proxy Server 軟體從外部設定限制,以幫助避免服務攻擊。

在某些部署狀況中,Directory Server 的一個實例必須同時支援目錄密集型的用戶端應用程式 (如郵件伺服器),以及偶發的目錄用戶端 (如使用者郵件應用程式)。若遇到這種狀況,請考慮使用以繫結 DN 為基礎的資源限制,以便提高目錄密集型應用程式的個別限制,如「Sun ONE Directory Server 管理指南」所述。

表 9-1 中的建議項目討論限制所有用戶端應用程式可用資源的設定值。這些限制不套用於目錄管理員使用者,所以請確定用戶端應用程式沒有以目錄管理員使用者身份連線。

表 9-1    針對限制用戶端可用資源的調整建議 

組態項目 DN 與屬性

簡短說明與調整建議

dn:cn=config

nsslapd-idletimeout

設定 Directory Server 關閉閒置用戶端連線之前等候的時間 (以秒為單位)。此處的閒置是指連線保持開啟,但不要求任何作業。預設值為不設定時間限制。

有些應用程式 (如郵件伺服器) 可能會開啟一些在流量低時保持閒置但卻不應關閉的連線集區。在這種狀況下最理想的方式是,使用專用的複本支援應用程式;如果不可行,請考慮使用以繫結 DN 為基礎的限制。

在任何狀況下,若將此值設定的很高,則並不會關閉其他應用程式預期保持開啟的連線,但若要將其設定的很低,則足以讓誤用的連線無法一直保持閒置。請考慮以 120 秒 (2 分鐘) 為起點,進行最佳化測試。

dn:cn=config

nsslapd-ioblocktimeout

設定 Directory Server 在關閉停止運轉的用戶端連線之前等候的時間 (以毫秒為單位)。此處的停止運轉是指將伺服器輸出傳送至用戶端或從用戶端讀取輸入的功能封鎖。

對於特別曝露於拒絕服務攻擊之下的 Directory Server 實例,請考慮將此值調降成低於預設值 1,800,000 毫秒 (30 分鐘)。

dn:cn=config,cn=ldbm  database,cn=plugins,cn=config

nsslapd-lookthroughlimit

設定在搜尋期間,為了比對而檢查的候選項目之最大值。

有些應用程式 (如郵件伺服器) 可能必須搜尋整個目錄。在這種狀況下最理想的方式是,使用專用的複本支援應用程式;如果不可行,請考慮使用以繫結 DN 為基礎的限制。

在任何狀況下,請考慮將這個值調降成低於預設的 5000 個項目,但不低於 nsslapd-sizelimit 的臨界值。

dn:cn=config

nsslapd-maxbersize

設定傳入訊息大小的最大值 (以位元組為單位)。Directory Server 會拒絕新增大於此限制之項目的要求。

如果您確信可以精確預測目錄資料項目大小的最大值,請考慮將這個值從預設的 2097152 (2 MB) 改為最大預期目錄項目的大小。

dn:cn=config

nsslapd-maxthreadsperconn

設定每個用戶端連線執行緒數目的最大值。

有些應用程式 (如郵件伺服器) 可能會開啟一個連線集區,並可能在每個連線上發出許多要求。在這種狀況下最理想的方式是,使用專用的複本支援應用程式;如果不可行,請考慮使用以繫結 DN 為基礎的限制。

如果您預測有些應用程式可能會在每個連線上執行許多要求,請考慮讓這個值大於預設值 5,但不要超過 10。通常不建議指定每個連線多於 10 個執行緒。

dn:cn=config

nsslapd-sizelimit

設定 Directory Server 回應搜尋要求時可傳回項目數的最大值。

有些應用程式 (如郵件伺服器) 可能必須搜尋整個目錄。在這種狀況下最理想的方式是,使用專用的複本支援應用程式;如果不可行,請考慮使用以繫結 DN 為基礎的限制。

在任何狀況下,請考慮將這個值調降成低於預設的 2000 個項目。

dn:cn=config

nsslapd-timelimit

設定 Directory Server 可用於處理搜尋要求之秒數的最大值。

有些應用程式 (如郵件伺服器) 可能必須執行大量的搜尋。在這種狀況下最理想的方式是,使用專用的複本支援應用程式;如果不可行,請考慮使用以繫結 DN 為基礎的限制。

在任何狀況下,請在符合部署需求的前提下,盡可能降低這個值。對於許多部署而言,預設值 3600 秒 (1 小時) 有點大。請考慮以 600 秒 (10 分鐘) 為起點,進行最佳化測試。

如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。

使用可用的系統資源

依部署需求而定,您可以選擇調整 Directory Server 實例使用系統與網路資源的方式、管理存取控制的方式以及設定伺服器外掛程式組態的方式。表 9-2 中的建議項目討論系統資源的設定值。

表 9-2    針對設定系統資源使用的調整建議 

屬性 (在 dn:cn=config 上)

簡短說明與調整建議

nsslapd-listenhost

設定 Directory Server 聆聽之 IP 介面的主機名稱。此屬性是單值。

預設運作方式是聆聽所有介面。預設的運作方式適合使用備援網路介面的高容量部署,以提高可用性與流量。

當在多重主目錄系統上進行部署時,或當在透過不同介面支援每種通訊協定的系統上只聆聽 IPv4 或 IPv6 流量時,請考慮設定這個值。使用 SSL 時,請考慮設定 nsslapd-securelistenhost

nsslapd-maxdescriptors

設定 Directory Server 試圖使用之檔案描述元數目的最大值。

Directory Server 使用檔案描述元處理用戶端連線,以及於系統內部維護檔案。如果錯誤記錄檔指出 Directory Server 有時候會因為可用檔案描述元不足而停止聆聽新的連線,則請將此屬性值調高,以增加 Directory Server 可同時處理的用戶端連線數。

如果您已依「檔案描述項」所述增加了系統可用檔案描述元的數目,則請適當地設定此屬性值。此屬性值應小於或等於系統可用之檔案描述元數目的最大值。

nsslapd-nagle

設定是否延遲傳送通訊端階層的 TCP 封包。

保留 off (預設值) 可防止將結果傳送給用戶端應用程式時,發生通訊協定階層的延遲。

nsslapd-reservedescriptors

設定 Directory Server 為管理索引、複寫及其他內部處理所維護的檔案描述元數目。Directory Server 不使用這些檔案描述元來處理用戶端連線。

如果下列全部屬實,請考慮將此屬性值從預設的 64 調高。

  • Directory Server 複寫至超過 10 個客戶,或 Directory Server 維護多於 30 個索引檔。
  • Directory Server 處理大量用戶端連線。
  • 從錯誤記錄檔中的訊息可知,Directory Server 即將用盡與用戶端連線無關之作業的檔案描述元。

請注意,當保留的檔案描述元數目增加時,可用於處理用戶端連線的檔案描述元數目會隨之減少。如果增加此屬性值,請考慮增加系統可用的檔案描述元數目,並提高 nsslapd-maxdescriptors 的值。

如果您決定變更此屬性,則對於要保留之檔案描述元數目的第一個估計值,請嘗試將 nsslapd-reservedescriptors 的值設為:

20 + 4 * (資料庫個數) + (索引總數) + (nsoperationconnectionslimit 的值) * (鏈結後端個數) + ReplDescriptors + PTADescriptors + SSLDescriptors

其中 ReplDescriptors = 供應商複本個數 + 8 (若使用複寫),PTADescriptors 是 3 (若已啟用 Pass Through Authentication (PTA) 外掛程式,否則是 0),而 SSLDescriptors 是 5 (若使用 SSL,否則是 0)。

資料庫個數與實例的尾碼個數相同,除非將實例設定成每個尾碼使用多個資料庫。請透過實驗測試來確認估計值。

nsslapd-securelistenhost

設定 Directory Server 聆聽 SSL 連線之 IP 介面的主機名稱。此屬性是單值。

預設運作方式是聆聽所有介面。此屬性的考慮事項與 nsslapd-listenhost 相同。

nsslapd-threadnumber

設定 Directory Server 使用的執行緒數目。

若下列任何一項屬實,請考慮調整此屬性值:

  • 用戶端應用程式同時執行許多費時的作業,如更新或複雜的搜尋作業。
  • Directory Server 支援許多同時的用戶端連線。
  • Directory Server 處理多於 5,000,000 個項目。

多處理器系統可維持的執行緒集區多於單處理器系統。最佳化此屬性值時,第一個估計值可使用處理器兩倍的數目,或 20 + 同時更新的數目。請考慮一併調整每個用戶端連線之執行緒數目的最大值 nsslapd-maxthreadsperconn,如表 9-1 所述。這些處理用戶端連線執行緒數目的最大值不能超過系統可用之檔案描述元數目的最大值。事實證明,在某些情況下減少此屬性的值 (而不是增加) 可能是相當有用的。

請透過實驗測試來確認估計值。結果不僅因部署狀況而異,也需視基礎系統而定。

如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。

管理存取控制

Directory Server 現在為存取控制指令 (ACI) 提供效能與延展性方面的改進 (如更完善的記憶體管理以及對巨集 ACI 的支援)。雖然經過改良,但 Directory Server 會使用可觀的系統資源來評估複雜的 ACI;因此,大量使用複雜的 ACI 可能會對效能產生負面的影響。

巨集 ACI 有助於限制所用的 ACI 數目。藉由限制 ACI 數目,可使存取控制更易於管理,並減少系統的負載。巨集是 ACI 中代表 DN (或部分 DN) 的預留位置。巨集可用於 ACI 目標、ACI 繫結規則中,也可以在兩者中同時使用。當 Directory Server 收到要求時,它會檢查有哪些 ACI 巨集符合結果作業的目標資源。如果有符合的巨集,Directory Server 會以實際的 DN 值將它取代;然後 Directory Server 再依一般方式評估 ACI。如需有關 ACI 的詳細資訊,請參閱「Sun ONE Directory Server 管理指南」。

經實驗證實,Directory Server 可支援超過 50,000 個 ACI;但不同部署案例對系統效能的影響目前仍在分析之中。將 ACI 數目儘可能保持至最小,以限制對效能的負面影響,並減少管理存取控制的複雜度。對於涉及複雜 ACI 環境的部署,請考慮使用 Sun ONE Directory Proxy Server 以提供一些存取控制功能。

設定伺服器外掛程式組態

Directory Server 使用外掛程式執行許多主要功能,如存取控制、複寫、語法檢查及屬性唯一性。在特定部署上下文中,您會發現重新設定某些外掛程式的組態是相當有用的。表 9-3 中的建議項目討論部分標準外掛程式的設定值。

表 9-3    針對部分標準外掛程式的調整建議 

名稱與 DN

簡短說明與調整建議

7 位元檢查外掛程式

dn:cn=7-bit  check,cn=plugins,cn=config

讓 Directory Server 檢查屬性值是否為 7 位元純淨。也就是,提供的屬性值中只包含符合 7 位元編碼的字元。

例如,如果基礎結構設計用於支援較大範圍的編碼 (如日文),您可以選擇停用此外掛程式 (預設值是 on)。

繼承複寫外掛程式

dn:cn=Legacy Replication  Plugin,cn=plugins,cn=config

讓 Directory Server 作為 4.x 供應商的客戶來工作。

除非您計畫在升級期間將 Directory Server 當成 4.x 供應商的客戶,否則請關閉此外掛程式 (在 4.x 案例中復寫功能要求預設值是 on)。

參考完整性外掛程式

dn:cn=referential integrity  postoperation,cn=plugins,cn=config

讓 Directory Server 確定相關項目之間的關係得以維護。例如,從目錄中移除使用者項目時,或重新命名使用者項目時,使用者所屬的群組便會視需要更新,而無需手動介入。

在所有主機上啟用並設定此外掛程式。

如果您選擇啟用此外掛程式,請為外掛程式使用的所有屬性建立相等索引;外掛程式在搜尋要更新的項目時會用到這類索引。外掛程式所用的屬性若沒有相等索引,外掛程式就必須執行成本昂貴的非索引搜尋,從而對系統效能產生負面影響。

如需設定與啟用此外掛程式的說明,請參閱「Sun ONE Directory Server 管理指南」。

如需有關個別組態屬性的詳細資訊,請參閱「Sun ONE Directory Server 參考手冊」。


上一章      目錄      索引      下一章     
版權所有 2003 Sun Microsystems, Inc. 保留所有權利。