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

服務工作限制

關鍵字:maxjobsfilesperjob

每次郵件在通道中形成佇列時,工作控制器均可確保有一項傳送郵件的工作正在執行。這可能涉及到啟動新的工作程序、新增執行緒或只指明工作已在執行中。但是,單一服務工作可能不足以確保及時遞送所有的郵件。(如需有關工作控制器概念和配置的詳細資訊,請參閱工作控制器檔案通道執行工作的處理儲存區工作控制器

對於任何給定的安裝都會啟動合理的最大數量的程序與執行緒以遞送郵件。此最大數量取決於幾個因素,例如處理器的數量、磁碟的速度和連線的特徵。在 MTA 配置中,可以控制以下內容:

為執行給定通道而啟動的程序之最大數目,是對通道設定的 maxjobs 和通道執行時為所在的池設定的 JOB_LIMIT 之最小值。

假定有一封郵件需要處理。通常,工作控制器會啟動新的程序詳情如下:

尤其對於 SMTP 通道,新的執行緒或程序會在不同主機的郵件形成佇列時啟動。因此,對於 SMTP 通道,工作控制器會啟動新的程序,詳情如下。假定有一封郵件需要處理:

請參閱SMTP 通道執行緒

filesperjob 關鍵字可用於使 MTA 建立其他服務工作。此關鍵字接受單一正整數參數,指定在處理佇列項目 (即檔案) 的多個服務工作建立之前,有多少個佇列項目必須傳送至關聯的通道。如果此值小於或等於零,則表示佇列只請求一個服務工作。不指定關鍵字就相當於指定零值。此關鍵字的效果已經最大化;較大的估算數量將是實際建立的服務工作數量。

filesperjob 關鍵字會以實際佇列項目或檔案的數目除以給定值。請注意,給定郵件所產生的佇列項目之數目由多個因素所控制,包括但不僅限於 singlesingle_sys 關鍵字的使用,以及郵件收信人清單中標頭修改動作的規格。

maxjobs 關鍵字對可並行執行的服務工作之總數設定了一個上限。此關鍵字之後必須加整數值;即使服務工作的估算數目大於此值,實際上仍只會建立 maxjobs 數目的工作。如果未指定 maxjobs,則此值預設為 100。通常,maxjobs 的設定值應小於或等於通道使用的任何服務池中可同時執行的工作之總數。