本部分在以下小節中描述有關在伺服器池配置中部署 Instant Messaging 時調校和效能,以及最佳化資源回收的實用資訊:
這些資訊必須和「Sun Java Communications Suite 5 Deployment Planning Guide」一起使用。
在伺服器池部署中,您必須以完全相同的方式,在伺服器池中設定每部 Instant Messaging 伺服器。
請使用 J2SE 版本 5 執行 Instant Messaging 伺服器,因為其效能較佳,並且無需指令行調校 (由於支援人體工學功能)。如需有關使用此版本 Java 的更多資訊,請參閱以下文件:
Instant Messaging 伺服器在 iim.conf 中使用 iim.jvm.maxmemorysize 參數設定所要配置的 JVM 堆疊的大小上限。此參數的預設值是 256 MB,但使用中的大型 Instant Messaging 部署需要更多記憶體。確定為伺服器池中的 Instant Messaging 伺服器配置多少記憶體,視您要支援的同步運作使用中使用者人數而定。伺服器池中的每部 Instant Messaging 伺服器都需要 256 MB 的記憶體,以及 65 KB 的記憶體供每位連線/使用中的使用者日常使用,例如:
兩次線上狀態更新
為時 10 分鐘的五次聊天
為時 15 分鐘的一次多重使用者會議
一次登出和登入
每位使用者的附加負載、使用其他 Instant Messaging 服務 (如新聞或檔案傳送),以及使用郵件篩選器、歸檔、或 SSL 等功能,將消耗更多記憶體。在將 Instant Messaging 部署至生產環境之前,您應該先執行典型使用者活動負載設定檔。有關執行 Instant Messaging 部署負載設定檔的更多資訊,請洽詢 Sun 支援服務。
Instant Messaging 提供一組配置選項,可調校執行緒池 (用於處理用戶端到伺服器以及伺服器到伺服器的請求) 的大小和運作方式。這些執行緒池與相關聯的服務連接埠結合,可提昇 Instant Messaging 伺服器的流量。
選項名稱 |
說明 |
預設值 |
---|---|---|
iim_server.maxthreads |
預設執行緒池的最大執行緒數。 |
20 |
iim_server.threadpool |
獨立執行緒池清單。 |
(使用預設執行緒池的所有項目。) |
iim_server.threadpool.capacity |
預設執行緒池的容量(*)。 |
10 * maxthreads |
iim_server.threadpool.aaa.maxthreads |
已命名執行緒池 aaa 的最大執行緒數: maxthreads(aaa) |
4 |
iim_server.threadpool.aaa.capacity |
已命名執行緒池 aaa 的容量。 |
10 * maxthreads(aaa) |
表 4–4 Sun Java Communications Suite 的已定義執行緒池
名稱 |
使用 |
---|---|
s2s-in |
所有伺服器到伺服器的傳入通訊。如果連接埠允許伺服器到伺服器,則使用此執行緒池。 |
s2s-out |
所有伺服器到伺服器的傳出通訊。如果連接埠允許伺服器到伺服器,則使用此執行緒池。 |
s2s |
所有伺服器到伺服器的通訊;s2s-in 和 s2s-out 的聯合。 |
已定義執行緒池是可以指定的,並可與相關聯的唯伺服器服務連接埠一起使用,如服務連接埠配置中所述。您可以在 iim.conf 中編輯執行緒和連接埠配置。變更執行緒和連接埠配置之後,您需要重新啟動伺服器。
超出執行緒池的容量時,系統會輸出訊息至標準錯誤。請求數低於執行緒池容量之前,Instant Messaging 伺服器都不會接受對執行緒池的其他任何請求。如果伺服器池環境發生這種狀況,您可能需要執行以下作業:
增加執行緒池的容量
指定已定義執行緒池
調整執行緒池的 maxthreads 數量
使用僅伺服器服務連接埠
可能需要增加記憶體
更有效地將使用者分發至伺服器儲存池
!s2s thread pool iim_server.threadpool=s2s-in iim_server.threadpool.s2s-in.maxthreads=5 |
本小節描述服務連接埠配置選項。
選項 |
定義 |
預設值 |
---|---|---|
iim_server.useport |
開啟一般連接埠 (允許 StartTLS)。 |
true |
iim_server.usesslport |
開啟 SSL 連接埠 (不可協商的 TLS) |
false |
iim_server.usemuxport |
開啟多重訊號組合器連接埠 |
true |
iim_server.port |
一般連接埠清單 |
5269 |
iim_server.sslport |
SSL 連接埠清單 |
5270 |
iim_mux.serverport |
多重訊號組合器連接埠清單 |
45222 |
iim_server.port.port .sndbuf |
通訊端 send 緩衝區大小 |
無 |
iim_server.port.port .rcvbuf |
通訊端 recv 緩衝區大小 |
無 |
iim_server.port.port .interface |
要連結的特定網路介面清單 |
無 (表示任何均可) |
iim_server.port.port .protocol |
此連接埠允許清單協定 (用戶端、伺服器、元件、點) |
全部/任何 |
iim_server.port.port .nodelay |
啟用 Nagles 演算法 |
false |
透過調整連接埠的傳送或接收緩衝區大小,可提昇服務連接埠的流量。
iim_server.port = 5269, 45269, 15222 iim_server.port.5269.protocol = server iim_server.port.45269.protocol = peer, component iim_server.port.45269.sndbuf= 512000 iim_server.port.45269.recvbuf= 512000 iim_server.port.15222.protocol = client |
(問題編號:6279277) 由於 JRE 1.4.2 和 1.5 版處理資源回收的方式不同,當您在伺服器的主機上使用 1.4.2 版的預設資源回收時,可能無法達到最佳效能。為修正這個問題,您可以升級到 JRE 1.5 版,或是在呼叫伺服器時包含以下指令行選項:
-XX:+UseParallelGC |
如需有關 JRE 資源回收的更多資訊,請參閱: