Instant Messaging 线程池和服务端口配置
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 数
使用仅服务器服务端口
可能需要增加内存
在服务器池之间更有效地分布用户
示例 4–1 使用定义的线程池为 Instant Messaging 的服务器到服务器入站通信保留五个线程
!s2s thread pool
iim_server.threadpool=s2s-in
iim_server.threadpool.s2s-in.maxthreads=5