本節提供管理不同記憶體類型的相關資訊。如需不同快取類型的描述以及有關快取調校的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.2 Reference」中的第 5 章「Directory Server Data Caching」。
填充快取是指將資料填入快取中,使後續的目錄伺服器運作方式反映出正常的作業效能,而不是不穩定的效能。在進行標準檢查時若產生可重複顯示的結果,以及在測量與分析可能的最佳化程度時,填充快取都有其效用。
請儘可能避免主動填充快取。在測量效能之前,請讓快取透過用戶端與目錄伺服器之間正常或一般的互動方式進行填充。
如需填充資料庫快取的工具,請至 http://www.slamd.com。
修改快取可能會嚴重影響伺服器效能。修改快取時請多加留意。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
取得目前的資料庫快取層級。
$ dsconf get-server-prop -h host -p port db-cache-size |
變更資料庫快取層級。
$ dsconf set-server-prop -h host -p port db-cache-size:size |
其中 size 可以 GB (G)、MB (M)、KB (k) 或位元組 (b) 表示。所指定的大小必須是受機器支援的大小。
安裝上的預設快取層級僅適用於測試環境,不適用於生產環境。進行微調時,您可以監視伺服器的資料庫快取。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
監視資料庫快取。
$ ldapsearch -h host -p port -D cn=admin,cn=Administrators,cn=config -w - \ -b "cn=monitor,cn=ldbm database,cn=plugins,cn=config" "(objectclass=*)" |
若資料庫快取大小足夠,並且已完成填充,則符合率 (dbcachehitratio) 應該會很高。此外,已讀入的頁面數 (dbcachepagein) 與已寫出的乾淨頁面數 (dbcacheroevict) 應該都很低。此處的「高」與「低」是相對於部署限制的表示。
進行微調時,您可以檢查一或多個尾碼的項目快取。使用下列程序即可檢視項目快取層級。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
監視項目快取。
$ ldapsearch -h host -p port -D cn=admin,cn=Administrators,cn=config -w - \ -b "cn=monitor,cn=db-name,cn=ldbm database,cn=plugins,cn=config" "(objectclass=*)" |
若尾碼的項目快取大小足以保存尾碼中大部分的項目,且快取已完成填充,則符合率 (entrycachehitratio) 應該會很高。
若您已填充快取,則您將會在先前空白的項目快取填入時,看見項目快取大小 (currententrycachesize) 接近項目快取大小上限 (maxentrycachesize)。在理想狀況下,項目中的大小 (currententrycachecount) 應等於或非常接近尾碼中的總項目數 (ldapentrycachecount)。
修改快取可能會嚴重影響伺服器效能。修改快取時請多加留意。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
取得目前的項目快取層級。
$ dsconf get-suffix-prop -h host -p port suffix-DN entry-cache-count entry-cache-size |
變更項目快取數。
$ dsconf set-suffix-prop -h host -p port suffix-DN entry-cache-count:integer |
其中 integer 是要儲存在快取中的項目數。
變更項目快取大小。
$ dsconf set-suffix-prop -h host -p port suffix-DN entry-cache-size:size |
其中 size 是以 GB (G)、MB (M)、KB (k) 或位元組 (b) 表示的快取大小。所指定的大小必須是受機器支援的大小。
若要限制 nsslapd 程序所使用的堆疊記憶體數,您可以設定動態記憶體佔用空間的臨界值。當目錄伺服器執行於共用或分散資源的機器上時,您即可設定此臨界值。
此臨界值只能設定於 Solaris 與 Linux 平台上。
如需有關記憶體大小的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.2 Deployment Planning Guide」中的「Directory Server and Memory」。
無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。
heap-high-threshold-size 與 heap-low-threshold-size 特性的預設值為 undefined。
設定堆疊記憶體高臨界值上限。
$ dsconf set-server-prop -h host -p port heap-high-threshold-size:value |
其中 value 是 undefined,或是以 GB (G)、MB (M)、KB (k) 或位元組 (b) 表示的記憶體大小。所指定的大小必須是受機器支援的大小。
如需有關 heap-high-threshold-size 適用值的建議,請參閱 server(5dsconf) 線上手冊。
您可以選擇是否設定堆疊記憶體低臨界值上限。
$ dsconf set-server-prop -h host -p port heap-low-threshold-size:value |
其中 value 是 undefined,或以 GB (G)、MB (M)、KB (k) 或位元組 (b) 表示的記憶體大小。所指定的大小必須是受機器支援的大小。
如需有關 heap-low-threshold-size 適用值的建議,請參閱 server(5dsconf) 線上手冊。