目標可能使用大量資源 (取決於它們處理的訊息數目和大小,以及註冊的用戶數目和期限),因此必須密切管理這些資源,以確保良好的訊息傳送服務效能與可靠性。
您可以設定特性,以避免代理程式有過多的內送訊息,進而避免代理程式記憶體不足。代理程式使用三層記憶體保護,以在資源不足時維持訊息傳送服務作業:目標限制、系統範圍限制和系統記憶體臨界值。理想情況下,如果目標限制和系統範圍限制設定適當,則應絕對不會到達嚴重的系統記憶體臨界值。
您可以設定目標屬性,以管理每個目標的記憶體和訊息流量。例如,您可以指定允許用於目標的產生器最大數目、目標中允許的最大訊息數量 (或大小),以及每個單一訊息的最大大小。
您也可以指定到達這類限制時,代理程式應採取的反應措施:減緩產生器、捨棄最舊的訊息、捨棄最不重要的訊息,或拒絕最新的訊息。
您也可以使用特性,設定套用到代理程式上所有目標的限制:可以指定訊息總數和所有訊息使用的記憶體。如果達到整個系統的任何訊息限制,代理程式就會拒絕新的訊息。
最後,可以使用特性來設定臨界值,當到達臨界值時,代理程式會採取越來越嚴格的動作,以防止記憶體超過負載。此動作取決於記憶體資源的狀態:green (大量記憶體可用)、yellow (代理程式記憶體正在減少)、orange (代理程式記憶體不足),以及 red (代理程式無記憶體可用)。如果代理程式記憶體的狀態從 green 變為 red,代理程式會採取越來越嚴格的動作:
捨棄資料存放區中永久性訊息的內部記憶體副本。
減少產生器產生的非永久性訊息,最終使訊息停止流入代理程式。永久性訊息流量會自動受到代理程式對每個訊息要求的限制。