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

工作控制器

每次郵件在通道中形成佇列時,工作控制器均可確保有一項遞送郵件的工作正在執行。這可能涉及到啟動新的工作程序、新增執行緒或只指明工作已在執行中。如果因為已達到通道或儲存區的工作限制而無法啟動工作,工作控制器將會等待,直到其他工作結束。當不再超出工作限制時,工作控制器將啟動其他工作。

通道工作在工作控制器中的處理儲存區內部執行。可以認為池是通道工作執行的「地方」。儲存區提供一個運算區域,可供一組工作在其中作業,而無需與儲存區外部的工作競爭資源。如需有關池的更多資訊,請參閱工作控制器檔案通道執行工作的處理儲存區

通道的工作限制由 maxjobs 通道關鍵字決定。池的工作限制由池的 JOB_LIMIT 選項決定。

Messaging Server 通常會嘗試立即遞送所有郵件。然而,如果首次嘗試無法將某個郵件傳送出去,則系統會將此郵件延遲一段時間 (該時間由適當的 backoff 關鍵字決定)。一旦已耗用完 backoff 關鍵字中指定的時間後,便可以傳送被延遲的郵件,並且在必要時會啟動通道工作以處理此郵件。

工作控制器的目前正在處理和等待處理的郵件之內部記憶體資料結構,通常反映了儲存在 MTA 佇列區域中磁碟上的全套郵件檔案。但是,如果磁碟上儲存區中的郵件檔案增加到超過工作主控台的內部記憶體資料結構大小限制時,則工作主控台將僅在記憶體中追蹤磁碟上所有郵件檔案的子集。工作控制器僅處理其在記憶體中追蹤的那些郵件。在遞送了足夠數量的郵件從而釋放了足夠的內部記憶體儲存後,工作控制器將透過掃描 MTA 佇列區域來自動更新它的內部記憶體儲存,以更新其郵件清單。此後,工作控制器開始處理它剛從磁碟上擷取的其他郵件檔案。工作控制器將自動掃描 MTA 佇列區域。

如果您的網站經常地遇到大量的郵件積壓,可透過使用 MAX_MESSAGES 選項來調校工作控制器。透過增加 MAX_MESSAGES 選項值以允許工作控制器使用更多的記憶體,您可以儘量避免郵件積壓溢出工作控制器的內部記憶體快取的情況。這會減少工作控制器必須掃描 MTA 佇列目錄時的系統消耗。但是請記住,當工作控制器確實需要重建內部快取記憶體時,處理過程會因快取記憶體的增大而變長。同時請注意,由於每次啟動或重新啟動工作控制器時,工作控制器均必須掃描 MTA 佇列目錄,因此與沒有郵件儲存區相比,有大量郵件儲存區意味著啟動或重新啟動工作控制器需要更多的系統消耗。

如需有關池和配置工作控制器的資訊,請參閱工作控制器檔案配置郵件處理和遞送

啟動和停止工作控制器的步驟

若要啟動工作控制器,請執行指令︰

start-msg job_controller

若要關閉工作控制器,請執行指令︰

stop-msg job_controller

若要重新啟動工作控制器,請執行指令︰

imsimta restart job_controller

重新啟動工作控制器會關閉目前正在執行的工作控制器,然後立即啟動新的工作控制器。