Sun Java System Messaging Server 6 2005Q4 管理指南

效能參數

您可以為 Messaging Server 的 POP、IMAP 和 HTTP 服務設定某些基本效能參數。根據您的硬體容量和使用者基準,您可以調整這些參數,以取得服務的最高效率。本小節提供背景資訊;如需進行這些設定的步驟,請參閱配置 POP 服務配置 IMAP 服務配置 HTTP 服務

程序數目

Messaging Server 可在數個執行程序之間分配工作,在某些情況下這可以提高效率。此功能在多處理器伺服器機器中尤其有用,即調整伺服器程序的數目可允許在硬體處理器之間更有效地分發多項工作。

但是在多個程序之間配置工作以及從一個程序切換到其他程序均有效能開銷。具有多個程序的好處是可減小每個新增程序的開銷。大多數配置的簡單首要規則是伺服器機器上的每個硬體處理器有一個程序,最多可以有 4 個程序。您的最佳配置可能與此不同;此首要規則僅應作為您分析的起始點。

注意:在某些平台上,您可能還要增加程序的數目,以避免針對該平台的特定每個程序限制 (如檔案描述元的最大數目),該限制可能會影響效能。

對於 POP、IMAP 或 HTTP 服務,程序的預設數目均為 1。

每個程序的連線數目

您的 POP、IMAP 或 HTTP 服務可以維護的同步用戶端連線越多,對用戶端來說越好。如果由於沒有可用的連線而使用戶端被拒絕服務,則它們必須等待直至其他用戶端中斷連線。

另一方面,每個開啟的連線均會消耗記憶體資源,並在您伺服器機器的 I/O 子系統上發出請求,因此,您可以讓伺服器支援同步階段作業數目的實際限制。(您可以透過增加伺服器記憶體或 I/O 容量來增加此限制。)

IMAP、HTTP 和 POP 在這一點上有不同的需求:


備註 –

如需有關 HTTP 階段作業安全性的更多資訊,請參閱關於 HTTP 安全性


如此,在特定時刻,對於特定的使用者請求,Messaging Server 可以支援比 POP 連線更多的開啟的 IMAP 或 HTTP 連線。

IMAP 的預設值是 4000;HTTP 的預設值是每個程序 6000 個連線;POP 的預設值是 600。這些值可大體表示一般配置的伺服器機器可以處理的等效請求。您的最佳配置可能與此不同;這些預設僅提供作為一般使用準則之用。

通常,使用中的 POP 連線對伺服器資源和頻寬的要求比使用中的 IMAP 連線之要求高很多,因為 IMAP 連線在大多數時間內是閒置的,而 POP 連線始終在下載郵件。POP 具有較少的階段作業則是正確的。相反,POP 連線僅持續下載電子郵件所需的時間長度,因此使用中的 POP 使用者的連線狀態僅持續一小段時間,而 IMAP 連線在連續的郵件檢查期間一直保持連線狀態。

每個程序的執行緒數目

除支援多個程序外,Messaging Server 還可透過在多個執行緒之間細分工作來進一步提昇效能。伺服器使用執行緒可大大提高執行效率,因為執行中的指令不會阻礙其他指令的執行。在執行期間,系統會依需要建立和銷毀執行緒,直至達到您設定的最大數目。

同步執行的執行緒越多,就意味著系統能夠處理的用戶端請求就越多,而且沒有延遲,因此系統可以快速地為更多用戶端提供服務。但是,在執行緒之間存在派送的效能開銷,因此伺服器可以利用的執行緒數目有實際限制。

對於 POP、IMAP 和 HTTP,最大預設值是每個程序 250 個執行緒。此數目是均等的,儘管 IMAP 和 HTTP 的預設連線數目大於 POP 的預設連線數目。假設使用與 POP 連線 (較少但忙碌) 相同的最大數目的執行緒可以高效地處理更多的 IMAP 和 HTTP 連線。您的最佳配置可能與此不同,但這些預設已足夠高,您可能不需要進行增加;預設應為大多數安裝提供合理的效能。

斷開閒置連線

為了從沒有回應的用戶端回收連線使用的系統資源,IMAP4、POP3 和 HTTP 協定均允許伺服器單方面斷開閒置了特定時間的連線。

各個協定規格均要求伺服器將閒置連線保持開啟一段最短時間。POP、IMAP 和 HTTP 的預設時間分別是 10 分鐘、30 分鐘和 3 分鐘。您可以增加閒置時間,使其大於預設值,但不能使它們低於預設值。

如果 POP 或 IMAP 連線已斷開,使用者必須重新認證才能建立新連線。相反,如果 HTTP 連線已斷開,使用者將無需重新認證,因為 HTTP 階段作業仍保持開啟狀態。如需有關 HTTP 階段作業安全性的更多資訊,請參閱關於 HTTP 安全性

閒置的 POP 連線通常是因為某些問題 (如當機或懸置) 使用戶端無法回應所導致。另一方面,閒置 IMAP 連線是正常現象。為避免 IMAP 使用者被單方面中斷連線,IMAP 用戶端通常會在固定間隔時間 (低於 30 分鐘) 內向 IMAP 伺服器傳送指令。

登出 HTTP 用戶端

HTTP 階段作業可以跨多個連線保持。當連線斷開時,HTTP 用戶端不會登出。但是,如果 HTTP 階段作業閒置了一段指定時間後,伺服器將自動斷開 HTTP 階段作業,且用戶端會登出 (預設時間段是 2 小時)。當階段作業斷開時,用戶端的階段作業 ID 不再有效,用戶端必須重新認證才能建立其他階段作業。如需有關 HTTP 安全性和階段作業 ID 安全性的更多資訊,請參閱關於 HTTP 安全性