![]() |
Sun ONE Directory Server 5.2 安裝和調整指南 |
在最佳化快取大小、屬性值索引及記錄檔管理之後,事實證明,調整 Directory Server 限制用戶端應用程式可用資源的方式,以及 Directory Server 利用系統資源的方式可能是很有用的。不僅如此,重新設定甚至停用作為 Directory Server 外掛程式提供的部分功能也可能相當有用。
限制用戶端可用的資源
預設組態可能讓用戶端應用程式能夠使用多於實際需要的 Directory Server 資源。這樣一來,可能導致為無心或有意誤用用戶端應用程式大開便利之門,從而對伺服器效能造成負面影響。它們可能開啟太多連線卻任其閒置或不使用、啟動成本昂貴而且進行不必要的非索引搜尋,或是在目錄中儲存大量未經規劃的二進位屬性值。
某些部署狀況並不適合修改預設組態。對於您決定不變更本節所述組態屬性值的部署,請考慮使用 Sun ONE Directory Proxy Server 軟體從外部設定限制,以幫助避免服務攻擊。
在某些部署狀況中,Directory Server 的一個實例必須同時支援目錄密集型的用戶端應用程式 (如郵件伺服器),以及偶發的目錄用戶端 (如使用者郵件應用程式)。若遇到這種狀況,請考慮使用以繫結 DN 為基礎的資源限制,以便提高目錄密集型應用程式的個別限制,如「Sun ONE Directory Server 管理指南」所述。
表 9-1 中的建議項目討論限制所有用戶端應用程式可用資源的設定值。這些限制不套用於目錄管理員使用者,所以請確定用戶端應用程式沒有以目錄管理員使用者身份連線。
如需有關個別組態屬性的詳細資訊,請參閱「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 使用的執行緒數目。
若下列任何一項屬實,請考慮調整此屬性值:
多處理器系統可維持的執行緒集區多於單處理器系統。最佳化此屬性值時,第一個估計值可使用處理器兩倍的數目,或 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 參考手冊」。