Sun Java System Message Queue 3.7 UR1 管理指南

連線

用戶端和代理程式之間的連線數目和速度,會影響訊息服務可處理的訊息數目以及訊息傳送的速度。

代理程式連線限制

所有對代理程式的存取都透過連線進行。對於同步運作之連線數目的任何限制,都會影響目前可同時使用代理程式的訊息產生用戶端或訊息使用用戶端的數目。

與代理程式的連線數目,通常會受到可用執行緒數目的限制。您可以將 Message Queue 配置為支援專用的執行緒模型,或是支援共用的執行緒模型 (請參閱執行緒池管理)。

專用執行緒模型的執行速度非常快,因為每個連線都有專用執行緒;但是,連線數目受到可用執行緒數目的限制 (每個連線都使用一個輸入執行緒和一個輸出執行緒)。共用執行緒模型在連線數目上沒有限制;但是,在連線數目超過共用執行緒時,會產生明顯的經常性耗用時間和流量延遲,特別是在連線忙碌時。

傳輸協定

Message Queue 軟體可讓用戶端使用各種低層級的傳輸協定,與代理程式進行通訊。Message Queue 支援連線服務中描述的連線服務 (以及對應的協定)。

協定是根據應用程式需求 (加密、可透過防火牆存取) 而選擇的,但是所選擇的結果會影響整體效能。

圖 11–2 傳輸協定速度

圖表顯示不同傳輸協定的相對速度。效果以文字描述。

我們的測試比較了 TCP 和 SSL 在兩種狀況下的流量:高可靠性方案 (將 1K 的永久性訊息傳送到包含長期訂閱的主題目標,並且使用 AUTO_ACKNOWLEDGE 確認模式),和高效能方案 (將 1K 的非永久性訊息傳送到不包含長期訂閱的主題目標,並且使用 DUPS_OK_ACKNOWLEDGE 確認模式)。

一般而言,我們發現協定對於可靠性高的方案影響較小。這可能是因為,在可靠性高的方案中,所需要的永久性經常性耗用時間是限制流量的更重要因素,其影響比協定速度的影響更大。另外: