Sun Java logo     上一個      目錄      索引      下一個     

Sun logo
Sun Java System Calendar Server 管理指南 

第 19 章
調校 Calender Server 效能

若要提昇 Sun Java™ System Calendar Server 的效能,請考量以下選項:

 


為 LDAP 目錄伺服器建立索引

若要提昇 Calendar Server 存取 LDAP 目錄伺服器時的效能,請為以下屬性增加索引至 LDAP 配置檔案。

注意如果您執行 Directory Server 設定 (comm_dssetup.pl) 程序檔來配置 Directory Server 5.x,此程序檔會為 icsCalendaricsCalendarOwned 屬性增加索引。

如需有關增加目錄伺服器索引的資訊,請參閱以下網站上的「Directory Server Configuration, Command, and File Reference」:

http://docs.sun.com/db/coll/S1_ipDirectoryServer_51


提昇 DWP 環境中的行事曆搜尋效能

當您將行事曆資料庫置於多台後端伺服器上時,也就是說,當您處於 DWP 環境中時,搜尋行事曆會比較費時。先在 LDAP 項目中查找並直接找出行事曆常駐的 DWP 主機會較快。

若要讓行事曆搜尋先在 LDAP 目錄中查找,然後在行事曆資料庫中查找,請確定 ics.conf 檔案中的以下參數設定為預設值,如下所示﹕

service.calendarsearch.ldap = "yes"

如果您要啟用 LDAP 目錄的行事曆搜尋,可透過以下方法提昇搜尋效能:

為 icsCalendarOwned 屬性建立索引

若要確定是否可以提昇 LDAP 目錄伺服器的行事曆搜尋效能,請嘗試以下 LDAP 指令:

ldapsearch -b "base"
"(&(icscalendarowned=*user*)(objectclass=icsCalendarUser))"

其中,base 是 Calendar Server 使用者資料和資源資料所在的目錄伺服器之 LDAP 基底 DN,user 是一般使用者可在 [Calendar Express 訂閱] -> [行事曆搜尋] 對話方塊中輸入的值。

測試表明,如果包含 60,000 個項目,在沒有為 icsCalendarOwned 建立索引的情況下,上述搜尋大約需要 50 到 55 秒鐘。而建立索引後,上述搜尋僅需大約 1 到 2 秒鐘。

在 Directory Server 上,使用以下 Solaris 作業系統指令為 icsCalendarOwned 屬性建立索引:

server5/bin/slapd db2index -D slapd-serverID
-t icsCalendarOwned:eq,pres,sub:2.16.840.1.113730.3.3.2.11.1

其中 slapd-serverIDslapd-serverID 目錄的完整路徑。

設定 nsSizeLimit 與 nsLookthroughLimit 參數

LDAP 目錄伺服器配置中的 nsSizeLimitnsLookthroughLimit 參數必須足夠大,以使搜尋能正確完成。

若要確定這些參數是否已設定為適當的值,請嘗試以下指令:

ldapsearch -b "base"
"(&(icscalendarowned=*user*)(objectclass=icsCalendarUser))"

其中,base 是 Calendar Server 使用者資料和資源資料所在的目錄伺服器之 LDAP 基底 DN,user 是一般使用者可在 [Calendar Express 訂閱] -> [行事曆搜尋] 對話方塊中輸入的值。

如果 LDAP 伺服器傳回錯誤,可能是 nsSizeLimit 參數或 nsLookthroughLimit 參數的值不夠大。請按照下列指示設定這些參數:

啟用 CLD 快取記憶體選項

若要優化搜尋 LDAP,請依如下所示設定 CLD 快取記憶體選項 ("yes" 為預設)﹕

caldb.cld.cache.enable = yes

另請參閱使用 CLD 快取記憶體選項


使用 LDAP 資料快取記憶體選項

LDAP 資料快取記憶體選項可確保 LDAP 資料在提交後立即可用,即使 LDAP 目錄伺服器被配置為資料提交後延遲一段時間才可用。

例如,如果您的站點已部署主要/從屬 LDAP 配置,其中 Calendar Server 透過從屬 LDAP 目錄伺服器來存取主要 LDAP 目錄,而從屬 LDAP 目錄伺服器會使 LDAP 資料在提交後延遲一段時間才可用,則 LDAP 資料快取記憶體可確保您的 Calendar Server 用戶端擁有準確的 LDAP 資料。

本小節包含以下主題:

使用 LDAP 資料快取記憶體注意事項

請使用以下指示來確定您的站點是否應配置 LDAP 資料快取記憶體:

主要/從屬 LDAP 配置

主要/從屬 LDAP 配置包括一個主要 (根) 目錄伺服器和一個或多個從屬 (消耗或複製) 目錄伺服器。Calendar Server 可直接或透過從屬目錄伺服器存取主要 LDAP 目錄伺服器:

在這第二種配置中,由於從屬目錄伺服器的 LDAP 資料在提交後要延遲一段時間才可用,因此 LDAP 資料不準確的問題可能發生。

例如,Calendar Server 提交一個 LDAP 資料變更,但由於主要目錄伺服器正在更新每台從屬目錄伺服器而造成延遲,新資料在特定的一段時間內不可用。隨後的 Calendar Server 用戶端作業就會使用舊的 LDAP 資料並呈現過期的檢視。

如果更新從屬目錄伺服器而造成的延遲很短暫 (僅幾秒鐘),用戶端可能不會遇到問題。但是,如果延遲較長 (幾分鐘或幾小時),在延遲期間,用戶端會顯示不準確的 LDAP 資料。

表格 19-1 列出受主要/從屬 LDAP 伺服器配置影響的 LDAP 屬性,在該配置中,Calendar Server 透過從屬 LDAP 目錄伺服器來存取主要 LDAP 目錄伺服器。

表格 19-1 受延遲影響的 Calendar Server LDAP 屬性

作業

受影響的 LDAP 屬性

自動佈建

icsCalendar、icsSubscribed、icsCalendarOwned、icsDWPHost

行事曆群組

icsSet

行事曆建立

icsCalendarOwned、icsSubscribed

行事曆訂閱

icsSubscribed

使用者選項

icsExtendedUserPrefs、icsFirstDay、icsTimeZone、icsFreeBusy

行事曆搜尋

icsCalendarOwned

若要確保您的一般使用者保持最新的 LDAP 資料,請依以下各小節的說明配置 LDAP 資料快取記憶體:「LDAP 資料快取記憶體」和「LDAP 資料快取記憶體配置參數」。

LDAP 資料快取記憶體

LDAP 資料快取記憶體透過為 Calendar Server 用戶端提供最新的 LDAP 資料 (即使主要目錄伺服器尚未更新每台從屬目錄伺服器) 來解決主要/從屬 LDAP 配置問題。

如果啟用了 LDAP 資料快取記憶體,Calendar Server 會將已提交的 LDAP 資料寫入快取記憶體資料庫 (ldapcache.db 檔案) 中。依預設,LDAP 快取記憶體資料庫位於 cal_svr_base/var/opt/SUNWics5/csdb/ldap_cache 目錄中,如果願意,您可以配置其他位置。

當用戶端變更單一使用者的 LDAP 資料時,Calendar Server 會將修訂過的資料寫入 LDAP 快取記憶體資料庫 (以及從屬目錄伺服器) 中。隨後的用戶端作業會從快取記憶體資料庫中擷取 LDAP 資料。對於單一使用者,此資料擷取適用於以下作業:

因此,LDAP 資料快取記憶體資料庫提供:

限制

LDAP 資料快取記憶體不提供:

LDAP 資料快取記憶體配置參數

表格 19-2 說明 ics.conf 檔案中 LDAP 資料快取記憶體的配置參數。

表格 19-2 LDAP 資料快取記憶體配置參數 

參數

說明

local.ldap.cache.enable

啟用 ("yes") 或停用 ("no") LDAP 資料快取記憶體。預設為 "no"。

local.ldap.cache.checkpointinterval

指定檢查點執行緒靜止的秒數。預設時間為 60 秒。

local.ldap.cache.circularlogging

指定資料庫日誌檔在處理後是否需要移除。預設為 "yes"。

local.ldap.cache.homedir.path

指定 LDAP 資料快取記憶體資料庫的實體位置。預設為 cal_svr_base/var/opt/SUNWics5/csdb/ldap_cache。

local.ldap.cache.logfilesizemb

指定檢查點檔案的最大大小 (百萬位元組)。預設為 10 百萬位元組。

local.ldap.cache.maxthreads

指定 LDAP 資料快取記憶體資料庫執行緒的最大數目。預設為 "1000"。

local.ldap.cache.mempoolsizemb

指定共用記憶體的百萬位元組數目。預設為 4 百萬位元組。

local.ldap.cache.entryttl

指定 LDAP 資料快取記憶體項目的有效時間 (TTL),以秒為單位。預設為 3600 秒 (1 小時)。

local.ldap.cache.stat.enable

指定是否在日誌檔中記錄對 LDAP 資料快取記憶體的存取情況並列印統計資料。預設為 "no"。

注意本參數僅適用於除錯模式。

local.ldap.cache.stat.interval

指定各統計資料報告寫入日誌檔的間隔時間,以秒為單位。預設為 1800 秒 (30 分鐘)。

local.ldap.cache.cleanup.interval

指定各資料庫清除作業之間的間隔時間,以秒為單位。預設為 1800 秒 (30 分鐘)。


小心

如果 Calendar Server 或執行 Calendar Server 的伺服器未正確關閉,請手動刪除 ldap_cache 目錄下的所有檔案,以避免可能導致在以後重新啟動中發生問題的資料庫毀壞。



使用 CLD 快取記憶體選項

如果您要使用 CLD Plug-in,請確定 ics.conf 中的以下配置參數都設定為 "yes" (即每個參數的預設值):

caldb.cld.cache.enable = "yes"

該參數啟用 CLD 快取記憶體選項。此快取記憶體會為行事曆使用者儲存 DWP 主機伺服器資訊 (icsDWPHost LDAP 屬性),從而減少對 LDAP 目錄伺服器的呼叫。

您可能要設定的其他 CLD 快取記憶體選項參數為﹕

如需有關上述參數及其他相關 ics.conf 參數的更多資訊,請參閱附錄 A 「Calendar Server 配置參數」


對階段作業資料庫使用基於記憶體的檔案系統

若要提昇 Solaris 作業系統上的效能,可以透過在 ics.conf 檔案中設定以下參數,為階段作業資料庫配置基於記憶體的檔案系統 (tmpfs):

local.instance.use.tmpfs 為 "true"

tmpfs 檔案系統會根據 service.http.sessiondir.pathservice.admin.sessiondir.path 參數的值被覆蓋。

如需更多資訊,請參閱 Solaris 文件中的 tmpfs(7FS)mount_tmpfs(1M) 線上援助頁:

http://docs.sun.com/db/prod/solaris
http://docs.sun.com/db/prod/solaris?l=zh_TW


使用跨多個 CPU 的負載平衡功能

如果某台伺服器有多個 CPU,依預設 Calendar Server 會在這些 CPU 上分布 HTTP 服務 (cshttpd 程序) 與分散式資料庫服務 (csdwpd 程序)。

service.http.numprocessesservice.dwp.numprocesses 參數確定為每種服務而執行的程序之實際數目。依預設,在安裝期間,這些參數設定為伺服器 CPU 的數目,但您可以重設這些值。例如,如果伺服器有 8 個 CPU,但您希望 cshttpdcsdwpd 程序僅以 4 個 CPU 執行,請將參數設定為:

service.http.numprocesses="4"
service.dwp.numprocesses="4"

若要停用負載平衡功能,請增加 service.loadbalancing 參數至 ics.conf 檔案並將其設定為 "no"。然後重新啟動 Calendar Server,使變更生效。


使用逾時值

可以使用各種 ics.conf 參數的逾時值來調整 Calendar Server 效能。

存在以下類型的逾時值﹕

如需有關編輯 ics.conf 參數的資訊,請參閱編輯 ics.conf 配置檔案

csadmind 的逾時值

表格 19-1 說明 ics.conf 檔案中由管理 (csadmin) 服務使用的 Calendar Server 逾時參數。

表格 19-1 管理服務 (csadmin) 的 HTTP 逾時值

參數

說明

service.admin.idletimeout

指定 csadmind 服務在使閒置的 HTTP 連線逾時之前等待的秒數。

預設為 120 秒 (2 分鐘)。

service.admin.resourcetimeout

指定 csadmind 服務在使資源行事曆的 HTTP 階段作業逾時之前等待的秒數。

預設為 900 秒 (15 分鐘)。

service.admin.sessiontimeout 

指定 csadmind 服務在使 HTTP 階段作業逾時之前等待的秒數。

預設為 1800 秒 (30 分鐘)。

一般使用者的 HTTP 逾時值

表格 19-2 說明 ics.conf 檔案中套用於一般使用者的 Calendar Server HTTP 逾時參數。

表格 19-2 ics.conf 中用於一般使用者的 HTTP 逾時值 (cshttpd 服務)

參數

說明

service.http.idletimeout

指定 cshttpd 服務在使閒置的 HTTP 連線逾時之前等待的秒數。

預設為 120 秒 (2 分鐘)。

service.http.resourcetimeout

指定 cshttpd 服務在使資源行事曆的 HTTP 階段作業逾時之前等待的秒數。

預設為 900 秒 (15 分鐘)。

service.http.sessiontimeout 

指定 cshttpd 服務在使 HTTP 階段作業逾時之前等待的秒數。

預設為 1800 秒 (30 分鐘)。

GSE 佇列逾時值

以下 ics.conf 檔案參數指定在 Calendar Server 為進來的工作掃描群組排程引擎 (GSE) 佇列之前需要等待的時間 (以秒為單位):

gse.belowthresholdtimeout = "3"

如果佇列中的工作多於所配置的最大執行緒數目,最後一個執行緒始終會再次掃描佇列。因此,僅當工作數目小於所配置執行緒的最大數目時,此設定才能生效。

預設為 "3"。增大此數目會減少伺服器掃描佇列的頻率並提昇整體效能。但是,如果由於事件量的增加而使佇列變得過大,可以減少時間,以允許更快處理佇列。這可能會導致降低整體效能,但事件將會更快更新。


使用更新檢視選項

對於 Calendar Express 一般使用者,[更新檢視] 選項透過瀏覽器快取記憶體中的行事曆資料更新檢視,從而提昇效能,而不需要使用 Calendar Server 資料庫中的更新資料來達此目的。

若要啟用 [更新檢視] 選項,必須將 ics.conf 檔案中的以下參數設定為 "yes":

browser.cache.enable = "yes"

如果重設此參數,則必須停止再重新啟動 Calendar Server,使新值生效。

為站點配置 [更新檢視] 選項後,Calendar Express 會在所有行事曆檢視中的 [檢視] 標籤上顯示 [更新檢視]。

使用者按一下 [更新檢視] 時,Calendar Express 會在請求行事曆資料庫的更新資料之前,先檢查檢視中的行事曆資料是否已變更。如果資料尚未變更,Calendar Express 會使用瀏覽器快取記憶體中的資訊更新檢視。請避免對行事曆資料庫進行不必要的請求,尤其在行事曆的事件或工作數目很多時,這一點很有用。

如果某個事件或工作已變更,Calendar Express 會請求行事曆資料庫的更新資料來更新檢視。因此,使用者也可使用 [更新檢視] 來確保 Calendar Express 始終顯示最新的行事曆資料。


停用 Calendar Express 工具條重新繪製選項

當使用者按一下 [更新] 時,該工具條重新繪製選項會使 Calendar Express 檢視被重新繪製 (更新)。但是,由於 Calendar Server 透過執行工具條的 XML 及 XSLT 變換來更新檢視,有時此選項會導致效能問題。

若要停用工具條重新繪製選項,請設定 ics.conf 檔案中的以下參數為 "no":

ui.toolbar.repainting.enable="no"

如果 ui.toolbar.repainting.enable 設定為 "no",在任何檢視中按一下 [更新] 都會使 Calendar Express 使用者返回預設檢視。

設定 ui.toolbar.repainting.enable 為 "no" 可以提昇效能,因為 Calendar Express 不執行工具條的 XML 及 XSLT 變換。

如果瀏覽器快取記憶體選項 (browser.cache.enable 參數) 設定為 "yes",則不使用工具條重新繪製選項。


用戶端瀏覽器中的 XSL 描繪

Calendar Server 透過將 XSLT 處理作業下載至一般使用者的瀏覽器來執行用戶端描繪,這樣也減少了必須由 Calendar Server 來完成的處理作業。Calendar Server 僅在瀏覽器能夠描繪 XSLT 處理作業時才下載 XSLT 處理作業。在目前發行版本中,此功能僅適用於 Internet Explorer 6.0。

測試顯示,用戶端描繪可將介面 (UI) 延伸性提昇 4 到 6 倍,這意味著 Calendar Server 可支援 4 到 6 倍之多的同步運作的一般使用者,而不會顯著降低 CPU 的效能。

ics.conf 檔案中的以下參數可控制用戶端描繪 (目前僅適用於 Internet Explorer 6.0 或更高版本):

render.xslonclient.enable="yes"

依預設,此參數設定為 "yes"。若要關閉用戶端描繪,請將此參數設定為 "no",並重新啟動 Calender Server。



上一個      目錄      索引      下一個     


Copyright 2004 Sun Microsystems, Inc. 。版權所有。